HerdSoftware  0.4.0
ScdCapacitiveNetAlgo.h
Go to the documentation of this file.
1 /*
2  * ScdCapacitiveNetAlgo.h
3  *
4  * Created on: 28 Sep 2020
5  * Author: Alberto Oliva
6  */
7 
8 #ifndef HERD_SCDCAPACITIVENETALGO_H_
9 #define HERD_SCDCAPACITIVENETALGO_H_
10 
11 // HerdSoftware headers
15 
16 // EventAnalysis headers
17 #include "algorithm/Algorithm.h"
18 
19 namespace Herd {
20 
21 // clang-format off
76 // clang-format on
77 class ScdCapacitiveNetAlgo : public EA::Algorithm {
78 public:
83  ScdCapacitiveNetAlgo(const std::string &name);
84 
89  bool Initialize() override;
90 
95  bool Process() override;
96 
105  std::vector<std::string> FreeObjects(const std::vector<std::string> &objs, EA::Memory::Status memStatus) override;
106 
107 private:
108  // Parameters
111 
112  // Config file parameters
113  std::string m_configFile;
115  std::vector<std::vector<float>>
117 
119  std::shared_ptr<ScdChannelGeoInfoColl> m_readoutChannelGeoInfoColl;
120  EA::observer_ptr<ScdGeoParamsColl> m_origGeoParamsColl;
121  EA::StorePtr m_evStore, m_globStore;
122 
123  // Helper functions
124 
130  bool ReadConfigFile(std::string configFile);
131 
140  bool GenerateHits(const ScdHitsColl &implantHitsColl, ScdHitsColl &readoutHitsColl);
141 };
142 
143 } // namespace Herd
144 
145 #endif /* HERD_SCDCAPACITIVENETALGO_H_ */
Herd::ScdCapacitiveNetAlgo::m_evStore
EA::StorePtr m_evStore
Definition: ScdCapacitiveNetAlgo.h:121
Herd::ScdCapacitiveNetAlgo::GenerateHits
bool GenerateHits(const ScdHitsColl &implantHitsColl, ScdHitsColl &readoutHitsColl)
Generate the diffused hits.
Definition: ScdCapacitiveNetAlgo.cpp:183
Herd::ScdCapacitiveNetAlgo::m_readoutHitsColl
ScdHitsColl m_readoutHitsColl
Definition: ScdCapacitiveNetAlgo.h:118
Herd::ScdCapacitiveNetAlgo::m_nFloating
int m_nFloating
Number of floating strips not read beween two readout strips.
Definition: ScdCapacitiveNetAlgo.h:109
Herd::ScdCapacitiveNetAlgo
Base algorithm for digitizers of the Monte Carlo hits of the Silicon Charge Detector implementing the...
Definition: ScdCapacitiveNetAlgo.h:77
Herd::ScdCapacitiveNetAlgo::m_origGeoParamsColl
EA::observer_ptr< ScdGeoParamsColl > m_origGeoParamsColl
Definition: ScdCapacitiveNetAlgo.h:120
Herd::ScdCapacitiveNetAlgo::Process
bool Process() override
Process a single event.
Definition: ScdCapacitiveNetAlgo.cpp:88
Herd::ScdCapacitiveNetAlgo::m_configStart
int m_configStart
Start readout strip with respect to closest to the left.
Definition: ScdCapacitiveNetAlgo.h:114
ScdChannelGeoInfoColl.h
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Herd::ScdCapacitiveNetAlgo::ReadConfigFile
bool ReadConfigFile(std::string configFile)
Read the capacitive net factors from a configuration file.
Definition: ScdCapacitiveNetAlgo.cpp:131
Herd::ScdCapacitiveNetAlgo::m_startReadout
int m_startReadout
Index of the first implanted strip that is read.
Definition: ScdCapacitiveNetAlgo.h:110
Herd::ScdCapacitiveNetAlgo::m_configFile
std::string m_configFile
Name of the file name where to read the capacitive net.
Definition: ScdCapacitiveNetAlgo.h:113
Herd::ScdCapacitiveNetAlgo::m_configFraction
std::vector< std::vector< float > > m_configFraction
Fraction of readout signal to be put on each readout strip for each implant strip.
Definition: ScdCapacitiveNetAlgo.h:116
Herd::ScdCapacitiveNetAlgo::ScdCapacitiveNetAlgo
ScdCapacitiveNetAlgo(const std::string &name)
Constructor.
Definition: ScdCapacitiveNetAlgo.cpp:21
ScdGeoParamsColl.h
Herd::ScdCapacitiveNetAlgo::m_readoutChannelGeoInfoColl
std::shared_ptr< ScdChannelGeoInfoColl > m_readoutChannelGeoInfoColl
Definition: ScdCapacitiveNetAlgo.h:119
ScdHitsColl.h
Herd::ScdCapacitiveNetAlgo::Initialize
bool Initialize() override
Initialization of the algorithm.
Definition: ScdCapacitiveNetAlgo.cpp:31
Herd::ScdCapacitiveNetAlgo::m_globStore
EA::StorePtr m_globStore
Definition: ScdCapacitiveNetAlgo.h:121
Herd::ScdCapacitiveNetAlgo::FreeObjects
std::vector< std::string > FreeObjects(const std::vector< std::string > &objs, EA::Memory::Status memStatus) override
Free the memory of unneeded objects.
Definition: ScdCapacitiveNetAlgo.cpp:117
Herd::SidesArray< ScdHits >