00001 00002 // $Id: AlgHandle.h,v 1.8 2003/05/13 05:06:21 gmieg Exp $ 00003 // 00004 // AlgHandle.h 00005 // 00006 // AlgHandle is the user access channel for AlgBase derived objects. 00007 // 00008 // Author: G. Irwin 2/2000 00010 00011 #ifndef ALGHANDLE_H 00012 #define ALGHANDLE_H 00013 00014 #include "TNamed.h" 00015 #include "TRef.h" 00016 00017 class AlgBase; 00018 class AlgConfig; 00019 class CandHandle; 00020 class CandContext; 00021 00022 class AlgHandle : public TNamed 00023 { 00024 00025 public: 00026 AlgHandle(); 00027 AlgHandle(AlgBase *ab, TRef &acr); 00028 AlgHandle(const AlgHandle &ah); 00029 virtual ~AlgHandle(); 00030 AlgBase &GetAlgBase() {return *fAlgBase;} 00031 AlgConfig &GetAlgConfig(); 00032 TRef &GetAlgConfigRef() const; 00033 virtual const char *GetName() const; 00034 void RunAlg(CandHandle &ch, CandContext &cx); 00035 00036 private: 00037 AlgBase *fAlgBase; 00038 TRef fAlgConfigRef; // TRef to AlgConfig owned by factory loan pool 00039 00040 ClassDef(AlgHandle,2) // User Access channel for AlgBase objects 00041 00042 }; 00043 00044 #endif // ALGHANDLE_H
1.3.9.1