"MarlinReco"  1.32.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  LDCCaloDigi(const LDCCaloDigi&) = delete;
73  LDCCaloDigi& operator=(const LDCCaloDigi&) = delete;
74 
75  virtual Processor* newProcessor() { return new LDCCaloDigi ; }
76 
77 
78  LDCCaloDigi() ;
79 
80  virtual void init() ;
81 
82  virtual void processRunHeader( LCRunHeader* run ) ;
83 
84  virtual void processEvent( LCEvent * evt ) ;
85 
86  virtual void check( LCEvent * evt ) ;
87 
88  virtual void end() ;
89 
90  virtual void fillECALGaps() ;
91 
92 
93  protected:
94 
95  int _nRun{};
96  int _nEvt{};
97 
98  std::vector<std::string> _ecalCollections{};
99  std::vector<std::string> _hcalCollections{};
100 
101  std::string _outputEcalCollection{};
102  std::string _outputHcalCollection{};
103  std::string _outputRelCollection{};
104 
105  float _thresholdEcal{};
106  float _thresholdHcal{};
107 
108  int _digitalEcal{};
109  int _digitalHcal{};
110 
111  std::vector<float> _calibrCoeffEcal{};
112  std::vector<float> _calibrCoeffHcal{};
113 
114  std::vector<int> _ecalLayers{};
115  std::vector<int> _hcalLayers{};
116 
117  int _ecalGapCorrection{};
118  float _ecalGapCorrectionFactor{};
119  float _ecalModuleGapCorrectionFactor{};
120  float _ecalEndcapCorrectionFactor{};
121 
122  std::vector<CalorimeterHitImpl*> _calHitsByStaveLayer[MAX_STAVES][MAX_LAYERS];
123  std::vector<int> _calHitsByStaveLayerModule[MAX_STAVES][MAX_LAYERS];
124 
125  float _zOfEcalEndcap{};
126  float _barrelPixelSizeT[MAX_LAYERS]{};
127  float _barrelPixelSizeZ[MAX_LAYERS]{};
128  float _endcapPixelSizeX[MAX_LAYERS]{};
129  float _endcapPixelSizeY[MAX_LAYERS]{};
130  float _barrelStaveDir[MAX_STAVES][2]{};
131 
132 } ;
133 
134 #endif
=== LDCCaloDigi Processor === Simple calorimeter digitizer Processor.
Definition: LDCCaloDigi.h:68