 |
ATLAS Offline Software
|
Go to the documentation of this file.
47 VP1Msg::message(
"SimHitHandle_TRTHit constructor ERROR: Received null hit pointer");
74 VP1Msg::message(
"SimHitHandle_TRTHit constructor WARNING: Could not determine mass for pdg code "
83 return sqrt(betasq)*(
mass+ekin);
96 size_t hitID =
thehit->
GetHitID(), moduleID(0), trtID(0),sectorID(0);
97 static const size_t mask = 0x1F;
98 static const size_t shift = 5;
99 std::bitset<32> idBits(hitID);
101 size_t layerID(0), ringID(0);
104 layerID = hitID &
mask;
106 moduleID = hitID &
mask;
108 ringID = hitID &
mask;
109 trtID = hitID >> shift;
110 detelem =
mgr->getBarrelElement(trtID,ringID,moduleID,layerID);
113 size_t wheelID(0), planeID(0);
116 planeID = hitID &
mask;
118 sectorID = hitID &
mask;
120 wheelID = hitID &
mask;
121 trtID = hitID >> shift;
122 bool isPositive = (trtID==2);
123 detelem =
mgr->getEndcapElement(isPositive,wheelID,planeID,sectorID);
175 VP1Msg::message(
"SimHitHandle_TRTHit::createTrackParameters ERROR: could not get Trk::StraightLineSurface");
184 VP1Msg::message(
"SimHitHandle_TRTHit::createTrackParameters ERROR: Could not find particle charge (pdg="
int actualPDGCodeFromSimHit() const
virtual ~SimHitHandle_TRTHit()
float GetPreStepY() const
double actualMomentum() const
int GetParticleEncoding() const
Amg::Vector3D momentumDirection() const
float GetPostStepY() const
static QString str(const QString &s)
float GetGlobalTime() const
float GetPreStepZ() const
@ u
Enums for curvilinear frames.
ParametersT< TrackParametersDim, Charged, StraightLineSurface > AtaStraightLine
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
a link optimized in size for a GenParticle in a McEventCollection
void setCharge(const double &c)
SimHitHandle_TRTHit(const TRTUncompressedHit *)
float GetKineticEnergy() const
bool ensureDetElemInit() const
static double particleCharge(const int &pdgcode, bool &ok)
const HepGeom::Transform3D getAbsoluteTransform(int straw) const
This is an alias to strawTransform(int straw)
Trk::TrackParameters * createTrackParameters() const
static void messageVerbose(const QString &)
Amg::Vector3D posEnd() const
Eigen::Matrix< double, 3, 1 > Vector3D
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
float GetPreStepX() const
static void messageDebug(const QString &)
const TRTUncompressedHit * thehit
const HepMcParticleLink & particleLink() const
static void message(const QString &, IVP1System *sys=0)
Amg::Transform3D CLHEPTransformToEigen(const HepGeom::Transform3D &CLHEPtransf)
Converts a CLHEP-based HepGeom::Transform3D into an Eigen Amg::Transform3D.
static const InDetDD::TRT_DetectorManager * trtDetMgr()
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
static double particleMass(const int &pdgcode, bool &ok)
float GetPostStepX() const
const Trk::StraightLineSurface & strawSurface(int straw) const
Straw Surface: access to the surface via integer.
Imp(const TRTUncompressedHit *h)
Amg::Vector3D posStart() const
const HepMcParticleLink & particleLink() const
const InDetDD::TRT_BaseElement * detelem
float GetPostStepZ() const