Go to the documentation of this file.
9 #ifndef HERD_SCDDRIFTDIFFUSIONALGO_H_
10 #define HERD_SCDDRIFTDIFFUSIONALGO_H_
18 #include "algorithm/Algorithm.h"
79 namespace ScdDigitizationTools {
80 class ScdChargePacket;
111 std::vector<std::string>
FreeObjects(
const std::vector<std::string> &objs, EA::Memory::Status memStatus)
override;
void AccumulateSteps(std::vector< Hit > &layerHits, const ScdGeoParams &geoParams, unsigned int firstStrip, unsigned int lastStrip, const ScdDigitizationTools::ScdChargePacket &packet, float edep)
Definition: ScdDriftDiffusionAlgo.cpp:285
EA::observer_ptr< ScdGeoParamsColl > m_origScdGeoParamsColl
Definition: ScdDriftDiffusionAlgo.h:134
Class to describe the energy deposit of a single particle.
Definition: ParticleHit.h:33
A class describing a vector in 3D space.
Definition: Vec3D.h:33
Base algorithm for digitizers of the Monte Carlo hits of the Silicon Charge Detector implementing the...
Definition: ScdDriftDiffusionAlgo.h:83
std::vector< Point > PartitionTrajectory(const ParticleHit &hit)
Splits the trajectory of a particle hit into N sub-steps, according to the step-size specified in the...
Definition: ScdDriftDiffusionAlgo.cpp:269
EA::StorePtr m_evStore
Definition: ScdDriftDiffusionAlgo.h:137
ScdGeoParams CreateGeoParams(const ScdGeoParams &origGeoParams)
Creates the geometry parameter objects for the digitized detector.
Definition: ScdDriftDiffusionAlgo.cpp:245
std::vector< std::string > FreeObjects(const std::vector< std::string > &objs, EA::Memory::Status memStatus) override
Free the memory of unneeded objects.
Definition: ScdDriftDiffusionAlgo.cpp:117
DiffusionType m_diffType
Definition: ScdDriftDiffusionAlgo.h:131
void GenerateHits(const ScdParticleHitsColl &particleHitsColl, const ScdHitsColl &hitsColl, ScdHitsColl &digHitsColl)
Generate the diffused hits.
Definition: ScdDriftDiffusionAlgo.cpp:131
ScdHitsColl m_siliconDetectorDigHitsColl
Definition: ScdDriftDiffusionAlgo.h:133
float m_biasVoltage
Definition: ScdDriftDiffusionAlgo.h:126
std::shared_ptr< ScdGeoParamsColl > m_digScdGeoParamsColl
Definition: ScdDriftDiffusionAlgo.h:135
std::unique_ptr< ScdDigitizationTools::ScdChargePacket > CreatePacket(Point position, DiffusionType diffType, const ScdGeoParams &geoParams)
Definition: ScdDriftDiffusionAlgo.cpp:318
float m_minStepSize
Definition: ScdDriftDiffusionAlgo.h:116
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
ScdDriftDiffusionAlgo(const std::string &name)
Constructor.
Definition: ScdDriftDiffusionAlgo.cpp:22
bool Process() override
Process a single event.
Definition: ScdDriftDiffusionAlgo.cpp:89
bool Initialize() override
Initialization of the algorithm.
Definition: ScdDriftDiffusionAlgo.cpp:38
float m_intrinsicVoltage
Definition: ScdDriftDiffusionAlgo.h:127
float m_posEffDiffCoeff
Definition: ScdDriftDiffusionAlgo.h:122
std::string m_diffusionType
Definition: ScdDriftDiffusionAlgo.h:119
float m_pitch
Definition: ScdDriftDiffusionAlgo.h:115
EA::StorePtr m_globStore
Definition: ScdDriftDiffusionAlgo.h:137
Data structure for single silicon layer geometry parameters.
Definition: ScdGeoParams.h:35
DiffusionType
Definition: ScdDriftDiffusionAlgo.h:130
float m_negEffDiffCoeff
Definition: ScdDriftDiffusionAlgo.h:123