MarlinTPC  1.2.0
ElectronCloudGEMAmplificationProcessor.h
1 #ifndef ELECTRONCLOUDGEMAMPLIFICATIONPROCESSOR_H
2 #define ELECTRONCLOUDGEMAMPLIFICATIONPROCESSOR_H 1
3 
4 // CLHEP
5 #include <CLHEP/Vector/ThreeVector.h>
6 
7 // Marlin
8 #include <marlin/Processor.h>
9 
10 #include <lcio.h>
11 namespace EVENT {
12 
13  class LCRunHeader;
14  class LCEvent;
15 }
16 
17 namespace marlintpc {
18 
23 class ElectronCloudGEMAmplificationProcessor : public marlin::Processor {
24 
25 public:
29 
33 
37  virtual Processor* newProcessor() { return new ElectronCloudGEMAmplificationProcessor() ; }
38 
43  virtual void init();
44 
48  virtual void processRunHeader(lcio::LCRunHeader* run );
49 
53  virtual void processEvent(lcio::LCEvent * evt );
54 
58  virtual void check(lcio::LCEvent * evt );
59 
63  virtual void end();
64 
65 protected:
66 
67 private:
68 
72  std::string _input_collection_name;
73 
77  std::string _output_collection_name;
78 
81  std::string _tpc_conditions_collection_name;
82 
85  std::string _gem_name;
86 
90  double _collection_efficiency;
91 
95  double _extraction_efficiency;
96 
100  double _amplification;
101 
105  double _longitudinal_defocussing;
106 
110  double _transverse_defocussing;
111 
115  double _width;
116 
117 };
118 
119 } // namespace marlintpc
120 
121 #endif // ELECTRONCLOUDGEMAMPLIFICATIONPROCESSOR_H
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: ElectronCloudGEMAmplificationProcessor.cc:141
virtual void check(lcio::LCEvent *evt)
Called after the event has been processed.
Definition: ElectronCloudGEMAmplificationProcessor.cc:290
virtual void init()
Called at the begin of the job before anything is read.
Definition: ElectronCloudGEMAmplificationProcessor.cc:283
virtual void end()
Called after data processing for clean up.
Definition: ElectronCloudGEMAmplificationProcessor.cc:295
~ElectronCloudGEMAmplificationProcessor()
destructor
Definition: ElectronCloudGEMAmplificationProcessor.cc:125
virtual void processRunHeader(lcio::LCRunHeader *run)
Called for every run.
Definition: ElectronCloudGEMAmplificationProcessor.cc:128
virtual Processor * newProcessor()
used by Marlin to create a new processor
Definition: ElectronCloudGEMAmplificationProcessor.h:37
ElectronCloudGEMAmplificationProcessor : This processor takes a cloud of electrons and passes it thro...
Definition: ElectronCloudGEMAmplificationProcessor.h:23
ElectronCloudGEMAmplificationProcessor()
constructor
Definition: ElectronCloudGEMAmplificationProcessor.cc:47