MarlinTPC  1.2.0
AidaPerEventCommitterProcessor.h
1 #ifndef AidaPerEventCommitterProcessor_h
2 #define AidaPerEventCommitterProcessor_h 1
3 
4 // C++
5 #include <string>
6 
7 // LCIO
8 #include "lcio.h"
9 
10 // Marlin
11 #include "marlin/Processor.h"
12 
13 namespace AIDA{
14  class IAnalysisFactory ;
15  class ITreeFactory ;
16  class ITree ;
17  class IHistogramFactory ;
18  class ITupleFactory ;
19  class IDataPointSetFactory ;
20 }
21 
22 namespace marlintpc{
23 
24  /* the following comment is tranfered to doxygen documentation
25  * which begins with a second asterix, or in case of on line comment an extra third slash
26  */
38  class AidaPerEventCommitterProcessor : public marlin::Processor {
39 
40  public:
41 
42  /* This method will be called by the marlin package
43  * It returns a processor of the currend type (here AidaPerEventCommitterProcessor)
44  */
45  virtual Processor* newProcessor() { return new AidaPerEventCommitterProcessor ; }
46 
47  /* the default constructor
48  * here the processor parameters are registered to the marlin package
49  * other initialisation should be placed in the init method
50  */
52 
53  /* Called at the beginning of the job before anything is read.
54  * Use to initialize the processor, e.g. book histograms
55  */
56  virtual void init() ;
57 
58  /* Called for every run.
59  * in this processor it is not used
60  */
61  virtual void processRunHeader( lcio::LCRunHeader* run ) ;
62 
63  /* Called for every event - the working horse.
64  * Here the real conversion take place
65  */
66  virtual void processEvent( lcio::LCEvent * evt ) ;
67 
68  /* This method is only called if the check flag is set (default) in the main processor
69  * (where the input files are given)
70  * It should be used to create check plots which are not needed in a complete analysis
71  * (where normaly the check flag is deactivated)
72  */
73  virtual void check( lcio::LCEvent * evt ) ;
74 
75 
76  /* Called after data processing for clean up.
77  * e.g. saving control histogramms, delete created objects
78  * (which are not stored in a collection/event), etc.
79  */
80  virtual void end() ;
81 
82 
83  protected:
84 
85  /* normally the doxygen documentation is palced before the method/variable
86  * but for one line comments in case of variables it may be more convenied for you
87  * to place it after the variable. In this case you use an arrow to tell doxygen
88  * to which variable the commet belongs to.
89  */
90 
91 
92  } ;
93 
94 }
95 
96 #endif
97 
98 
99 
Aidahistogramm committer processor.
Definition: AidaPerEventCommitterProcessor.h:38