|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include "GaudiKernel/MsgStream.h"
36 , m_positionAlongWire(predictedLocZ)
39 , m_highLevel(RIO->highLevel())
40 , m_timeOverThreshold(RIO->timeOverThreshold())
41 , m_detEl(RIO->detectorElement())
44 m_rio.setElement(RIO);
45 const Trk::Surface& detElSurf = m_detEl->surface(RIO->identify());
50 slsf.
localToGlobal(m_localParams, predictedTrackDirection, predictedLocZ);
57 m_localAngle = std::atan2(loc_gDirection.y(), loc_gDirection.x());
77 , m_localAngle(localAngle)
78 , m_positionAlongWire(predictedLocZ)
96 m_localAngle(std::numeric_limits<float>::quiet_NaN()),
97 m_positionAlongWire(std::numeric_limits<float>::quiet_NaN()),
102 m_timeOverThreshold(0.),
134 m_globalPosition = std::move(rot.m_globalPosition);
136 m_localAngle = rot.m_localAngle;
137 m_positionAlongWire = rot.m_positionAlongWire;
139 m_status = rot.m_status;
140 m_highLevel = rot.m_highLevel;
141 m_timeOverThreshold = rot.m_timeOverThreshold;
142 m_detEl = rot.m_detEl;
193 throw GaudiException(
"Dynamic_cast to StraightLineSurface failed!",
194 "TRT_DriftCircleOnTrack::setGlobalPosition()",
195 StatusCode::FAILURE);
214 std::string
name(
"TRT_DriftCircleOnTrack: ");
218 sl <<
name<<
"\t driftradius = ("
227 sl <<
"TRT_DriftCircleOnTrack {"<<std::endl;
231 sl <<
"Global position (x,y,z) = (";
238 << (
highLevel() ?
" with TR flag ON":
" with TR flag OFF")<<std::endl;
Trk::DriftCircleSide side() const
returns the side on which the drift radius is.
Amg::Vector3D m_globalPosition
global position to be cached
virtual MsgStream & dump(MsgStream &out) const override
returns the some information about this RIO_OnTrack.
@ NONE
it was not possible to determine the which side of the straw the track passed;
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
const InDetDD::TRT_BaseElement * m_detEl
corresponding detector element
DriftCircleStatus
Enumerates the 'status' of the wire on which the tracks passed (based on the TRT_Side enum,...
float m_localAngle
local angle to be written out
virtual const Trk::Surface & associatedSurface() const override final
returns the surface for the local to global transformation
Identifier identify(const UncalibratedMeasurement *meas)
Returns the associated identifier.
bool highLevel() const
returns true if the high level threshold was passed
TRT_DriftCircleOnTrack()
Default constructor - needed for POOL.
@ UNDECIDED
sign of drift radius has not been determined
ElementLinkToIDCTRT_DriftCircleContainer m_rio
bool highLevel(unsigned int m_word)
void setGlobalPositionHelper()
@calculate and set the global coord of this hit.
@ RIGHT
the drift radius is positive (see Trk::AtaStraightLine)
bool m_highLevel
the high level flag
double m_timeOverThreshold
the time over threshold in nsec
RIO_OnTrack & operator=(const RIO_OnTrack &rot)=default
Assignment operator.
Trk::DriftCircleStatus m_status
the information how the (possibly signed) drift radius should be understood
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
double timeOverThreshold() const
returns time over threshold in ns for valid digits; zero otherwise
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specified for StraightLineSurface: LocalToGlobal method without dynamic memory allocation.
virtual ~TRT_DriftCircleOnTrack()
Destructor.
Eigen::Matrix< double, 3, 1 > Vector3D
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
DriftCircleSide
Enumerates the 'side' of the wire on which the tracks passed (i.e.
virtual void setValues(const Trk::TrkDetElementBase *detEl, const Trk::PrepRawData *prd) override final
ONLY for use in custom convertor Allows the custom convertor to reset values when persistying/reading...
IdentifierHash m_idDE
the IdentifierHash - probably not used
Identifier identify() const
return the identifier -extends MeasurementBase
double timeOverThreshold(unsigned int m_word)
@ LEFT
the drift radius is negative (see Trk::AtaStraightLine)
TRT_DriftCircleOnTrack & operator=(const TRT_DriftCircleOnTrack &)
Assignment operator.
float m_positionAlongWire
local position along wire to be written out
virtual MsgStream & dump(MsgStream &out) const override final
returns some information about this RIO_OnTrack.
virtual const Amg::Vector3D & globalPosition() const override final
return the global position of this RIO_OnTrack
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
virtual const Trk::Surface & surface() const override final
Element Surface: access to the Surface (straw layer)
constexpr virtual SurfaceType type() const =0
Returns the Surface type to avoid dynamic casts.