9#ifndef INDETRIO_ONTRACK_TRT_DRIFTCIRCLEONTRACK_H
10#define INDETRIO_ONTRACK_TRT_DRIFTCIRCLEONTRACK_H
23#include "AthLinks/ElementLink.h"
25#include "GaudiKernel/GaudiException.h"
42 class TRT_DriftCircle;
68 Trk::LocalParameters&& driftRadius,
69 Amg::MatrixX&& errDriftRadius,
77 const Trk::LocalParameters& driftRadius,
147 virtual MsgStream&
dump( MsgStream& out )
const override final;
159 const Trk::PrepRawData* prd) override final;
206 if (
m_rio.isValid()) {
207 return m_rio.cachedElement();
Cached unique_ptr with atomic update.
ElementLink< InDet::TRT_DriftCircleContainer > ElementLinkToIDCTRT_DriftCircleContainer
ElementLink implementation for ROOT usage.
This is a "hash" representation of an Identifier.
Virtual base class of TRT readout elements.
bool highLevel() const
returns true if the high level threshold was passed
float positionAlongWire() const
TRT_DriftCircleOnTrack & operator=(const TRT_DriftCircleOnTrack &)
Assignment operator.
float m_localAngle
local angle to be written out
virtual const InDetDD::TRT_BaseElement * detectorElement() const override final
returns the detector element, assoicated with the PRD of this class
Trk::DriftCircleStatus m_status
the information how the (possibly signed) drift radius should be understood
float m_positionAlongWire
local position along wire to be written out
Trk::DriftCircleSide side() const
returns the side on which the drift radius is.
TRT_DriftCircleOnTrack()
Default constructor - needed for POOL.
void setGlobalPositionHelper()
@calculate and set the global coord of this hit.
ElementLinkToIDCTRT_DriftCircleContainer m_rio
const InDetDD::TRT_BaseElement * m_detEl
corresponding detector element
TRT_DriftCircleOnTrack(const TRT_DriftCircleOnTrack &)
Copy constructor.
IdentifierHash m_idDE
the IdentifierHash - probably not used
double timeOverThreshold() const
returns time over threshold in ns for valid digits; zero otherwise
const ElementLinkToIDCTRT_DriftCircleContainer & prepRawDataLink() const
virtual const TRT_DriftCircle * prepRawData() const override final
returns the PrepRawData - is a TRT_DriftCircle in this scope
virtual IdentifierHash idDE() const override final
returns the DE hashID
Trk::DriftCircleStatus status() const
returns the status of the drift radius calibration.
virtual const Amg::Vector3D & globalPosition() const override final
return the global position of this RIO_OnTrack
double m_timeOverThreshold
the time over threshold in nsec
virtual const Trk::Surface & associatedSurface() const override final
returns the surface for the local to global transformation
bool m_highLevel
the high level flag
virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
Method checking the Rio On Track type.
virtual TRT_DriftCircleOnTrack * clone() const override final
allows copying without losing the type information.
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...
Amg::Vector3D m_globalPosition
global position to be cached
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Abstract Base Class for tracking surfaces.
double timeOverThreshold(unsigned int m_word)
bool highLevel(unsigned int m_word)
Definition of ATLAS Math & Geometry primitives (Amg)
Ensure that the ATLAS eigen extensions are properly loaded.
DriftCircleStatus
Enumerates the 'status' of the wire on which the tracks passed (based on the TRT_Side enum,...