00001 #ifndef IConditionsHandler_h 00002 #define IConditionsHandler_h 00003 00004 // 00005 #include "lccd.h" 00006 #include "IConditionsChangeListener.hh" 00007 00008 00009 // -- lcio headers 00010 #include "lcio.h" 00011 #include "EVENT/LCEvent.h" 00012 #include "EVENT/LCCollection.h" 00013 00014 00015 namespace lccd { 00016 00026 class IConditionsHandler { 00027 00028 public: 00029 00030 virtual ~IConditionsHandler() {} ; 00031 00032 00037 virtual void updateEvent( lcio::LCEvent* evt ) = 0; 00038 00043 virtual void update( LCCDTimeStamp timestamp ) = 0; 00044 00047 virtual lcio::LCCollection* currentCollection() = 0; 00048 00049 00053 virtual void registerChangeListener( IConditionsChangeListener* cl) = 0; 00054 00055 00058 virtual void removeChangeListener( IConditionsChangeListener* cl) = 0; 00059 00060 00066 virtual const std::string name() = 0; 00067 00070 virtual LCCDTimeStamp validSince() =0 ; 00071 00074 virtual LCCDTimeStamp validTill() =0; 00075 00076 }; 00077 00078 } ; //end namespace 00079 00080 #endif // IConditionsHandler_h