MarlinTPC  1.2.0
MokkaToVoxelProcessor.h
1 #ifndef MokkaToVoxelProcessor_h
2 #define MokkaToVoxelProcessor_h 1
3 
4 //MarlinTPC
5 #include "VoxelTPC.h"
6 
7 //Marlin
8 #include "marlin/Processor.h"
9 
10 //LCIO
11 #include "lcio.h"
12 
13 //C++
14 #include <string>
15 
16 
17 namespace marlintpc{
18 
53  class MokkaToVoxelProcessor : public marlin::Processor {
54 
55  public:
56 
57  virtual Processor* newProcessor() { return new MokkaToVoxelProcessor ; }
58 
62 
66 
70  virtual void init() ;
71 
74  virtual void processRunHeader(lcio::LCRunHeader* run ) ;
75 
78  virtual void processEvent(lcio::LCEvent * evt ) ;
79 
80 
81  virtual void check(lcio::LCEvent * evt ) ;
82 
83 
86  virtual void end() ;
87 
88  protected:
89 
90  std::string _inputCollectionName;
91  std::string _outputCollectionName;
93  std::string _conditionsColName;
94 
95  //VoxelTPC
96  marlintpc::VoxelTPC *_MokkaHitsInVoxelTPC_positive, *_MokkaHitsInVoxelTPC_negative;
97  //GEAR pad layout
98  gear::PadRowLayout2D const* _padLayout;
99 
100 
105  double _diffTrans;
106  double _diffLong;
108  double _vDrift;
110  // double _maxDriftLength;///<Maximum drift length in the TPC.
111  double _zAnode;
112 
113 };
114 
115 }//end of namespace marlintpc
116 
117 #endif
118 
119 
120 
121 
122 
double _zAnode
The z position of the anode (edge of the readout terminating the drift volume)
Definition: MokkaToVoxelProcessor.h:111
double _readoutFrequency
Frequency of the readout electronics.
Definition: MokkaToVoxelProcessor.h:103
std::string _outputCollectionName
Name of output collection.
Definition: MokkaToVoxelProcessor.h:91
double _ionisationEnergy
Ionisation energy of the gas.
Definition: MokkaToVoxelProcessor.h:102
MokkaToVoxelProcessor()
C'tor.
Definition: MokkaToVoxelProcessor.cc:38
virtual ~MokkaToVoxelProcessor()
D'tor.
Definition: MokkaToVoxelProcessor.h:65
std::string _conditionsColName
Name of collection with conditions data.
Definition: MokkaToVoxelProcessor.h:93
The VoxelTPC is a helper class containing a std::map of all TPCVoxels which contain charge...
Definition: VoxelTPC.h:42
double _vDrift
Electron drift velocity, comes from TPCConditions or as processor parameter.
Definition: MokkaToVoxelProcessor.h:108
double _sigmaElectronics
Charge broadening due to electronics shaping, which is assumed to be Gaussian.
Definition: MokkaToVoxelProcessor.h:109
double _diffLong
Longitudinal diffusion coefficient, comes from TPCConditions or as processor parameter.
Definition: MokkaToVoxelProcessor.h:106
double _amplification
Total amplification of primary electrons.
Definition: MokkaToVoxelProcessor.h:104
The MokkaToVoxelProcessor is a fast digitisation processor.
Definition: MokkaToVoxelProcessor.h:53
double _diffTrans
Transversal diffusion coefficient, comes from TPCConditions or as processor parameter.
Definition: MokkaToVoxelProcessor.h:105
virtual void processRunHeader(lcio::LCRunHeader *run)
Called for every run.
Definition: MokkaToVoxelProcessor.cc:166
double _defocusTrans
Transversal defocussing, comes from TPCConditions or as processor parameter.
Definition: MokkaToVoxelProcessor.h:107
virtual void init()
Called at the begin of the job before anything is read.
Definition: MokkaToVoxelProcessor.cc:123
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: MokkaToVoxelProcessor.cc:184
int _transient
If not 0 output collection is set transient.
Definition: MokkaToVoxelProcessor.h:101
std::string _inputCollectionName
Name of input collection.
Definition: MokkaToVoxelProcessor.h:90
virtual void end()
Called after data processing for clean up.
Definition: MokkaToVoxelProcessor.cc:404
std::string _negativeOutputCollectionName
Name of output collection for the negative half TPC.
Definition: MokkaToVoxelProcessor.h:92