HerdSoftware  0.1.1
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Herd::SiliconDetectorGeometricDigitizerAlgo Class Reference

Base algorithm for digitizers of the Monte Carlo hits of silicon detector based on a purely geometric criterion. More...

#include <algorithms/digitization/SiliconDetectorGeometricDigitizerAlgo.h>

Inheritance diagram for Herd::SiliconDetectorGeometricDigitizerAlgo:
Herd::ScdGeometricDigitizerAlgo Herd::StkGeometricDigitizerAlgo

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SiliconDetectorGeometricDigitizerAlgo()

Herd::SiliconDetectorGeometricDigitizerAlgo::SiliconDetectorGeometricDigitizerAlgo ( const std::string &  name)

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ _CreateGeoParams()

SiliconDetectorGeoParams Herd::SiliconDetectorGeometricDigitizerAlgo::_CreateGeoParams ( const SiliconDetectorGeoParams origGeoParams)
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.

Parameters
origGeoParamsthe original geometry parameters.
Returns
The geometry parameters of the digitized detectors.
Exceptions
std::runtime_errorif the relative position of the first strip on the wafer is less than 0 (i.e. strip outside the wafer).

◆ _Digitize()

void Herd::SiliconDetectorGeometricDigitizerAlgo::_Digitize ( const SiliconDetectorParticleHitsColl particleHitsColl,
const SiliconDetectorHitsColl hitsColl,
SiliconDetectorHitsColl digHitsColl 
)
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.

Parameters
digGeoParamsCollThe geometry parameters of the digitized detector.
particleHitsCollThe collection of particle hits.
hitsCollThe collection of hits.
digHitsCollThe collection of digitized hits.

◆ FreeObjects()

std::vector< std::string > Herd::SiliconDetectorGeometricDigitizerAlgo::FreeObjects ( const std::vector< std::string > &  objs,
Memory::Status  memStatus 
)
override

Free the memory of unneeded objects.

Currently this method frees the memory of the digitized hits if memStatus is EXHAUSTED.

Parameters
objsThe list of objects to be freed.
memStatusThe current memory occupation status.
Returns
a list of freed objects.

◆ Initialize()

bool Herd::SiliconDetectorGeometricDigitizerAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::SiliconDetectorGeometricDigitizerAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ _detName

std::string Herd::SiliconDetectorGeometricDigitizerAlgo::_detName
protected

Name of the detector, e.g "stk".

◆ _digSiliconDetectorGeoParamsColl

std::shared_ptr<SiliconDetectorGeoParamsColl> Herd::SiliconDetectorGeometricDigitizerAlgo::_digSiliconDetectorGeoParamsColl
private

◆ _evStore

StorePtr Herd::SiliconDetectorGeometricDigitizerAlgo::_evStore
private

◆ _globStore

StorePtr Herd::SiliconDetectorGeometricDigitizerAlgo::_globStore
private

◆ _origSiliconDetectorGeoParamsColl

observer_ptr<SiliconDetectorGeoParamsColl> Herd::SiliconDetectorGeometricDigitizerAlgo::_origSiliconDetectorGeoParamsColl
private

◆ _pitch

float Herd::SiliconDetectorGeometricDigitizerAlgo::_pitch
protected

◆ _siliconDetectorDigHitsColl

SiliconDetectorHitsColl Herd::SiliconDetectorGeometricDigitizerAlgo::_siliconDetectorDigHitsColl
private

The documentation for this class was generated from the following files: