HerdSoftware
0.1.1
|
Base algorithm for digitizers of the Monte Carlo hits of silicon detector based on a purely geometric criterion. More...
#include <algorithms/digitization/SiliconDetectorGeometricDigitizerAlgo.h>
Public Member Functions | |
SiliconDetectorGeometricDigitizerAlgo (const std::string &name) | |
Constructor. More... | |
bool | Initialize () override |
Initialization of the algorithm. More... | |
bool | Process () override |
Process a single event. More... | |
std::vector< std::string > | FreeObjects (const std::vector< std::string > &objs, Memory::Status memStatus) override |
Free the memory of unneeded objects. More... | |
Protected Attributes | |
float | _pitch |
std::string | _detName |
Name of the detector, e.g "stk". More... | |
Private Member Functions | |
void | _Digitize (const SiliconDetectorParticleHitsColl &particleHitsColl, const SiliconDetectorHitsColl &hitsColl, SiliconDetectorHitsColl &digHitsColl) |
Digitizes the silicon hits. More... | |
SiliconDetectorGeoParams | _CreateGeoParams (const SiliconDetectorGeoParams &origGeoParams) |
Creates the geometry parameter objects for the digitized detector. More... | |
Private Attributes | |
SiliconDetectorHitsColl | _siliconDetectorDigHitsColl |
observer_ptr< SiliconDetectorGeoParamsColl > | _origSiliconDetectorGeoParamsColl |
std::shared_ptr< SiliconDetectorGeoParamsColl > | _digSiliconDetectorGeoParamsColl |
StorePtr | _evStore |
StorePtr | _globStore |
Base algorithm for digitizers of the Monte Carlo hits of silicon detector based on a purely geometric criterion.
This algorithm assigns the energy released by single particles traversing a wafer of the silicon detector to the strip nearest to the entrance point in the silicon. The criterion is purely geometric and does not take into account important effects such as charge drift in the silicon, charge sharing between adjacent strips, electronic noise, GeV->ADC conversion etc.
NOTE: this algorithm cannot be used directly in analysis job; use #StkGeometricDigitizerAlgo for STK and #ScdGeometricDigitizerAlgo for SCD.
Herd::SiliconDetectorGeometricDigitizerAlgo::SiliconDetectorGeometricDigitizerAlgo | ( | const std::string & | name | ) |
Constructor.
name | The name of the algorithm. |
|
private |
Creates the geometry parameter objects for the digitized detector.
Starting from the original geometry parameters this method computes the digitized parameters using the digitization parameters stored in private members.
origGeoParams | the original geometry parameters. |
std::runtime_error | if the relative position of the first strip on the wafer is less than 0 (i.e. strip outside the wafer). |
|
private |
Digitizes the silicon hits.
This function digitizes the hits of the silicon detector. It fills the collection passed as the digHitsColl
argument with the digitized hits.
digGeoParamsColl | The geometry parameters of the digitized detector. |
particleHitsColl | The collection of particle hits. |
hitsColl | The collection of hits. |
digHitsColl | The collection of digitized hits. |
|
override |
Free the memory of unneeded objects.
Currently this method frees the memory of the digitized hits if memStatus
is EXHAUSTED.
objs | The list of objects to be freed. |
memStatus | The current memory occupation status. |
|
override |
Initialization of the algorithm.
|
override |
Process a single event.
|
protected |
Name of the detector, e.g "stk".
|
private |
|
private |
|
private |
|
private |
|
protected |
|
private |