Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

AlgHandle.cxx

Go to the documentation of this file.
00001 
00002 // $Id: AlgHandle.cxx,v 1.16 2003/12/07 06:13:36 gmieg Exp $
00003 //
00004 // AlgHandle.cxx
00005 //
00006 // AlgHandle is the user access channel for AlgBase derived objects.
00007 //
00008 // Author:  G. Irwin 2/2000
00010 
00011 #include <cassert>
00012 
00013 #include "Algorithm/AlgBase.h"
00014 #include "Algorithm/AlgHandle.h"
00015 
00016 ClassImp(AlgHandle)
00017 
00018 //______________________________________________________________________
00019 AlgHandle::AlgHandle() :
00020   fAlgBase(0)
00021 , fAlgConfigRef(0)
00022 {
00023 }
00024 
00025 //______________________________________________________________________
00026 AlgHandle::AlgHandle(AlgBase *ab, TRef &acr) :
00027   fAlgBase(ab)
00028 , fAlgConfigRef(acr)
00029 {
00030 }
00031 
00032 //______________________________________________________________________
00033 AlgHandle::AlgHandle(const AlgHandle &ah) :
00034   TNamed(ah)
00035 , fAlgBase(ah.fAlgBase)
00036 , fAlgConfigRef(ah.fAlgConfigRef)
00037 {
00038 }
00039 
00040 //______________________________________________________________________
00041 AlgHandle::~AlgHandle()
00042 {
00043 }
00044 
00045 //______________________________________________________________________
00046 AlgConfig &AlgHandle::GetAlgConfig()
00047 {
00048    return (AlgConfig &) *fAlgConfigRef.GetObject();
00049 }
00050 
00051 //______________________________________________________________________
00052 TRef &AlgHandle::GetAlgConfigRef() const
00053 {
00054    return (TRef &) fAlgConfigRef;
00055 }
00056 
00057 //______________________________________________________________________
00058 const char *AlgHandle::GetName() const
00059 {
00060 
00061 // Returns ClassName() if there is no assigned TNamed name.
00062  return strlen(TNamed::GetName()) > 0 ? TNamed::GetName() : ClassName();
00063 }
00064 
00065 //______________________________________________________________________
00066 void AlgHandle::RunAlg(CandHandle &ch, CandContext &cx)
00067 {
00068    fAlgBase->RunAlg((AlgConfig &) *fAlgConfigRef.GetObject(), ch, cx);
00069 }

Generated on Mon Feb 15 11:06:19 2010 for loon by  doxygen 1.3.9.1