00001 #ifndef ConditionsProcessor_h 00002 #define ConditionsProcessor_h 1 00003 00004 #ifdef USE_LCCD 00005 00006 #include "lccd/IConditionsChangeListener.hh" 00007 00008 #include "marlin/Processor.h" 00009 #include "lcio.h" 00010 #include <string> 00011 00012 00013 00014 using namespace lcio ; 00015 00016 namespace marlin{ 00017 00018 00019 00046 class ConditionsProcessor : public Processor { 00047 00048 public: 00049 00050 virtual Processor* newProcessor() { return new ConditionsProcessor ; } 00051 00052 00053 ConditionsProcessor() ; 00054 00055 00059 static bool registerChangeListener( lccd::IConditionsChangeListener* cl, const std::string& name) ; 00060 00061 00064 virtual void init() ; 00065 00066 // /** Called for every run. 00067 // */ 00068 // virtual void processRunHeader( LCRunHeader* run ) ; 00069 00072 virtual void processEvent( LCEvent * evt ) ; 00073 00074 00075 // virtual void check( LCEvent * evt ) ; 00076 // /** Called after data processing for clean up. 00077 // */ 00078 virtual void end() ; 00079 00080 00081 protected: 00082 00084 std::string _dbInit ; 00085 00087 StringVec _simpleHandlerInit ; 00088 00090 StringVec _dbcondHandlerInit ; 00091 00093 StringVec _dbfileHandlerInit ; 00094 00096 StringVec _datafileHandlerInit ; 00097 00099 StringVec _condHandlerNames ; 00100 00101 int _nRun ; 00102 int _nEvt ; 00103 00104 } ; 00105 00106 } // end namespace 00107 00108 #endif 00109 00110 #endif // #ifdef USE_LCCD 00111 00112