MarlinTPC  1.2.0
TimePixClusterFinderProcessor.h
1 #ifndef TimePixClusterFinderProcessor_h
2 #define TimePixClusterFinderProcessor_h 1
3 
4 // C++
5 #include <string>
6 #include <vector>
7 
8 // LCIO
9 #include "lcio.h"
10 #include <EVENT/TrackerData.h>
11 
12 // Marlin
13 #include "marlin/Processor.h"
14 
15 //Root
16 #include "TROOT.h"
17 #include "THStack.h"
18 
19 namespace AIDA
20 {
21 class IHistogram1D;
22 }
23 
24 
25 namespace marlintpc
26 {
27 
28 /* the following comment is tranfered to doxygen documentation
29  * which begins with a second asterix, or in case of on line comment an extra third slash
30  */
49 class TimePixClusterFinderProcessor : public marlin::Processor
50 {
51 
52  public:
53 
54  /* This method will be called by the marlin package
55  * It returns a processor of the currend type (here TimePixClusterFinderProcessor)
56  */
57  virtual Processor* newProcessor()
58  {
60  }
61 
62  /* the default constructor
63  * here the processor parameters are registered to the marlin package
64  * other initialisation should be placed in the init method
65  */
67 
68  /* Called at the beginning of the job before anything is read.
69  * Use to initialize the processor, e.g. book histograms
70  */
71  virtual void init() ;
72 
73  /* Called for every run.
74  * in this processor it is not used
75  */
76  virtual void processRunHeader(lcio::LCRunHeader* run) ;
77 
78  /* Called for every event - the working horse.
79  * Here the real conversion take place
80  */
81  virtual void processEvent(lcio::LCEvent * evt) ;
82 
83  /* This method is only called if the check flag is set (default) in the main processor
84  * (where the input files are given)
85  * It should be used to create check plots which are not needed in a complete analysis
86  * (where normaly the check flag is deactivated)
87  */
88  virtual void check(lcio::LCEvent * evt) ;
89 
90 
91  /* Called after data processing for clean up.
92  * e.g. saving control histogramms, delete created objects
93  * (which are not stored in a collection/event), etc.
94  */
95  virtual void end() ;
96 
97 
98  protected:
99 
100  /* normally the doxygen documentation is palced before the method/variable
101  * but for one line comments in case of variables it may be more convenied for you
102  * to place it after the variable. In this case you use an arrow to tell doxygen
103  * to which variable the commet belongs to.
104  */
105 
106  std::string _inputColName ;
107  std::string _outputColName ;
108  std::string _outputColNameData ;
109  int _nColumn;
110  int _nRow;
112 
117 
123 
124  int _nRun ;
125  int _nEvt ;
126 
127  private:
128 
129 // std::vector<TrackerData*> DataVec;
130  AIDA::IHistogram1D * histoncl;
131 // THStack** hs;
132 
133 } ;
134 
135 }
136 
137 #endif
138 
139 
140 
int _nRow
Definition: TimePixClusterFinderProcessor.h:110
std::string _outputColName
Definition: TimePixClusterFinderProcessor.h:107
bool isFirstCollection
is true till the first output collection is wirten to an event used to to store parameters only in th...
Definition: TimePixClusterFinderProcessor.h:122
int _nRun
Definition: TimePixClusterFinderProcessor.h:124
std::string _inputColName
Definition: TimePixClusterFinderProcessor.h:106
std::string _outputColNameData
Definition: TimePixClusterFinderProcessor.h:108
int _minNoPixel
Definition: TimePixClusterFinderProcessor.h:111
int _nEvt
Definition: TimePixClusterFinderProcessor.h:125
int _nColumn
Definition: TimePixClusterFinderProcessor.h:109
int _outputIsTransient
give the status which is set to the transient flag of the output collection it is an int instead of a...
Definition: TimePixClusterFinderProcessor.h:116
Clusterfinding Processor of the MarlinTPC package .
Definition: TimePixClusterFinderProcessor.h:49