|
ATLAS Offline Software
|
Go to the documentation of this file.
46 VP1Msg::message(
"SimHitHandle_TRTHit constructor ERROR: Received null hit pointer");
73 VP1Msg::message(
"SimHitHandle_TRTHit constructor WARNING: Could not determine mass for pdg code "
82 return sqrt(betasq)*(
mass+ekin);
95 size_t hitID =
thehit->
GetHitID(), moduleID(0), trtID(0),sectorID(0);
96 static const size_t mask = 0x1F;
97 static const size_t shift = 5;
98 std::bitset<32> idBits(hitID);
100 size_t layerID(0), ringID(0);
103 layerID = hitID &
mask;
105 moduleID = hitID &
mask;
107 ringID = hitID &
mask;
108 trtID = hitID >> shift;
109 detelem =
mgr->getBarrelElement(trtID,ringID,moduleID,layerID);
112 size_t wheelID(0), planeID(0);
115 planeID = hitID &
mask;
117 sectorID = hitID &
mask;
119 wheelID = hitID &
mask;
120 trtID = hitID >> shift;
121 bool isPositive = (trtID==2);
122 detelem =
mgr->getEndcapElement(isPositive,wheelID,planeID,sectorID);
174 VP1Msg::message(
"SimHitHandle_TRTHit::createTrackParameters ERROR: could not get Trk::StraightLineSurface");
183 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
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