"MarlinReco"  1.16.0
LDCCaloDigi.h
1 #ifndef DIGITIZER_LDCCALODIGI_H
2 #define DIGITIZER_LDCCALODIGI_H 1
3 
4 #include "marlin/Processor.h"
5 #include <IMPL/CalorimeterHitImpl.h>
6 #include "lcio.h"
7 #include <string>
8 #include <vector>
9 
10 using namespace lcio ;
11 using namespace marlin ;
12 
13 const int MAX_LAYERS = 200;
14 const int MAX_STAVES = 16;
15 
68 class LDCCaloDigi : public Processor {
69 
70  public:
71 
72  virtual Processor* newProcessor() { return new LDCCaloDigi ; }
73 
74 
75  LDCCaloDigi() ;
76 
77  virtual void init() ;
78 
79  virtual void processRunHeader( LCRunHeader* run ) ;
80 
81  virtual void processEvent( LCEvent * evt ) ;
82 
83  virtual void check( LCEvent * evt ) ;
84 
85  virtual void end() ;
86 
87  virtual void fillECALGaps() ;
88 
89 
90  protected:
91 
92  int _nRun ;
93  int _nEvt ;
94 
95  std::vector<std::string> _ecalCollections;
96  std::vector<std::string> _hcalCollections;
97 
98  std::string _outputEcalCollection;
99  std::string _outputHcalCollection;
100  std::string _outputRelCollection;
101 
102  float _thresholdEcal;
103  float _thresholdHcal;
104 
105  int _digitalEcal;
106  int _digitalHcal;
107 
108  std::vector<float> _calibrCoeffEcal;
109  std::vector<float> _calibrCoeffHcal;
110 
111  std::vector<int> _ecalLayers;
112  std::vector<int> _hcalLayers;
113 
114  int _ecalGapCorrection;
115  float _ecalGapCorrectionFactor;
116  float _ecalModuleGapCorrectionFactor;
117  float _ecalEndcapCorrectionFactor;
118 
119  std::vector<CalorimeterHitImpl*> _calHitsByStaveLayer[MAX_STAVES][MAX_LAYERS];
120  std::vector<int> _calHitsByStaveLayerModule[MAX_STAVES][MAX_LAYERS];
121 
122  float _zOfEcalEndcap;
123  float _barrelPixelSizeT[MAX_LAYERS];
124  float _barrelPixelSizeZ[MAX_LAYERS];
125  float _endcapPixelSizeX[MAX_LAYERS];
126  float _endcapPixelSizeY[MAX_LAYERS];
127  float _barrelStaveDir[MAX_STAVES][2];
128 
129 } ;
130 
131 #endif
132 
133 
134 
=== LDCCaloDigi Processor === Simple calorimeter digitizer Processor.
Definition: LDCCaloDigi.h:68