HerdSoftware  0.1.1
CaloPDDigitizerAlgo.h
Go to the documentation of this file.
1 /*
2  * CaloPDDigitizerAlgo.h
3  *
4  * Created on: 26 Aug. 2020
5  * Author: Lorenzo Pacini
6  */
7 
8 #ifndef HERD_CALOPDDIGITIZERALGO_H_
9 #define HERD_CALOPDDIGITIZERALGO_H_
10 
11 // HerdSoftware headers
13 #include "dataobjects/CaloHits.h"
16 
17 // EventAnalysis headers
18 #include "algorithm/Algorithm.h"
19 
20 // C++ header
21 #include <random>
22 
23 using namespace EA;
24 
25 namespace Herd {
26 
27 // clang-format off
70 // clang-format on
71 class CaloPDDigitizerAlgo : public Algorithm {
72 public:
77  CaloPDDigitizerAlgo(const std::string &name);
78 
83  bool Initialize() override;
84 
89  bool Process() override;
90 
91 private:
94  observer_ptr<CaloPDChannelInfo> _caloLPDChannelInfo;
95  observer_ptr<CaloPDChannelInfo> _caloSPDChannelInfo;
98 
99  unsigned int _seed;
100  float _MIPtoGeV;
101  std::unique_ptr<std::default_random_engine> _rdmEngine;
102 
103  StorePtr _evStore, _globStore;
104 
105  void DigitizeHit(unsigned int ID, float EDep, bool LPD = true);
106 };
107 
108 } // namespace Herd
109 
110 #endif /* HERD_CALOPDDIGITIZERALGO_H_ */
CaloHits _caloSPDHits
Definition: CaloPDDigitizerAlgo.h:93
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
Algorithm for digitizers of the Monte Carlo hits of Calo based on a preliminary Pd readout...
Definition: CaloPDDigitizerAlgo.h:71
observer_ptr< CaloPDChannelInfo > _caloSPDChannelInfo
Definition: CaloPDDigitizerAlgo.h:95
CaloPDEventChannelInfo _caloLPDEventChannelInfo
Definition: CaloPDDigitizerAlgo.h:96
float _MIPtoGeV
Definition: CaloPDDigitizerAlgo.h:100
CaloHits _caloLPDHits
Definition: CaloPDDigitizerAlgo.h:92
CaloPDEventChannelInfo _caloSPDEventChannelInfo
Definition: CaloPDDigitizerAlgo.h:97
std::unique_ptr< std::default_random_engine > _rdmEngine
Definition: CaloPDDigitizerAlgo.h:101
StorePtr _globStore
Definition: CaloPDDigitizerAlgo.h:103
Data structure for information regarding a channel connected to a Calo photodiode.
Definition: CaloPDEventChannelInfo.h:29
observer_ptr< CaloPDChannelInfo > _caloLPDChannelInfo
Definition: CaloPDDigitizerAlgo.h:94
unsigned int _seed
Definition: CaloPDDigitizerAlgo.h:99
Container for the hits of a single CALO detector.