|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef STGCDIGITMAKER_H
14 #define STGCDIGITMAKER_H
26 class HepRandomEngine;
41 const int channelTypes,
43 bool doPadChargeSharing,
44 double stripChargeScale);
93 const double digittime,
double getTimeOffsetStrip(size_t neighbor_index) const
Get digit time offset of a strip depending on its relative position to the strip at the centre of the...
StatusCode readFileOfTimeOffsetStrip()
Read share/sTGC_Digitization_timeOffsetStrip.dat.
Ionization object with distance, position on the hit segment and position on the wire.
double getMostProbableArrivalTime(double distance) const
Get the most probable time of arrival.
double m_chargeAngularFactor
sTgcDigitVec executeDigi(const DigiConditions &condContainers, const sTGCSimHit &hit) const
StatusCode readFileOfTimeArrival()
Read share/sTGC_Digitization_timeArrival.dat.
Digitize a given hit, determining the time and charge spread on wires, pads and strips.
Parameters of a gamma probability distribution function, required for estimating wire digit's time of...
virtual ~sTgcDigitMaker()
Ionization pointClosestApproach(const MuonGM::sTgcReadoutElement *readoutEle, const Identifier &id, int wireNumber, const Amg::Vector3D &preStepPos, const Amg::Vector3D &postStepPos) const
Determine the points where the distance between two segments is smallest.
std::vector< GammaParameter > m_gammaParameter
int m_channelTypes
define offsets and widths of time windows for signals from wiregangs and strips.
GammaParameter getGammaParameter(double distance) const
Find the gamma pdf parameters of a given distance.
::StatusCode StatusCode
StatusCode definition for legacy code.
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
Class to provide easy MsgStream access and capabilities.
static void addDigit(sTgcDigitVec &digits, const Identifier &id, const uint16_t bctag, const double digittime, const double charge)
const NswCalibDbThresholdData * thresholdData
Amg::Vector3D posOnSegment
double charge(const T &p)
static double getPadChargeFraction(double distance)
Eigen::Matrix< double, 3, 1 > Vector3D
const MuonGM::MuonDetectorManager * detMgr
static constexpr std::array< double, 4 > m_clusterProfile
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
std::array< double, 6 > m_timeOffsetStrip
double m_stripChargeScale
sTgcDigitMaker(const Muon::IMuonIdHelperSvc *idHelperSvc, const int channelTypes, double meanGasGain, bool doPadChargeSharing, double stripChargeScale)
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
std::array< double, 5 > m_mostProbableArrivalTime
StatusCode initialize()
Initializes sTgcHitIdHelper and sTgcIdHelper, and call the functions to read files containing digitiz...
std::vector< std::unique_ptr< sTgcDigit > > sTgcDigitVec
CLHEP::HepRandomEngine * rndmEngine
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
const Muon::IMuonIdHelperSvc * m_idHelperSvc
const Muon::DigitEffiData * efficiencies