ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::SortTSOSByDistanceToPars Class Reference

#include <SortMeasurementsByPosition.h>

Collaboration diagram for Muon::SortTSOSByDistanceToPars:

Public Member Functions

 SortTSOSByDistanceToPars (const Trk::TrackParameters *pars)
double operator() (const std::pair< bool, const Trk::TrackStateOnSurface * > &tsos1, const std::pair< bool, const Trk::TrackStateOnSurface * > &tsos2)
double operator() (const std::unique_ptr< const Trk::TrackStateOnSurface > &tsos1, const std::unique_ptr< const Trk::TrackStateOnSurface > &tsos2)

Private Member Functions

Amg::Vector3D position (const Trk::TrackStateOnSurface &tsos) const

Private Attributes

DistanceToPars m_distToPars
Amg::Vector3D m_dummyPosition

Detailed Description

Definition at line 55 of file SortMeasurementsByPosition.h.

Constructor & Destructor Documentation

◆ SortTSOSByDistanceToPars()

Muon::SortTSOSByDistanceToPars::SortTSOSByDistanceToPars ( const Trk::TrackParameters * pars)
inline

Member Function Documentation

◆ operator()() [1/2]

double Muon::SortTSOSByDistanceToPars::operator() ( const std::pair< bool, const Trk::TrackStateOnSurface * > & tsos1,
const std::pair< bool, const Trk::TrackStateOnSurface * > & tsos2 )
inline

Definition at line 59 of file SortMeasurementsByPosition.h.

60 {
61 return CxxUtils::fpcompare::less(m_distToPars(position(*tsos1.second)), m_distToPars(position(*tsos2.second)));
62 }
Amg::Vector3D position(const Trk::TrackStateOnSurface &tsos) const
bool less(double a, double b)
Compare two FP numbers, working around x87 precision issues.
Definition fpcompare.h:166

◆ operator()() [2/2]

double Muon::SortTSOSByDistanceToPars::operator() ( const std::unique_ptr< const Trk::TrackStateOnSurface > & tsos1,
const std::unique_ptr< const Trk::TrackStateOnSurface > & tsos2 )
inline

Definition at line 63 of file SortMeasurementsByPosition.h.

64 {
66 }

◆ position()

Amg::Vector3D Muon::SortTSOSByDistanceToPars::position ( const Trk::TrackStateOnSurface & tsos) const
inlineprivate

Definition at line 69 of file SortMeasurementsByPosition.h.

69 {
70 if (tsos.trackParameters())
71 return tsos.trackParameters()->position();
72 else if (tsos.measurementOnTrack())
73 return tsos.measurementOnTrack()->globalPosition();
74 return m_dummyPosition;
75 }
virtual const Amg::Vector3D & globalPosition() const =0
Interface method to get the global Position.
const Amg::Vector3D & position() const
Access method for the position.
const MeasurementBase * measurementOnTrack() const
returns MeasurementBase const overload
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload

Member Data Documentation

◆ m_distToPars

DistanceToPars Muon::SortTSOSByDistanceToPars::m_distToPars
private

Definition at line 76 of file SortMeasurementsByPosition.h.

◆ m_dummyPosition

Amg::Vector3D Muon::SortTSOSByDistanceToPars::m_dummyPosition
private

Definition at line 77 of file SortMeasurementsByPosition.h.


The documentation for this class was generated from the following file: