5#ifndef TRT_DIGITIZATION_TRTELECTRONICSPROCESSING_H
6#define TRT_DIGITIZATION_TRTELECTRONICSPROCESSING_H
9#include "GaudiKernel/ServiceHandle.h"
11#include "CLHEP/Random/RandomEngine.h"
67 double noiseamplitude,
69 CLHEP::HepRandomEngine* rndmEngine,
70 CLHEP::HepRandomEngine* elecNoiseRndmEngine,
71 double highthreshold = -1.0
75 void LTt0Shift (
int hitID,
int strawGasType );
115 double highthreshold);
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Class containing parameters and settings used by TRT digitization.
Simulate TRT Electronics Noise For description of metod, see Thomas Kittelmanns PhD thesis chapters ...
double energy() const
Get energy of deposit.
double time() const
Get time of deposit.
Deposit(double e, double t)
Create deposit.
double m_lowThresholdEC[3]
void TabulateSignalShape()
Tabulate low and high level signal shapes from functions LowThresholdSignalShape() and HighThresholdS...
double getHighThreshold(int hitID, int strawGasType)
int * m_lowThresholdDiscriminator
Signal after discrimination.
int m_minWidthMinusSettlingTimeInBinWidths
Min.
std::atomic< bool > m_first
void Initialize()
Initialize constants.
int m_numberOfPostZeroBins
No.
std::vector< double > m_lowThresholdSignal
void ProcessDeposits(const std::vector< Deposit > &, int hitID, TRTDigit &outdigit, double lowthreshold, double noiseamplitude, int strawGasType, CLHEP::HepRandomEngine *rndmEngine, CLHEP::HepRandomEngine *elecNoiseRndmEngine, double highthreshold=-1.0)
Process deposits in a straw.
~TRTElectronicsProcessing()
unsigned EncodeDigit() const
Encode 27 bit digit from discriminator response [8 low + 1 high + 8 low + 1 high + 8 low + 1 high]:
void HTt0Shift(int hitID)
double m_binWidth
Time interval corresponding to each internal bin.
TRTElectronicsProcessing(const TRTElectronicsProcessing &)
TRTElectronicsProcessing(const TRTDigSettings *digset, TRTElectronicsNoise *electronicsnoise)
std::vector< double > m_lowThresholdSignalShape[3]
void DiscriminatorResponse(double lowthreshold, double highthreshold)
Simulate discriminator response.
int m_totalNumberOfBins
Total no.
TRTElectronicsNoise * m_pElectronicsNoise
void LTt0Shift(int hitID, int strawGasType)
double m_timeInterval
Time interval covered by digit [75 ns].
int m_discriminatorSettlingTimeInBinWidths
Discriminator settling time [bins].
void SignalShaping(int strawGasType)
Shape electron drift signal according to appropriate signal shapes.
int m_minDiscriminatorWidthInBinWidths
Min.
std::vector< double > m_highThresholdSignal
std::vector< double > m_highThresholdSignalShape[3]
TRTElectronicsProcessing & operator=(const TRTElectronicsProcessing &)
int m_discriminatorDeadTimeInBinWidths
Discriminator dead time [int.
int * m_highThresholdDiscriminator
Signal after discrimination.
int m_numberOfPreZeroBins
No.
double m_lowThresholdBar[3]
const TRTDigSettings * m_settings
double * m_energyDistribution