HerdSoftware  0.1.1
SiliconDetectorCapacitiveNetAlgo.h
Go to the documentation of this file.
1 /*
2  * SiliconDetectorCapacitiveNetAlgo.h
3  *
4  * Created on: 28 Sep 2020
5  * Author: Alberto Oliva
6  */
7 
8 #ifndef HERD_SILICONDETECTORCAPACITIVENETALGO_H_
9 #define HERD_SILICONDETECTORCAPACITIVENETALGO_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
44 // clang-format on
45 class SiliconDetectorCapacitiveNetAlgo : public Algorithm {
46 public:
51  SiliconDetectorCapacitiveNetAlgo(const std::string &name);
52 
57  bool Initialize() override;
58 
63  bool Process() override;
64 
73  std::vector<std::string> FreeObjects(const std::vector<std::string> &objs, Memory::Status memStatus) override;
74 
75 protected:
76  // Parameters
77  int _nFloating;
79 
80  // Config file parameters
81  std::string _configFile;
83  std::vector<std::vector<float>>
85 
86  std::string _detName;
87 
88 private:
90  std::shared_ptr<SiliconDetectorChannelGeoInfoColl> _readoutChannelGeoInfoColl;
91  observer_ptr<SiliconDetectorGeoParamsColl> _origGeoParamsColl;
92  StorePtr _evStore, _globStore;
93 
94  // Helper functions
95 
101  bool ReadConfigFile(std::string configFile);
102 
113  bool GenerateHits(const SiliconDetectorHitsColl &implantHitsColl, SiliconDetectorHitsColl &readoutHitsColl);
114 };
115 
116 } // namespace Herd
117 
118 #endif /* HERD_SILICONDETECTORCAPACITIVENETALGO_H_ */
std::string _detName
Name of the detector, e.g "stk".
Definition: SiliconDetectorCapacitiveNetAlgo.h:86
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
std::vector< std::vector< float > > _configFraction
Fraction of readout signal to be put on each readout strip for each implant strip.
Definition: SiliconDetectorCapacitiveNetAlgo.h:84
StorePtr _globStore
Definition: SiliconDetectorCapacitiveNetAlgo.h:92
std::string _configFile
Name of the file name where to read the capacitive net.
Definition: SiliconDetectorCapacitiveNetAlgo.h:81
int _nFloating
Number of floating strips not read beween two readout strips.
Definition: SiliconDetectorCapacitiveNetAlgo.h:77
int _startReadout
Index of the first implanted strip that is read.
Definition: SiliconDetectorCapacitiveNetAlgo.h:78
std::shared_ptr< SiliconDetectorChannelGeoInfoColl > _readoutChannelGeoInfoColl
Definition: SiliconDetectorCapacitiveNetAlgo.h:90
SiliconDetectorHitsColl _readoutHitsColl
Definition: SiliconDetectorCapacitiveNetAlgo.h:89
Base algorithm for digitizers of the Monte Carlo hits of silicon detector implementing the effect of ...
Definition: SiliconDetectorCapacitiveNetAlgo.h:45
int _configStart
Start readout strip with respect to closest to the left.
Definition: SiliconDetectorCapacitiveNetAlgo.h:82
observer_ptr< SiliconDetectorGeoParamsColl > _origGeoParamsColl
Definition: SiliconDetectorCapacitiveNetAlgo.h:91