4#ifndef MUONRIO_ONTRACK_MDTDRIFTCIRCLEONTRACK_H
5#define MUONRIO_ONTRACK_MDTDRIFTCIRCLEONTRACK_H
16#include "AthLinks/ElementLink.h"
26 class LocalParameters;
27 class ITrkEventCnvTool;
194 virtual MsgStream&
dump( MsgStream& stream)
const override final;
197 virtual std::ostream&
dump( std::ostream& stream)
const override final;
258 if (
m_rio.isValid())
return m_rio.cachedElement();
292 throw std::runtime_error(
"No Mdt prd given to MdtDriftCircleOnTrack");
Cached unique_ptr with atomic update.
ElementLink< Muon::MdtPrepDataContainer > ElementLinkToIDC_MDT_Container
ElementLink implementation for ROOT usage.
This is a "hash" representation of an Identifier.
MdtDriftCircleOnTrack()=default
Default ctor - for use by POOL only.
virtual const Trk::Surface & surface() const override final
Return surface associated with this detector element.
Interface for the reconstruction to MDT calibration and alignment corrections.
const MuonDriftCircleErrorStrategy & errorStrategy() const
Get information about the creation strategy used by Muon::MdtDriftCircleOnTrackCreator when making th...
Trk::DriftCircleStatus status() const
Returns the status of the drift radius calibration.
virtual IdentifierHash idDE() const override final
Returns an invalid hash.
IdentifierHash collectionHash() const
Returns the hashID of the PRD collection.
double localAngle() const
Returns the local angle, as determined by the extrapolation used when creating this Trk::RIO_OnTrack.
double m_positionAlongWire
This is the position of the point of closest approach, in the local z coord (i.e.
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global Position.
double driftRadius() const
Returns the value of the drift radius.
void setGlobalPosition(Amg::Vector3D &&loc3Dframe) const
Uses the passed loc3Dframe to calculate and set the global coord of this hit.
MdtDriftCircleOnTrack()=default
Default ctor - for use by POOL only.
double driftTime() const
Returns the value of the drift time used to obtain the drift radius.
const ElementLinkToIDC_MDT_Container & prepRawDataLink() const
virtual void setValues(const Trk::TrkDetElementBase *, const Trk::PrepRawData *) override final
Sets the DetElement and Trk::PrepRawData pointers after reading from disk.
virtual ~MdtDriftCircleOnTrack()=default
Destructor:
CxxUtils::CachedUniquePtr< Amg::Vector3D > m_globalPosition
global position of the measurement.
virtual void setLocalParameters(const Trk::LocalParameters &locPos)
Sets the local parameters.
double m_driftTime
This is the drift time used to obtain the drift radius.
double m_localAngle
This angle is the position of the point of closest approach in cylindrical coordinates,...
Trk::DriftCircleStatus m_status
information on the status of the Mdt measurement - see Trk::DriftCircleStatus for definitions
const MuonGM::MdtReadoutElement * m_detEl
ElementLinkToIDC_MDT_Container m_rio
the pointer to the MdtPrepData object (mutable because it might need to be recreated when reading tra...
MdtDriftCircleOnTrack(MdtDriftCircleOnTrack &&)=default
virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
Method checking the Rio On Track type.
virtual MdtDriftCircleOnTrack * clone() const override final
Pseudo-constructor, needed to avoid excessive RTTI.
void setErrorStrategy(const MuonDriftCircleErrorStrategy &strategy)
Trk::DriftCircleSide side() const
Returns the side on which the drift radius is wrt to the track.
MdtDriftCircleOnTrack & operator=(const MdtDriftCircleOnTrack &)
MdtDriftCircleOnTrack & operator=(MdtDriftCircleOnTrack &&)=default
double positionAlongWire() const
Returns the position along the wire, as determined by the extrapolation used when creating this Trk::...
virtual const Trk::StraightLineSurface & associatedSurface() const override final
Returns the surface on which this measurement was taken.
virtual const MuonGM::MdtReadoutElement * detectorElement() const override final
Returns the detector element, assoicated with the PRD of this class.
MuonDriftCircleErrorStrategy m_errorStrategy
Records information about the 'strategy' used by Muon::MdtDriftCircleOnTrackCreator to make this obje...
virtual const MdtPrepData * prepRawData() const override final
Returns the PrepRawData used to create this corrected measurement.
Class to represent measurements from the Monitored Drift Tubes.
virtual const MuonGM::MdtReadoutElement * detectorElement() const override
Returns the detector element corresponding to this PRD.
virtual IdentifierHash collectionHash() const
Returns the IdentifierHash corresponding to the Mdt tube which was hit.
double get(ParamDefs par) const
Retrieve specified parameter (const version).
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
LocalParameters m_localParams
virtual bool type(PrepRawDataType type) const
Interface method checking the type.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Identifier identify() const
return the identifier -extends MeasurementBase
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Class for a StraightLineSurface in the ATLAS detector to describe dirft tube and straw like detectors...
This is the base class for all tracking detector elements with read-out relevant information.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 3, 1 > Vector3D
CachedUniquePtrT< const T > CachedUniquePtr
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
DriftCircleSide
Enumerates the 'side' of the wire on which the tracks passed (i.e.
@ RIGHT
the drift radius is positive (see Trk::AtaStraightLine)
@ LEFT
the drift radius is negative (see Trk::AtaStraightLine)
@ NONE
it was not possible to determine the which side of the straw the track passed;
DriftCircleStatus
Enumerates the 'status' of the wire on which the tracks passed (based on the TRT_Side enum,...
@ UNDECIDED
sign of drift radius has not been determined