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