9#include "GaudiKernel/GaudiException.h"
10#include "GaudiKernel/StatusCode.h"
32 m_rio.setElement(RIO);
38 if(
driftRadius() > std::numeric_limits<float>::epsilon()) {
41 const double ratio = loc_gDirection.x() / std::abs(
driftRadius());
42 const double calc_angle = std::abs(ratio) >= 1. ?
M_PI * (ratio < 0.) : std::acos(ratio);
61 m_rio.setElement(RIO);
132 stream << MSG::INFO<<
"MdtDriftCircleOnTrack {"<<std::endl;
135 stream <<
"Status: "<<
m_status<<std::endl;
136 stream <<
"Global position (x,y,z) = ";
147 stream <<
"MdtDriftCircleOnTrack {"<<std::endl;
150 stream <<
"Status: "<<
m_status<<std::endl;
154 stream<<
"}"<<std::endl;
ElementLink< Muon::MdtPrepDataContainer > ElementLinkToIDC_MDT_Container
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.
double localAngle() const
Returns the local angle, as determined by the extrapolation used when creating this Trk::RIO_OnTrack.
virtual MsgStream & dump(MsgStream &stream) const override final
Dumps information about the PRD.
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.
CxxUtils::CachedUniquePtr< Amg::Vector3D > m_globalPosition
global position of the measurement.
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...
Trk::DriftCircleSide side() const
Returns the side on which the drift radius is wrt to the track.
MdtDriftCircleOnTrack & operator=(const MdtDriftCircleOnTrack &)
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.
MuonDriftCircleErrorStrategy m_errorStrategy
Records information about the 'strategy' used by Muon::MdtDriftCircleOnTrackCreator to make this obje...
Class to represent measurements from the Monitored Drift Tubes.
LocalParameters m_localParams
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
virtual MsgStream & dump(MsgStream &out) const override
returns the some information about this RIO_OnTrack.
RIO_OnTrack(LocalParameters &&locpars, Amg::MatrixX &&loccov, const Identifier &id)
Constructor with parameters and without externalPrediction.
Identifier identify() const
return the identifier -extends MeasurementBase
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
void setPerp(Amg::Vector3D &v, double perp)
scales the vector in the xy plane without changing the z coordinate nor the angles
Eigen::Matrix< double, 3, 1 > Vector3D
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.
@ 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,...
@ DECIDED
sign of drift radius has been determined
@ UNDECIDED
sign of drift radius has not been determined