MarlinTPC  1.2.0
IonBackDriftProcessor.h
1 #ifndef IonBackDriftProcessor_h
2 #define IonBackDriftProcessor_h 1
3 
4 #include <cstdlib>
5 
6 //MARLIN
7 #include "marlin/Processor.h"
8 
9 //LCIO
10 #include "lcio.h"
11 
12 //MARLINTPC
13 #include "VoxelTPC.h"
14 
15 namespace marlintpc{
16 
17 /* The following comment is tranfered to doxygen documentation
18  * which begins with a second asterix, or in case of on line comment an extra third slash
19  */
20 
48 class IonBackDriftProcessor : public marlin::Processor {
49 
50  public:
51 
52  virtual Processor* newProcessor() { return new IonBackDriftProcessor;}
53 
55  virtual ~IonBackDriftProcessor(){}
56 
60  virtual void init() ;
61 
64  virtual void processRunHeader(lcio::LCRunHeader* run ) ;
65 
68  virtual void processEvent(lcio::LCEvent * evt ) ;
69 
70 
71  void LoadGEMSettings();
72 
73 
74 
75 protected:
76 
77  // in-/output collection names
78  std::string _inputCollectionName;
79  std::string _outputCollectionName;
80 
81  //steering parameters
82  std::string _paramFile;
83  int _transient;
85 
86  //VoxelTPC for built up of ion disc
87  marlintpc::VoxelTPC* _ionDisc;
88 
89  //gear pad layout
90  gear::PadRowLayout2D const* _padLayout;
91 
92  double _zBinLength;
93 
94  int _nRun ;
95  int _nEvt ;
96 
97  //Ionbackdrift parameter.
98  double _ionBackDrift;
99 
100  double _E,_ETrans1,_ETrans2,_EInd;
101 
102  double _UGEM1,_UGEM2,_UGEM3;
103 };
104 
105 } //end of namespace marlintpc
106 
107 #endif
virtual void init()
Called at the begin of the job before anything is read.
Definition: IonBackDriftProcessor.cc:112
double _zBinLength
Length of the bins in z direction.
Definition: IonBackDriftProcessor.h:92
double _EInd
Drift field, 1st, 2nd and 3th transfer field.
Definition: IonBackDriftProcessor.h:100
The VoxelTPC is a helper class containing a std::map of all TPCVoxels which contain charge...
Definition: VoxelTPC.h:42
double _UGEM3
GEM voltages.
Definition: IonBackDriftProcessor.h:102
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: IonBackDriftProcessor.cc:149
std::string _paramFile
Name of the file with parametrisation of the GEM-stack.
Definition: IonBackDriftProcessor.h:82
This processor takes the charges on the pads an calculates the amount of backdrifting ions which appe...
Definition: IonBackDriftProcessor.h:48
int _outputType
Output type: event based or total.
Definition: IonBackDriftProcessor.h:84
virtual void processRunHeader(lcio::LCRunHeader *run)
Called for every run.
Definition: IonBackDriftProcessor.cc:135