|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRT_DIGITIZATION_TRTDIGCONDBASE_H
6 #define TRT_DIGITIZATION_TRTDIGCONDBASE_H
10 #include "Identifier/Identifier.h"
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "GaudiKernel/ToolHandle.h"
16 #include "CLHEP/Random/RandomEngine.h"
26 class TRT_DetectorManager;
41 ToolHandle<ITRT_StrawStatusSummaryTool> sumTool
50 void initialize(CLHEP::HepRandomEngine* rndmEngine);
69 double& noiseamplitude )
const;
103 bool getNextStraw(
int& hitID,
float& noiselevel,
float& noiseamp );
112 const double& lowthreshold,
113 const double& noiseamplitude );
131 const double& strawlength,
133 double& relative_noiseamplitude,
134 CLHEP::HepRandomEngine *rndmEngine) = 0;
167 mutable std::map<int,StrawState>::const_iterator m_it_hitid_to_StrawState_Last
ATLAS_THREAD_SAFE;
192 double& lowthreshold,
193 double& noiseamplitude )
const {
195 std::lock_guard<std::mutex> lock(
m_mutex);
196 if (m_it_hitid_to_StrawState_Last->first != hitID)
199 lowthreshold = m_it_hitid_to_StrawState_Last->second.lowthreshold;
200 noiseamplitude = m_it_hitid_to_StrawState_Last->second.noiseamplitude;
232 const double& lowthreshold,
233 const double& noiseamplitude ) {
JetConstituentVector::iterator iterator
float lowthreshold
Low threshold discriminator setting.
bool crossTalkNoise(CLHEP::HepRandomEngine *) const
virtual ~TRTDigCondBase()
Destructor.
bool getNextStraw(int &hitID, float &noiselevel, float &noiseamp)
For looping over all straws: get next straw.
void getStrawData(const int &hitID, double &lowthreshold, double &noiseamplitude) const
Get straw data mixed condition is implemented function will return both Argon and Xenon straws (with ...
virtual void setStrawStateInfo(Identifier &TRT_Identifier, const double &strawlength, double &noiselevel, double &relative_noiseamplitude, CLHEP::HepRandomEngine *rndmEngine)=0
Get straw state info based on hitid and strawlength.
float noiselevel
Noise level
std::atomic< float > m_averageNoiseLevel
Average noise level.
std::map< int, StrawState >::const_iterator m_it_hitid_to_StrawState_End
Iterator pointing to last straw in straw state map.
float noiseamplitude
Noise amplitude
const TRT_ID * m_id_helper
std::map< int, StrawState >::iterator m_all_it_hitid_to_StrawState
Iterator over straw state map.
unsigned int totalNumberOfActiveStraws() const
Get total number of active straws.
const TRTDigSettings * m_settings
bool getNextNoisyStraw(CLHEP::HepRandomEngine *, int &hitID, float &noiselevel)
For simulation of noise in unhit straws: get next noisy straw.
std::map< int, StrawState >::const_iterator m_it_hitid_to_StrawState
Iterator over straw state map.
std::map< int, StrawState >::iterator m_all_it_hitid_to_StrawState_previous
Iterator used for caching.
double m_crosstalk_noiselevel_other_end
std::map< int, StrawState >::const_iterator m_it_hitid_to_StrawState_Last ATLAS_THREAD_SAFE
Iterator used for caching (ought to be called _Previous)
Class to provide easy MsgStream access and capabilities.
ToolHandle< ITRT_StrawStatusSummaryTool > m_sumTool
bool crossTalkNoiseOtherEnd(CLHEP::HepRandomEngine *) const
TRTDigCondBase(const TRTDigSettings *, const InDetDD::TRT_DetectorManager *, const TRT_ID *, int UseGasMix, ToolHandle< ITRT_StrawStatusSummaryTool > sumTool)
Constructor.
double m_crosstalk_noiselevel
std::map< int, StrawState > m_hitid_to_StrawState
Global map from straw ID to straw state.
void resetGetNextStraw()
For looping over all straws: Rewind straw list to start from beginning.
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
void setRefinedStrawParameters(const int &hitID, const double &lowthreshold, const double &noiseamplitude)
Set straw parameters.
void resetGetNextNoisyStraw()
For noise in unhit straws: Rewind straw list to start from beginning.
Class containing parameters and settings used by TRT digitization.
Define macros for attributes used to control the static checker.
float strawAverageNoiseLevel() const
Get average noise level in straw.
const InDetDD::TRT_DetectorManager * m_detmgr
void initialize(CLHEP::HepRandomEngine *rndmEngine)
Communication with CondDB.