MarlinTPC  1.2.0
TimePixMultiChipBoardDividerProcessor.h
1 #ifndef TimePixMultiChipBoardDividerProcessor_h
2 #define TimePixMultiChipBoardDividerProcessor_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 {
15 class IHistogram2D;
16 }
17 
18 namespace marlintpc
19 {
20 
21 /* the following comment is tranfered to doxygen documentation
22  * which begins with a second asterix, or in case of on line comment an extra third slash
23  */
44 class TimePixMultiChipBoardDividerProcessor : public marlin::Processor
45 {
46 
47  public:
48 
49  /* This method will be called by the marlin package
50  * It returns a processor of the currend type (here TimePixMultiChipBoardDividerProcessor)
51  */
52  virtual Processor* newProcessor()
53  {
55  }
56 
57  /* the default constructor
58  * here the processor parameters are registered to the marlin package
59  * other initialisation should be placed in the init method
60  */
62 
63  /* Called at the beginning of the job before anything is read.
64  * Use to initialize the processor, e.g. book histograms
65  */
66  virtual void init() ;
67 
68  /* Called for every run.
69  * in this processor it is not used
70  */
71  virtual void processRunHeader(lcio::LCRunHeader* run) ;
72 
73  /* Called for every event - the working horse.
74  * Here the real conversion take place
75  */
76  virtual void processEvent(lcio::LCEvent * evt) ;
77 
78  /* This method is only called if the check flag is set (default) in the main processor
79  * (where the input files are given)
80  * It should be used to create check plots which are not needed in a complete analysis
81  * (where normaly the check flag is deactivated)
82  */
83  virtual void check(lcio::LCEvent * evt) ;
84 
85 
86  /* Called after data processing for clean up.
87  * e.g. saving control histogramms, delete created objects
88  * (which are not stored in a collection/event), etc.
89  */
90  virtual void end() ;
91 
92 
93  protected:
94 
95  /* normally the doxygen documentation is palced before the method/variable
96  * but for one line comments in case of variables it may be more convenied for you
97  * to place it after the variable. In this case you use an arrow to tell doxygen
98  * to which variable the commet belongs to.
99  */
100 
101  std::string _inputColName ;
102  std::string _outputColName ;
107 
112 
117  //bool isFirstCollection;
118 
119  //int _nRun ; ///<- counts the processed runs
120 
121 
122  private:
123  AIDA::IHistogram2D* histoCluster;
124  AIDA::IHistogram2D* histoClusterRaw;
125 
126 } ;
127 
128 }
129 
130 #endif
131 
132 
133 
std::string _inputColName
Definition: TimePixMultiChipBoardDividerProcessor.h:101
int _chipsPerBoardY
-Number of chips in a column
Definition: TimePixMultiChipBoardDividerProcessor.h:105
int _pixelsPerChipX
-Number of columns of the chip
Definition: TimePixMultiChipBoardDividerProcessor.h:103
int _chipsPerBoardX
-Number of chips in a row
Definition: TimePixMultiChipBoardDividerProcessor.h:106
int _pixelsPerChipY
-Number of rows of the chip
Definition: TimePixMultiChipBoardDividerProcessor.h:104
std::string _outputColName
Definition: TimePixMultiChipBoardDividerProcessor.h:102
TimePixMultiChipBoardDividerProcessor of the MarlinTPC package .
Definition: TimePixMultiChipBoardDividerProcessor.h:44
int _outputIsTransient
give the status which is set to the transient flag of the output collection it is an int instead of a...
Definition: TimePixMultiChipBoardDividerProcessor.h:111