00001 #ifndef FillHistBase_h__ 00002 #define FillHistBase_h__ 1 00003 00004 #include "TGlobalData.h" 00005 #include "TSetupData.h" 00006 #include "TDirectory.h" 00007 namespace modules{ 00008 class options; 00009 } 00010 00011 #include <iostream> 00012 00017 class FillHistBase 00018 { 00019 public: 00028 FillHistBase(const char* module_name, modules::options* opts=NULL, TSetupData* setup=NULL); 00029 virtual ~FillHistBase(); 00030 00034 int ProcessGenericEntry(TGlobalData *gData, TSetupData *gSetup); 00035 00039 virtual int BeforeFirstEntry(TGlobalData* gData, TSetupData *setup){return 0;}; 00040 00044 virtual int AfterLastEntry(TGlobalData* gData, TSetupData *setup){return 0;}; 00045 00048 void SetAlias(const std::string& alias){fAlias=alias;}; 00049 00052 std::string GetAlias()const{return fAlias;}; 00053 00055 const char* GetName()const{return dir->GetName();}; 00056 00057 protected: 00060 bool Debug()const{return fDebug;}; 00061 00062 private: 00070 virtual int ProcessEntry(TGlobalData *gData, TSetupData *gSetup); 00071 00072 protected: 00073 TDirectory *dir; 00074 TSetupData* fSetup; 00075 00076 private: 00077 bool fDebug; 00078 std::string fAlias; 00079 }; 00080 00081 #endif