ATLAS Offline Software
Loading...
Searching...
No Matches
MuPatHit.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUPATHIT_H
6#define MUPATHIT_H
7
8#include <list>
9#include <mutex>
10
12#include "Identifier/Identifier.h"
17
18
19namespace Muon {
20
24 class MuPatHit;
25 using MuPatHitPtr = std::shared_ptr<MuPatHit>;
26 using MuPatHitList = std::vector<MuPatHitPtr>;
27 using MuPatHitCit = MuPatHitList::const_iterator;
28 using MuPatHitIt = MuPatHitList::iterator;
29
30 class MuPatHit : public Trk::ObjectCounter<MuPatHit> {
31 public:
32 enum Type { UnknownType = -1, MDT = 0, RPC = 1, TGC = 2, CSC = 3, MM = 4, sTGC = 5, PREC = 6, Pseudo = 7, Scatterer = 8 };
34 enum HitSelection { UnknownSelection = -1, Precise = 0, Broad = 1 };
35
59
71 MuPatHit(std::shared_ptr<const Trk::TrackParameters> pars,
72 std::shared_ptr<const Trk::MeasurementBase> presMeas,
73 std::shared_ptr<const Trk::MeasurementBase> broadMeas,
74 const Info& info);
75
77 MuPatHit(const MuPatHit& hit);
78
81
83 virtual ~MuPatHit() = default;
84
86 const Trk::TrackParameters& parameters() const;
87
89 const Trk::MeasurementBase& measurement() const;
90
92 const Info& info() const;
93
95 Info& info();
96
98 std::unique_ptr<MuPatHit> clone() const { return std::make_unique<MuPatHit>(*this); }
99
102
105
106 void setResidual(double residual, double pull);
107
109 double residual() const;
111 double pull() const;
112
114 static unsigned int maxNumberOfInstantiations();
115
117 static unsigned int numberOfInstantiations();
118
120 static unsigned int numberOfCopies();
121
122 private:
124 void copy(const MuPatHit& hit);
125
126 // private member data
127 std::shared_ptr<const Trk::TrackParameters> m_pars{};
128 std::shared_ptr<const Trk::MeasurementBase> m_precisionMeas{};
129 std::shared_ptr<const Trk::MeasurementBase> m_broadMeas;
131 double m_residual{0.};
132 double m_pull{0.};
133 }; // class MuPatHit
134
135} // namespace Muon
136
137#endif
Atomic min/max functions.
double residual() const
returns the residual of the measurement
Definition MuPatHit.cxx:53
MuPatHit & operator=(const MuPatHit &)
assignment operator
Definition MuPatHit.cxx:29
double m_pull
Definition MuPatHit.h:132
std::shared_ptr< const Trk::TrackParameters > m_pars
Definition MuPatHit.h:127
const Trk::MeasurementBase & broadMeasurement() const
returns broad measurement
Definition MuPatHit.cxx:50
std::shared_ptr< const Trk::MeasurementBase > m_broadMeas
Definition MuPatHit.h:129
double pull() const
returns the pull of the measurement
Definition MuPatHit.cxx:54
static unsigned int numberOfCopies()
number of times the copy constructor was called since last reset
static unsigned int numberOfInstantiations()
current number of objects of this type in memory
static unsigned int maxNumberOfInstantiations()
maximum number of objects of this type in memory
const Trk::TrackParameters & parameters() const
returns a reference to the TrackParameters
Definition MuPatHit.cxx:43
void copy(const MuPatHit &hit)
copy hit
Definition MuPatHit.cxx:35
const Trk::MeasurementBase & preciseMeasurement() const
returns precise measurement
Definition MuPatHit.cxx:49
const Trk::MeasurementBase & measurement() const
returns a reference to the selected measurement
Definition MuPatHit.cxx:45
void setResidual(double residual, double pull)
Definition MuPatHit.cxx:55
std::unique_ptr< MuPatHit > clone() const
clones the MuPatHit
Definition MuPatHit.h:98
virtual ~MuPatHit()=default
destructor
std::shared_ptr< const Trk::MeasurementBase > m_precisionMeas
Definition MuPatHit.h:128
MuPatHit(std::shared_ptr< const Trk::TrackParameters > pars, std::shared_ptr< const Trk::MeasurementBase > presMeas, std::shared_ptr< const Trk::MeasurementBase > broadMeas, const Info &info)
construction taking all members as argument, ownership is taken only of the broadMeas.
Definition MuPatHit.cxx:17
const Info & info() const
returns a reference to the hit info
Definition MuPatHit.cxx:51
double m_residual
Definition MuPatHit.h:131
This class is the pure abstract base class for all fittable tracking measurements.
Helper to enable counting number of instantiations in debug builds.
StIndex
enum to classify the different station layers in the muon spectrometer
ChIndex
enum to classify the different chamber layers in the muon spectrometer
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
std::vector< MuPatHitPtr > MuPatHitList
Definition MuPatHit.h:26
std::shared_ptr< MuPatHit > MuPatHitPtr
Definition MuPatHit.h:25
MuPatHitList::iterator MuPatHitIt
Definition MuPatHit.h:28
MuPatHitList::const_iterator MuPatHitCit
Definition MuPatHit.h:27
Definition TgcBase.h:6
ParametersBase< TrackParametersDim, Charged > TrackParameters
bool isEndcap
Hit in the endcap?
Definition MuPatHit.h:54
MuonStationIndex::StIndex stIdx
Station index of the Identifier BI.
Definition MuPatHit.h:48
MuonStationIndex::ChIndex chIdx
Chamber index of the Identifier.
Definition MuPatHit.h:50
bool measuresPhi
Does the hit constrain phi?
Definition MuPatHit.h:56
HitSelection selection
Definition MuPatHit.h:44
Type type
Measurement type as defined above.
Definition MuPatHit.h:42
Status status
Flag whether the hit is on Tack or not.
Definition MuPatHit.h:46
bool isSmall
Small or large sector?
Definition MuPatHit.h:52