![]() |
ATLAS Offline Software
|
Simulate TRT Electronics Noise
For description of metod, see Thomas Kittelmanns PhD thesis chapters 9-11.
More...
#include <TRTElectronicsNoise.h>
Public Member Functions | |
TRTElectronicsNoise (const TRTDigSettings *, CLHEP::HepRandomEngine *rndmEngine) | |
Constructor: Calls tabulateNoiseSignalShape() More... | |
~TRTElectronicsNoise () | |
Destructor. More... | |
void | getSamplesOfMaxLTOverNoiseAmp (std::vector< float > &maxLTOverNoiseAmp, unsigned long nsamplings, CLHEP::HepRandomEngine *rndmEngine) |
From generated (and cached) noise samples, this function returns in vector maxLTOverNoiseAmp the maximum of the noise amplitude within each of nsamplings 75 ns long samplings. More... | |
void | reinitElectronicsNoise (const unsigned int &numberOfDigitLengths, CLHEP::HepRandomEngine *rndmEngine) |
Re-initialize electronics noise table. More... | |
void | setElectronicsNoiseAmplitude (const double &) |
Set electronics noise amplitude. More... | |
void | addElectronicsNoise (std::vector< double > &signal, const double &noiseamplitude, CLHEP::HepRandomEngine *rndmEngine) |
Add electronics noise to simulated signals in hit straws. More... | |
Private Member Functions | |
void | tabulateNoiseSignalShape () |
Tabulate noise signal shape. More... | |
double | getMax (unsigned int firstbinslowsignal, unsigned int firstbinfastsignal, const unsigned int &binsinwindow) |
Get max amplitude of noise signal from weighted sum of fast and slow varying noise in period. More... | |
void | InitializeNoiseShaping () |
Initialize signal shaping. More... | |
double | NoiseShape (const double &time) const |
Get parameterized signal shape for noise hits. More... | |
Private Attributes | |
const TRTDigSettings * | m_settings |
std::vector< double > | m_noiseSignalShape |
Tabulated noise signal shape. More... | |
std::vector< float > | m_cachedFastNoiseAfterSignalShaping |
Cached samples of electronics noise after signal shaping (fast input) More... | |
std::vector< float > | m_cachedSlowNoiseAfterSignalShaping |
Cached samples of electronics noise after signal shaping (slow input) More... | |
std::vector< float > | m_tmpArray |
Here to avoid repeated memory allocs. More... | |
double | m_fractionOfSlowNoise |
unsigned int | m_nbins_periodic |
std::vector< double > | m_noisepars1 |
Noise signal params 1 (t<15.5 ns) More... | |
std::vector< double > | m_noisepars2 |
Noise signal params 2 (t>15.5 ns) More... | |
Simulate TRT Electronics Noise
For description of metod, see Thomas Kittelmanns PhD thesis chapters 9-11.
Definition at line 18 of file TRTElectronicsNoise.h.
TRTElectronicsNoise::TRTElectronicsNoise | ( | const TRTDigSettings * | digset, |
CLHEP::HepRandomEngine * | rndmEngine | ||
) |
Constructor: Calls tabulateNoiseSignalShape()
Definition at line 20 of file TRTElectronicsNoise.cxx.
|
default |
Destructor.
void TRTElectronicsNoise::addElectronicsNoise | ( | std::vector< double > & | signal, |
const double & | noiseamplitude, | ||
CLHEP::HepRandomEngine * | rndmEngine | ||
) |
Add electronics noise to simulated signals in hit straws.
Analog noise is added to simulated signal after signal shaping. The analog noise is taken from m_cachedFastNoiseAfterSignalShaping
[] and m_cachedSlowNoiseAfterSignalShaping
[]
signal | tabulated analog shaped signal |
noiseamplitude | noise amplitude |
Definition at line 197 of file TRTElectronicsNoise.cxx.
|
private |
Get max amplitude of noise signal from weighted sum of fast and slow varying noise in period.
firstbinslowsignal | pointer into array (LUT) of slow noise signals |
firstbinfastsignal | pointer into array (LUT) of fast noise signals |
binsinwindow | number of bins in window, where maximum is searched |
Definition at line 66 of file TRTElectronicsNoise.cxx.
void TRTElectronicsNoise::getSamplesOfMaxLTOverNoiseAmp | ( | std::vector< float > & | maxLTOverNoiseAmp, |
unsigned long | nsamplings, | ||
CLHEP::HepRandomEngine * | rndmEngine | ||
) |
From generated (and cached) noise samples, this function returns in vector maxLTOverNoiseAmp
the maximum of the noise amplitude within each of nsamplings
75 ns long samplings.
maxLTOverNoiseAmp | vector containing max noise signal for each of the 75 ns long sampling |
nsamplings | number of samplings |
Definition at line 40 of file TRTElectronicsNoise.cxx.
|
private |
Initialize signal shaping.
Definition at line 252 of file TRTElectronicsNoise.cxx.
|
private |
Get parameterized signal shape for noise hits.
time | time after signal arrival |
Definition at line 277 of file TRTElectronicsNoise.cxx.
void TRTElectronicsNoise::reinitElectronicsNoise | ( | const unsigned int & | numberOfDigitLengths, |
CLHEP::HepRandomEngine * | rndmEngine | ||
) |
Re-initialize electronics noise table.
Fills the cached tables m_cachedFastNoiseAfterSignalShaping
and m_cachedSlowNoiseAfterSignalShaping
with numberOfDigitLengths
75 ns long noise signals.
Procedure (same for fast and slow signals)
noiseSignalShaping
into cached tablesnumberOfDigitLengths | number of 75ns timeslices to generate noise for |
Definition at line 88 of file TRTElectronicsNoise.cxx.
void TRTElectronicsNoise::setElectronicsNoiseAmplitude | ( | const double & | ) |
Set electronics noise amplitude.
|
private |
Tabulate noise signal shape.
Extract signal shape from NoiseShape(time) function and store in table.
Definition at line 169 of file TRTElectronicsNoise.cxx.
|
private |
Cached samples of electronics noise after signal shaping (fast input)
Definition at line 102 of file TRTElectronicsNoise.h.
|
private |
Cached samples of electronics noise after signal shaping (slow input)
Definition at line 104 of file TRTElectronicsNoise.h.
|
private |
Definition at line 108 of file TRTElectronicsNoise.h.
|
private |
Definition at line 109 of file TRTElectronicsNoise.h.
|
private |
Noise signal params 1 (t<15.5 ns)
Definition at line 123 of file TRTElectronicsNoise.h.
|
private |
Noise signal params 2 (t>15.5 ns)
Definition at line 124 of file TRTElectronicsNoise.h.
|
private |
Tabulated noise signal shape.
Definition at line 99 of file TRTElectronicsNoise.h.
|
private |
Definition at line 79 of file TRTElectronicsNoise.h.
|
private |
Here to avoid repeated memory allocs.
Definition at line 106 of file TRTElectronicsNoise.h.