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