|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #include "GaudiKernel/GaudiException.h"
10 #include "GaudiKernel/StatusCode.h"
22 const double positionAlongWire,
26 m_positionAlongWire{positionAlongWire},
28 m_errorStrategy{errorStrategy} {
32 m_rio.setElement(RIO);
33 m_globalPosition.store(std::make_unique<Amg::Vector3D>(associatedSurface().localToGlobal(m_localParams, predictedTrackDirection, positionAlongWire)));
38 if(
driftRadius() > std::numeric_limits<float>::epsilon()) {
43 m_localAngle = (loc_gDirection.y()<0.) ? 2*
M_PI - calc_angle : calc_angle;
53 const double positionAlongWire,
57 m_positionAlongWire{positionAlongWire},
59 m_errorStrategy{errorStrategy} {
61 m_rio.setElement(RIO);
66 m_status{
other.m_status},
68 m_localAngle{
other.m_localAngle},
69 m_positionAlongWire{
other.m_positionAlongWire},
70 m_driftTime{
other.m_driftTime},
71 m_errorStrategy{
other.m_errorStrategy},
72 m_detEl{
other.m_detEl} {
81 const double positionAlongWire,
82 const double localAngle,
84 Trk::
RIO_OnTrack{std::move(locPos), std::move(errDriftRadius),
id},
87 m_localAngle{localAngle},
88 m_positionAlongWire{positionAlongWire},
90 m_errorStrategy{errorStrategy},
132 stream << MSG::INFO<<
"MdtDriftCircleOnTrack {"<<std::endl;
136 stream <<
"Global position (x,y,z) = ";
147 stream <<
"MdtDriftCircleOnTrack {"<<std::endl;
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 MuonGM::MdtReadoutElement * m_detEl
DriftCircleStatus
Enumerates the 'status' of the wire on which the tracks passed (based on the TRT_Side enum,...
virtual MsgStream & dump(MsgStream &stream) const override final
Dumps information about the PRD.
MdtDriftCircleOnTrack & operator=(const MdtDriftCircleOnTrack &)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
ElementLinkToIDC_MDT_Container m_rio
the pointer to the MdtPrepData object (mutable because it might need to be recreated when reading tra...
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global Position.
@ UNDECIDED
sign of drift radius has not been determined
double m_localAngle
This angle is the position of the point of closest approach in cylindrical coordinates,...
Trk::DriftCircleSide side() const
Returns the side on which the drift radius is wrt to the track.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
double m_positionAlongWire
This is the position of the point of closest approach, in the local z coord (i.e.
double localAngle() const
Returns the local angle, as determined by the extrapolation used when creating this Trk::RIO_OnTrack.
double positionAlongWire() const
Returns the position along the wire, as determined by the extrapolation used when creating this Trk::...
double driftRadius() const
Returns the value of the drift radius.
Trk::DriftCircleStatus m_status
information on the status of the Mdt measurement - see Trk::DriftCircleStatus for definitions
CxxUtils::CachedUniquePtr< Amg::Vector3D > m_globalPosition
global position of the measurement.
@ DECIDED
sign of drift radius has been determined
void setPerp(Amg::Vector3D &v, double perp)
scales the vector in the xy plane without changing the z coordinate nor the angles
Identifier identify() const
return the identifier
Ensure that the ATLAS eigen extensions are properly loaded.
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
Class to represent measurements from the Monitored Drift Tubes.
Eigen::Matrix< double, 3, 1 > Vector3D
void setGlobalPosition(Amg::Vector3D &&loc3Dframe) const
Uses the passed loc3Dframe to calculate and set the global coord of this hit.
virtual const Trk::StraightLineSurface & associatedSurface() const override final
Returns the surface on which this measurement was taken.
double m_driftTime
This is the drift time used to obtain the drift radius.
MdtDriftCircleOnTrack()=default
Default ctor - for use by POOL only.
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
MuonDriftCircleErrorStrategy m_errorStrategy
Records information about the 'strategy' used by Muon::MdtDriftCircleOnTrackCreator to make this obje...