ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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

Definition at line 57 of file SortMeasurementsByPosition.h.

57 : m_distToPars(pars), m_dummyPosition(0., 0., 0.) {}

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  }

◆ 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  }

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:
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
Trk::TrackStateOnSurface::trackParameters
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
Muon::SortTSOSByDistanceToPars::m_dummyPosition
Amg::Vector3D m_dummyPosition
Definition: SortMeasurementsByPosition.h:77
Trk::TrackStateOnSurface::measurementOnTrack
const MeasurementBase * measurementOnTrack() const
returns MeasurementBase const overload
Muon::SortTSOSByDistanceToPars::position
Amg::Vector3D position(const Trk::TrackStateOnSurface &tsos) const
Definition: SortMeasurementsByPosition.h:69
Trk::MeasurementBase::globalPosition
virtual const Amg::Vector3D & globalPosition() const =0
Interface method to get the global Position.
CxxUtils::fpcompare::less
bool less(double a, double b)
Compare two FP numbers, working around x87 precision issues.
Definition: fpcompare.h:166
Muon::SortTSOSByDistanceToPars::m_distToPars
DistanceToPars m_distToPars
Definition: SortMeasurementsByPosition.h:76