Marlin  01.17.01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConditionsProcessor.h
Go to the documentation of this file.
1 #ifndef ConditionsProcessor_h
2 #define ConditionsProcessor_h 1
3 
4 #include "marlin/MarlinConfig.h" // defines MARLIN_LCCD
5 
6 #ifdef MARLIN_LCCD
7 
8 //#include "lccd/IConditionsChangeListener.hh"
9 
10 #include "marlin/Processor.h"
11 #include "lcio.h"
12 #include <string>
13 
14 namespace lccd{
15  class IConditionsChangeListener;
16 }
17 
18 using namespace lcio ;
19 
20 namespace marlin{
21 
22 
23 
50 class ConditionsProcessor : public Processor {
51 
52  public:
53 
54  virtual Processor* newProcessor() { return new ConditionsProcessor ; }
55 
56 
57  ConditionsProcessor() ;
58 
59 
63  static bool registerChangeListener( lccd::IConditionsChangeListener* cl, const std::string& name) ;
64 
65 
68  virtual void init() ;
69 
70 // /** Called for every run.
71 // */
72 // virtual void processRunHeader( LCRunHeader* run ) ;
73 
76  virtual void processEvent( LCEvent * evt ) ;
77 
78 
79 // virtual void check( LCEvent * evt ) ;
80 // /** Called after data processing for clean up.
81 // */
82  virtual void end() ;
83 
84 
85  protected:
86 
88  std::string _dbInit="";
89 
91  StringVec _simpleHandlerInit{};
92 
94  StringVec _dbcondHandlerInit{};
95 
97  StringVec _dbfileHandlerInit{};
98 
100  StringVec _datafileHandlerInit{};
101 
103  StringVec _condHandlerNames{};
104 
105  int _nRun=-1;
106  int _nEvt=-1;
107 
108 } ;
109 
110 } // end namespace
111 
112 #endif // #ifdef MARLIN_LCCD
113 
114 #endif // ConditionsProcessor_h
115 
T end(T...args)
STL class.