5#ifndef TRT_DIGITIZATION_TRTELECTRONICSNOISE_H
6#define TRT_DIGITIZATION_TRTELECTRONICSNOISE_H
8#include "CLHEP/Random/RandomEngine.h"
25 CLHEP::HepRandomEngine *rndmEngine );
39 unsigned long nsamplings,
40 CLHEP::HepRandomEngine *rndmEngine);
60 CLHEP::HepRandomEngine *rndmEngine);
74 double noiseamplitude ,
75 CLHEP::HepRandomEngine *rndmEngine);
95 double getMax(
unsigned int firstbinslowsignal,
96 unsigned int firstbinfastsignal,
97 unsigned int binsinwindow );
Class containing parameters and settings used by TRT digitization.
TRTElectronicsNoise(const TRTDigSettings *, CLHEP::HepRandomEngine *rndmEngine)
Constructor: Calls tabulateNoiseSignalShape().
void reinitElectronicsNoise(unsigned int numberOfDigitLengths, CLHEP::HepRandomEngine *rndmEngine)
Re-initialize electronics noise table.
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 maxi...
std::vector< double > m_noisepars2
Noise signal params 2 (t>15.5 ns).
double getMax(unsigned int firstbinslowsignal, unsigned int firstbinfastsignal, unsigned int binsinwindow)
Get max amplitude of noise signal from weighted sum of fast and slow varying noise in period.
double m_fractionOfSlowNoise
std::vector< float > m_cachedFastNoiseAfterSignalShaping
Cached samples of electronics noise after signal shaping (fast input).
void addElectronicsNoise(std::vector< double > &signal, double noiseamplitude, CLHEP::HepRandomEngine *rndmEngine)
Add electronics noise to simulated signals in hit straws.
std::vector< double > m_noisepars1
Noise signal params 1 (t<15.5 ns).
void InitializeNoiseShaping()
Initialize signal shaping.
const TRTDigSettings * m_settings
unsigned int m_nbins_periodic
std::vector< double > m_noiseSignalShape
Tabulated noise signal shape.
~TRTElectronicsNoise()
Destructor.
void tabulateNoiseSignalShape()
Tabulate noise signal shape.
std::vector< float > m_tmpArray
Here to avoid repeated memory allocs.
double NoiseShape(double time) const
Get parameterized signal shape for noise hits.
void setElectronicsNoiseAmplitude(double)
Set electronics noise amplitude.
std::vector< float > m_cachedSlowNoiseAfterSignalShaping
Cached samples of electronics noise after signal shaping (slow input).