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

Base algorithm for bonding digitizers of the Monte Carlo hits of silicon detectors. More...

#include <algorithms/digitization/SiliconDetectorBondingDigitizerAlgo.h>

Inheritance diagram for Herd::SiliconDetectorBondingDigitizerAlgo:
Herd::ScdBondingDigitizerAlgo Herd::StkBondingDigitizerAlgo

Public Member Functions

 SiliconDetectorBondingDigitizerAlgo (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

int _nWafersPerLadderTop
 Number of wafers in each ladder, i.e. wafers to be bonded together, on top face. More...
 
int _nWafersPerLadderSideEven
 
int _nWafersPerLadderSideOdd
 
std::string _detName
 Name of the detector, e.g "stk". More...
 

Private Member Functions

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

Private Attributes

SiliconDetectorHitsColl _bondedHitsColl
 
std::shared_ptr< SiliconDetectorGeoParamsColl_bondedGeoParamsColl
 
observer_ptr< SiliconDetectorGeoParamsColl_origGeoParamsColl
 
StorePtr _evStore
 
StorePtr _globStore
 

Detailed Description

Base algorithm for bonding digitizers of the Monte Carlo hits of silicon detectors.

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.

NOTE: this algorithm cannot be used directly in analysis job; use #StkBondingDigitizerAlgo for STK and #ScdBondingDigitizerAlgo for SCD.

Constructor & Destructor Documentation

◆ SiliconDetectorBondingDigitizerAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ _Bond()

SiliconDetectorHitsColl Herd::SiliconDetectorBondingDigitizerAlgo::_Bond ( const SiliconDetectorHitsColl 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()

SiliconDetectorGeoParams Herd::SiliconDetectorBondingDigitizerAlgo::_CreateGeoParams ( const SiliconDetectorGeoParams 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::SiliconDetectorBondingDigitizerAlgo::_NWafersPerLadder ( RefFrame::Side  side,
int  iLayer 
)
inlineprivate

◆ FreeObjects()

std::vector< std::string > Herd::SiliconDetectorBondingDigitizerAlgo::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::SiliconDetectorBondingDigitizerAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::SiliconDetectorBondingDigitizerAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ _bondedGeoParamsColl

std::shared_ptr<SiliconDetectorGeoParamsColl> Herd::SiliconDetectorBondingDigitizerAlgo::_bondedGeoParamsColl
private

◆ _bondedHitsColl

SiliconDetectorHitsColl Herd::SiliconDetectorBondingDigitizerAlgo::_bondedHitsColl
private

◆ _detName

std::string Herd::SiliconDetectorBondingDigitizerAlgo::_detName
protected

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

◆ _evStore

StorePtr Herd::SiliconDetectorBondingDigitizerAlgo::_evStore
private

◆ _globStore

StorePtr Herd::SiliconDetectorBondingDigitizerAlgo::_globStore
private

◆ _nWafersPerLadderSideEven

int Herd::SiliconDetectorBondingDigitizerAlgo::_nWafersPerLadderSideEven
protected

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

◆ _nWafersPerLadderSideOdd

int Herd::SiliconDetectorBondingDigitizerAlgo::_nWafersPerLadderSideOdd
protected

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

◆ _nWafersPerLadderTop

int Herd::SiliconDetectorBondingDigitizerAlgo::_nWafersPerLadderTop
protected

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

◆ _origGeoParamsColl

observer_ptr<SiliconDetectorGeoParamsColl> Herd::SiliconDetectorBondingDigitizerAlgo::_origGeoParamsColl
private

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