Project
Loading...
Searching...
No Matches
o2::mch::DEDigitizer Class Reference

MCH digitizer dealing with a single detection element. More...

#include <DEDigitizer.h>

Public Types

using DigitsAndLabels = std::pair< std::vector< Digit >, dataformats::MCLabelContainer >
 

Public Member Functions

 DEDigitizer (int deId, math_utils::Transform3D transformation, std::mt19937 &random)
 
void setFirstTFOrbit (uint32_t firstTFOrbit)
 
void processHit (const Hit &hit, const InteractionRecord &collisionTime, int evID, int srcID)
 
void addNoise (const InteractionRecord &firstIR, const InteractionRecord &lastIR)
 
size_t digitize (std::map< InteractionRecord, DigitsAndLabels > &irDigitsAndLabels)
 
void clear ()
 Clear the internal lists of signals.
 

Detailed Description

MCH digitizer dealing with a single detection element.

Definition at line 33 of file DEDigitizer.h.

Member Typedef Documentation

◆ DigitsAndLabels

Definition at line 36 of file DEDigitizer.h.

Constructor & Destructor Documentation

◆ DEDigitizer()

o2::mch::DEDigitizer::DEDigitizer ( int  deId,
math_utils::Transform3D  transformation,
std::mt19937 &  random 
)

Constructor.

Parameters
deIddetection element ID
transformationa transformation to convert global coordinates (of this hits) into local (to the detection element) ones
randomrandom number generator

Definition at line 34 of file DEDigitizer.cxx.

Member Function Documentation

◆ addNoise()

void o2::mch::DEDigitizer::addNoise ( const InteractionRecord firstIR,
const InteractionRecord lastIR 
)

Add noise-only signals.

Noise will be generated for all IR between firstIR and lastIR. Note that depending on the actual noise probability some IR might not get any pad with noise-only signal, and that's fine.

Parameters
firstIRfirst IR for which noise will be generated
lastIRlast IR for which noise will be generated

Definition at line 128 of file DEDigitizer.cxx.

◆ clear()

void o2::mch::DEDigitizer::clear ( )

Clear the internal lists of signals.

Definition at line 206 of file DEDigitizer.cxx.

◆ digitize()

size_t o2::mch::DEDigitizer::digitize ( std::map< InteractionRecord, DigitsAndLabels > &  irDigitsAndLabels)

Do the digitization.

The digitization accounts for charge dispersion (adding noise to physical signals) and threshold, time dispersion and pileup within readout windows. It fills the lists of digits and associated labels ordered per IR and returns the number of signal pileup in overlapping readout windows.

Parameters
irDigitsAndLabelslists of digits and associated labels ordered per IR

Definition at line 142 of file DEDigitizer.cxx.

◆ processHit()

void o2::mch::DEDigitizer::processHit ( const Hit hit,
const InteractionRecord collisionTime,
int  evID,
int  srcID 
)

Process one MCH Hit.

This will convert the hit eloss into a charge and spread (according to a Mathieson 2D distribution) that charge among several pads, that will become digits eventually

Parameters
hitthe input hit to be processed
collisionTimethe IR this hit is associated to
evIDthe event identifier of the hit in the sim chain within srcID
srcIDthe origin (signal, background) of the hit
See also
o2::steer::EventPart

Definition at line 52 of file DEDigitizer.cxx.

◆ setFirstTFOrbit()

void o2::mch::DEDigitizer::setFirstTFOrbit ( uint32_t  firstTFOrbit)
inline

Set the first orbit of the processed TF.

Parameters
firstTFOrbitTF first orbit

Definition at line 50 of file DEDigitizer.h.


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