HerdSoftware  0.1.1
SiliconDetectorGeometricDigitizerAlgo.h
Go to the documentation of this file.
1 /*
2  * SiliconDetectorGeometricDigitizerAlgo.h
3  *
4  * Created on: 15 Nov 2019
5  * Author: Lorenzo Pacini
6  */
7 
8 #ifndef HERD_SILICONDETECTORGEOMETRICDIGITIZERALGO_H_
9 #define HERD_SILICONDETECTORGEOMETRICDIGITIZERALGO_H_
10 
11 // HerdSoftware headers
15 
16 // EventAnalysis headers
17 #include "algorithm/Algorithm.h"
18 
19 using namespace EA;
20 
21 namespace Herd {
22 
23 // clang-format off
35 // clang-format on
36 class SiliconDetectorGeometricDigitizerAlgo : public Algorithm {
37 public:
42  SiliconDetectorGeometricDigitizerAlgo(const std::string &name);
43 
48  bool Initialize() override;
49 
54  bool Process() override;
55 
64  std::vector<std::string> FreeObjects(const std::vector<std::string> &objs, Memory::Status memStatus) override;
65 
66 protected:
67  // Parameters
68  float _pitch;
69  std::string _detName;
70 
71 private:
73  observer_ptr<SiliconDetectorGeoParamsColl> _origSiliconDetectorGeoParamsColl;
74  std::shared_ptr<SiliconDetectorGeoParamsColl> _digSiliconDetectorGeoParamsColl;
75 
76  StorePtr _evStore, _globStore;
77 
78  // Helper functions
79 
90  void _Digitize(const SiliconDetectorParticleHitsColl &particleHitsColl, const SiliconDetectorHitsColl &hitsColl,
91  SiliconDetectorHitsColl &digHitsColl);
92 
103  SiliconDetectorGeoParams _CreateGeoParams(const SiliconDetectorGeoParams &origGeoParams);
104 };
105 
106 } // namespace Herd
107 
108 #endif /* HERD_SILICONDETECTORGEOMETRICDIGITIZERALGO_H_ */
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
SiliconDetectorHitsColl _siliconDetectorDigHitsColl
Definition: SiliconDetectorGeometricDigitizerAlgo.h:72
Base algorithm for digitizers of the Monte Carlo hits of silicon detector based on a purely geometric...
Definition: SiliconDetectorGeometricDigitizerAlgo.h:36
StorePtr _globStore
Definition: SiliconDetectorGeometricDigitizerAlgo.h:76
Data structure for single silicon layer geometry parameters.
Definition: SiliconDetectorGeoParams.h:32
observer_ptr< SiliconDetectorGeoParamsColl > _origSiliconDetectorGeoParamsColl
Definition: SiliconDetectorGeometricDigitizerAlgo.h:73
std::shared_ptr< SiliconDetectorGeoParamsColl > _digSiliconDetectorGeoParamsColl
Definition: SiliconDetectorGeometricDigitizerAlgo.h:74
float _pitch
Definition: SiliconDetectorGeometricDigitizerAlgo.h:68
std::string _detName
Name of the detector, e.g "stk".
Definition: SiliconDetectorGeometricDigitizerAlgo.h:69