|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef SORTMUPATHITS_H
6 #define SORTMUPATHITS_H
20 return difPos.dot(
pars.momentum().unit());
31 return operator()(hit1->parameters(), hit2->parameters());
60 const double absZ1 = std::abs(surf1.center().z());
61 const double absZ2 = std::abs(surf2.center().z());
62 if (std::abs(absZ1 - absZ2) > std::numeric_limits<float>::epsilon()) {
return absZ1 < absZ2; }
64 const double perp1 = surf1.center().perp2();
65 const double perp2 = surf2.center().perp2();
66 if (std::abs(perp1 -
perp2) > std::numeric_limits<float>::epsilon()) {
return perp1 <
perp2; }
72 if (st1 != st2)
return st1 < st2;
79 if (type1 != type2)
return type1 > type2;
107 return parsSorter(
m_ref, meas1) < parsSorter(
m_ref, meas2);
111 return operator()(hit1->parameters(),hit2->parameters());
121 return parsSorter(
m_ref, pars1) < parsSorter(
m_ref, pars2);
SortByDirectionMuPatHits(const Trk::TrackParameters &refPars)
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
double operator()(const MuPatHit *hit1, const MuPatHit *hit2) const
const Info & info() const
returns a reference to the hit info
const Trk::MeasurementBase & measurement() const
returns a reference to the selected measurement
const Amg::Vector3D & position() const
Access method for the position.
bool operator()(const MuPatHit *hit1, const MuPatHit *hit2) const
double operator()(const MuPatHitPtr &hit1, const MuPatHitPtr &hit2) const
double operator()(const Trk::TrackParameters &pars1, const Trk::TrackParameters &pars2) const
double operator()(const Trk::TrackParameters &pars, const Amg::Vector3D &pos) const
Scalar perp2() const
perp2 method - perpendicular length squared
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
const Trk::TrackParameters & m_ref
const IMuonIdHelperSvc * m_idh
DistanceAlongParameters distanceCalculator;.
SortByIPMuPatHits(const IMuonIdHelperSvc *idh)
bool operator()(const Trk::MeasurementBase *meas1, const Trk::MeasurementBase *meas2) const
double operator()(const Trk::TrackParameters &pars, const Trk::MeasurementBase &meas) const
Default for both collision and cosmic parameter sorting.
Status status
Flag whether the hit is on Tack or not.
bool operator()(const MuPatHitPtr &hit1, const MuPatHitPtr &hit2) const
std::shared_ptr< MuPatHit > MuPatHitPtr
bool operator()(const Trk::TrackParameters &pars1, const Trk::TrackParameters &pars2) const
virtual const Surface & associatedSurface() const =0
Interface method to get the associated Surface.
virtual const Amg::Vector3D & globalPosition() const =0
Interface method to get the global Position.
Eigen::Matrix< double, 3, 1 > Vector3D
bool operator()(const MuPatHit *hit1, const MuPatHit *hit2) const
Type type
Measurement type as defined above.
bool operator()(const Trk::TrackParameters *pars1, const Trk::TrackParameters *pars2) const
double pull() const
returns the pull of the measurement
bool operator()(const MuPatHitPtr &hit1, const MuPatHitPtr &hit2) const
Sort the mu pat hits using their associated surfaces.
Identifier id
Identifier of the measurement. Is invalid in cases of pseudo measurements.
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
const Trk::TrackParameters & parameters() const
returns a reference to the TrackParameters
StIndex
enum to classify the different station layers in the muon spectrometer
int channelType(const Identifier &id) const
MuonStationIndex::StIndex stIdx
Station index of the Identifier BI.
bool isEndcap
Hit in the endcap?
bool measuresPhi
Does the hit constrain phi?