![]() |
Project
|
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. | |
MCH digitizer dealing with a single detection element.
Definition at line 33 of file DEDigitizer.h.
using o2::mch::DEDigitizer::DigitsAndLabels = std::pair<std::vector<Digit>, dataformats::MCLabelContainer> |
Definition at line 36 of file DEDigitizer.h.
o2::mch::DEDigitizer::DEDigitizer | ( | int | deId, |
math_utils::Transform3D | transformation, | ||
std::mt19937 & | random | ||
) |
Constructor.
deId | detection element ID |
transformation | a transformation to convert global coordinates (of this hits) into local (to the detection element) ones |
random | random number generator |
Definition at line 34 of file DEDigitizer.cxx.
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.
firstIR | first IR for which noise will be generated |
lastIR | last IR for which noise will be generated |
Definition at line 128 of file DEDigitizer.cxx.
void o2::mch::DEDigitizer::clear | ( | ) |
Clear the internal lists of signals.
Definition at line 206 of file DEDigitizer.cxx.
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.
irDigitsAndLabels | lists of digits and associated labels ordered per IR |
Definition at line 142 of file DEDigitizer.cxx.
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
hit | the input hit to be processed |
collisionTime | the IR this hit is associated to |
evID | the event identifier of the hit in the sim chain within srcID |
srcID | the origin (signal, background) of the hit |
Definition at line 52 of file DEDigitizer.cxx.
|
inline |
Set the first orbit of the processed TF.
firstTFOrbit | TF first orbit |
Definition at line 50 of file DEDigitizer.h.