![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include "CLHEP/Random/RandGaussZiggurat.h"
23 return StatusCode::SUCCESS;
45 if (!badTubes->isGood(hitId)) {
53 const Amg::Vector3D locPos{xAOD::toEigen(simHit->localPosition())};
58 const MdtDigiToolInput digiInput(std::abs(locPos.perp()), distRO, 0., 0., 0., 0., hitId);
69 const double sigPropTime = tubeCalib.inversePropSpeed*distRO;
72 const double totalTdcTime = digiOutput.
driftTime() + simHit->globalTime() + sigPropTime + tubeCalib.t0;
77 }
else if (totalTdcTime <=
deadTime) {
84 const uint16_t tdcCounts = timeToTdcCnv*(hasHPTdc ? 4 : 1)*CLHEP::RandGaussZiggurat::shoot(rndEngine, totalTdcTime,
m_timeResTDC);
85 const uint16_t adcCounts = (hasHPTdc ? 4 : 1) *CLHEP::RandGaussZiggurat::shoot(rndEngine, digiOutput.
adc(),
m_timeResADC);
87 auto digit = std::make_unique<MdtDigit>(hitId, tdcCounts, adcCounts);
89 addSDO(simHit, sdoContainer);
93 return StatusCode::SUCCESS;
static IdentifierHash measurementHash(unsigned int layerNumber, unsigned int tubeNumber)
Transform the layer and tube number to the measurementHash.
double activeTubeLength(const IdentifierHash &hash) const
#define ATH_MSG_VERBOSE(x)
class which holds the full set of calibration constants for a given tube
double readoutSide
Is the readout chip at positive or negative Z?
Handle class for recording to StoreGate.
TubeContainerPtr tubeCalib
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
const T * back() const
Access the last element in the collection as an rvalue.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
Eigen::Matrix< double, 3, 1 > Vector3D
The CsvMuonSimHitDumper reads a Simulation Hit container for muons and dumps information to csv files...
Identifier identify() const
const parameterBook & getParameters() const
bool empty() const noexcept
Returns true if the collection is empty.