HerdSoftware  0.4.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::ScdBondingDigitizerAlgo Class Reference

Base algorithm for bonding digitizers of the Monte Carlo hits of the Silicon Charge Detector. More...

#include <algorithms/digitization/ScdBondingDigitizerAlgo.h>

Inheritance diagram for Herd::ScdBondingDigitizerAlgo:

Public Member Functions

 ScdBondingDigitizerAlgo (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, EA::Memory::Status memStatus) override
 Free the memory of unneeded objects. More...
 

Private Member Functions

ScdHitsColl _Bond (const ScdHitsColl &hitsColl)
 Bonds the silicon strips. More...
 
ScdGeoParams _CreateGeoParams (const ScdGeoParams &origGeoParams, int nWafersPerLadder)
 Creates the geometry parameter objects for the bonded detector. More...
 
int _NWafersPerLadder (RefFrame::Side side, int iLayer)
 

Private Attributes

int m_nWafersPerLadderTop
 Number of wafers in each ladder, i.e. wafers to be bonded together, on top face. More...
 
int m_nWafersPerLadderSideEven
 
int m_nWafersPerLadderSideOdd
 
ScdHitsColl m_bondedHitsColl
 
std::shared_ptr< ScdGeoParamsCollm_bondedGeoParamsColl
 
EA::observer_ptr< ScdGeoParamsCollm_origGeoParamsColl
 
EA::StorePtr m_evStore
 
EA::StorePtr m_globStore
 

Detailed Description

Base algorithm for bonding digitizers of the Monte Carlo hits of the Silicon Charge Detector.

This algorithm sums up the energy releases in the strips in neighboring wafers that are connected by bonding wires to produce the energy release in each strip of the ladder. Each set of strips that are bonded together is called a bonding set.

According to the orientation of the strips with respect to the ladder, two bonding modes are currently implemented:

name type store optional description
scdHitsCollMC ScdHitsColl evStore no The MC hits in the SCD strips.

Needed global objects:

name type store optional description
scdGeoParamsColl ScdGeoParamsColl globStore yes Geometric parameters of the SCD.

Produced event objects:

name type alias store description
scdBondedHitsCollMC ScdHitsColl scdHitsCollMC evStore The hits in the bonded strips of the SCD.

Produced global objects:

name type alias store description
scdGeoParamsBondedStripColl ScdHitsColl scdGeoParamsColl evStore The geometry parameters of the bonded SCD.

Parameters:

name type default value description
nWafersPerLadderTop int 0 The number of wafers to be bonded to form a ladder on top.
nWafersPerLadderSideEven int 0 The number of wafers to be bonded to form a ladder on even layers on sides.
nWafersPerLadderSideOdd int 0 The number of wafers to be bonded to form a ladder on odd layers on sides.

Constructor & Destructor Documentation

◆ ScdBondingDigitizerAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ _Bond()

ScdHitsColl Herd::ScdBondingDigitizerAlgo::_Bond ( const ScdHitsColl hitsColl)
private

Bonds the silicon strips.

This function computes the hits on the bonded strips. It fills the collection passed as the HitsColl argument with the digitized hits.

Parameters
hitsCollThe collection of hits.
Returns
The collection of bonded hits.

◆ _CreateGeoParams()

ScdGeoParams Herd::ScdBondingDigitizerAlgo::_CreateGeoParams ( const ScdGeoParams origGeoParams,
int  nWafersPerLadder 
)
private

Creates the geometry parameter objects for the bonded detector.

Starting from the original geometry parameters this method computes the new geoparams objects accounting for bonded wafers

Parameters
origGeoParamsthe original geometry parameters.
nWafersPerLadderthe number of wafers in the bonded ladder.
Returns
The geometry parameters of the bonded detectors.

◆ _NWafersPerLadder()

int Herd::ScdBondingDigitizerAlgo::_NWafersPerLadder ( RefFrame::Side  side,
int  iLayer 
)
inlineprivate

◆ FreeObjects()

std::vector< std::string > Herd::ScdBondingDigitizerAlgo::FreeObjects ( const std::vector< std::string > &  objs,
EA::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::ScdBondingDigitizerAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::ScdBondingDigitizerAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ m_bondedGeoParamsColl

std::shared_ptr<ScdGeoParamsColl> Herd::ScdBondingDigitizerAlgo::m_bondedGeoParamsColl
private

◆ m_bondedHitsColl

ScdHitsColl Herd::ScdBondingDigitizerAlgo::m_bondedHitsColl
private

◆ m_evStore

EA::StorePtr Herd::ScdBondingDigitizerAlgo::m_evStore
private

◆ m_globStore

EA::StorePtr Herd::ScdBondingDigitizerAlgo::m_globStore
private

◆ m_nWafersPerLadderSideEven

int Herd::ScdBondingDigitizerAlgo::m_nWafersPerLadderSideEven
private

Number of wafers in each ladder, i.e. wafers to be bonded together, on side faces for even layers

◆ m_nWafersPerLadderSideOdd

int Herd::ScdBondingDigitizerAlgo::m_nWafersPerLadderSideOdd
private

Number of wafers in each ladder, i.e. wafers to be bonded together, on side faces for odd layers

◆ m_nWafersPerLadderTop

int Herd::ScdBondingDigitizerAlgo::m_nWafersPerLadderTop
private

Number of wafers in each ladder, i.e. wafers to be bonded together, on top face.

◆ m_origGeoParamsColl

EA::observer_ptr<ScdGeoParamsColl> Herd::ScdBondingDigitizerAlgo::m_origGeoParamsColl
private

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