|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef TGCDIGITMAKER_H
13 #define TGCDIGITMAKER_H
19 #include "GaudiKernel/StatusCode.h"
21 #include "Identifier/Identifier.h"
27 class HepRandomEngine;
31 class MuonDetectorManager;
44 const bool doFourBunch);
77 const double globalHitTime,
81 CLHEP::HepRandomEngine* rndmEngine);
113 CLHEP::HepRandomEngine* rndmEngine)
const;
119 CLHEP::HepRandomEngine* rndmEngine)
const;
126 const double offset)
const;
144 const float posInStrip,
const float digitTime,
145 const float time_offset,
146 CLHEP::HepRandomEngine* rndmEngine,
164 const int iStationName,
167 const float position)
const;
176 const unsigned int index_prob) ;
constexpr uint8_t stationPhi
station Phi 1 to 8
Ensure that the Athena extensions are properly loaded.
float m_StripPos[N_STATIONNAME][N_ABSSTATIONETA][N_STRIPCHANNEL]
Position of Strip Channel (Longer base or Shorter base)
StatusCode readFileOfDeadChamber()
Read share/TGC_Digitization_deadChamber.dat file.
static float getTimeOffset(const TgcDigitTimeOffsetData *readCdo, const uint16_t station_num, const int station_eta, const TgcSensor sensor)
Method to get time offset to absorb signal delay.
TgcDigitMaker(const TgcHitIdHelper *hitIdHelper, const MuonGM::MuonDetectorManager *mdManager, const bool doFourBunch)
float getStripPosition(const std::string &stationName, int stationEta, int channel) const
Method to get position of Strip channel.
float getDistanceToAsdFromSensor(const TgcDigitASDposData *readCdo, const int iStationName, const int stationEta, const int stationPhi, const TgcSensor sensor, const int channel, const float position) const
Method to get propagation time to the ASD from the sensor.
unsigned int getRunPeriod() const
Determine the run period.
StatusCode readFileOfEnergyThreshold()
Read share/TGC_Digitization_energyThreshold.dat file.
const MuonGM::MuonDetectorManager * m_mdManager
static float timeDiffByCableRadiusOfInner(const int iStationName, const int stationPhi, const int channel)
Method to get time difference by cable radius of inner.
StatusCode initialize()
Initializes TgcHitIdHelper, TgcIdHelper and random number of a stream for the digitization.
virtual ~TgcDigitMaker()=default
const TgcHitIdHelper * m_hitIdHelper
::StatusCode StatusCode
StatusCode definition for legacy code.
bool efficiencyCheck(const TgcSensor sensor, CLHEP::HepRandomEngine *rndmEngine) const
Determines whether a hit is detected or not.
double m_gateTimeWindow[N_STATION][N_SENSOR]
define the time windows for signals from wiregangs and strips.
std::vector< std::vector< float > > m_vecAngle_Time
Class to provide easy MsgStream access and capabilities.
void randomCrossTalk(const TgcDigitCrosstalkData *crosstalk, const Identifier elemId, const int gasGap, const TgcSensor sensor, const int channel, const float posInStrip, const float digitTime, const float time_offset, CLHEP::HepRandomEngine *rndmEngine, TgcDigitCollection *digits) const
static void addDigit(const Identifier id, const uint16_t bctag, TgcDigitCollection *digits)
StatusCode readFileOfStripPosition()
Read share/TGC_Digitization_StripPosition.dat file.
Eigen::Matrix< double, 3, 1 > Vector3D
static int getIStationName(const std::string &staionName)
Get stationName integer from stationName string.
TgcDigitCollection * executeDigi(const TGCSimHit *hit, const double globalHitTime, const TgcDigitASDposData *ASDpos, const TgcDigitTimeOffsetData *TOffset, const TgcDigitCrosstalkData *Crosstalk, CLHEP::HepRandomEngine *rndmEngine)
A single hit can be digitized in the two directions independently: R and phi directions.
double m_energyThreshold[N_STATIONNAME][N_STATIONETA][N_STATIONPHI][N_GASGAP][N_ISSTRIP]
Energy threshold value for each chamber.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
double m_bunchCrossingTime
float m_efficiency[N_SENSOR]
double getEnergyThreshold(const std::string &stationName, int stationEta, int stationPhi, int gasGap, const TgcSensor sensor) const
Get energy threshold value for each chamber.
bool m_isDeadChamber[N_STATIONNAME][N_STATIONETA][N_STATIONPHI][N_GASGAP]
Dead chamber flag for each chamber.
constexpr uint8_t stationEta
1 to 3
StatusCode readFileOfTimeJitter()
Reads parameters for intrinsic time response from timejitter.dat.
bool m_doFourBunchDigitization
Activate four bunch digitization.
static float getCrosstalkProbability(const TgcDigitCrosstalkData *readCdo, const uint16_t layer_id, const TgcSensor sensor, const unsigned int index_prob)
Method to get the channel crosstalk probability.
const TgcIdHelper * m_idHelper
uint16_t bcTagging(const double digittime, const double window, const double offset) const
bool isDeadChamber(const std::string &stationName, int stationEta, int stationPhi, int gasGap)
Method to check a chamber is dead or active.
static double getSigPropTimeDelay(const float cableDistance)
Method to get signal propagation time delay.
float timeJitter(const Amg::Vector3D &, CLHEP::HepRandomEngine *rndmEngine) const
Calculates intrinsic time response according to incident angle of a track based on time response para...