 |
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef STGCDIGITMAKER_H
14 #define STGCDIGITMAKER_H
27 class HepRandomEngine;
48 bool doPadChargeSharing);
136 const double stepLength)
const;
double getTimeOffsetStrip(size_t neighbor_index) const
Gets the time offset for a strip cluster.
StatusCode readFileOfTimeOffsetStrip()
Reads strip time offset data file.
std::array< double, 6 > m_timeOffsetStrip
static constexpr std::array< double, 2 > m_clusterParams
Ionization object with distance, position on the hit segment and position on the wire.
double chargeIntegral(double N, double M) const
double getMostProbableArrivalTime(double distance) const
Computes the most probable arrival time based on the distance of closest approach.
double m_chargeAngularFactor
sTgcDigitVec executeDigi(const DigiConditions &condContainers, const sTGCSimHit &hit) const
StatusCode readFileOfTimeArrival()
Reads time arrival data file.
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...
GammaParameter getGammaParameter(double distance) const
Retrieves gamma distribution parameters based on distance.
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.
digitMode m_digitMode
define offsets and widths of time windows for signals from wiregroups and strips.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< GammaParameter > m_gammaParameter
Class to provide easy MsgStream access and capabilities.
CLHEP::HepRandomEngine * rndEngine
const Muon::DigitEffiData * efficiencies
Amg::Vector3D posOnSegment
double charge(const T &p)
Eigen::Matrix< double, 3, 1 > Vector3D
const MuonGM::MuonDetectorManager * detMgr
const Muon::IMuonIdHelperSvc * m_idHelperSvc
std::array< double, 5 > m_mostProbableArrivalTime
static double getPadChargeFraction(double distance)
Computes charge fraction shared among pads.
static void addDigit(sTgcDigitVec &digits, const Identifier &id, uint16_t bctag, double digittime, double charge)
Adds a digit to the appropriate cache.
digitMode
Constructor initializing digitization parameters.
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
StatusCode initialize()
Initialize digitization parameters, including reading necessary data files.
std::vector< std::unique_ptr< sTgcDigit > > sTgcDigitVec
const NswCalibDbThresholdData * thresholdData
virtual ~sTgcDigitMaker()
Destructor.
sTgcDigitMaker(const Muon::IMuonIdHelperSvc *idHelperSvc, const int channelTypes, double meanGasGain, bool doPadChargeSharing, double stripChargeScale, bool applyAsBuiltBLines)
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Handles the digitization of sTGC hits, converting simulated hits into sTGC digits.