ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonSegment Class Referencefinal

This is the common class for 3D segments used in the muon spectrometer. More...

#include <MuonSegment.h>

Inheritance diagram for Muon::MuonSegment:
Collaboration diagram for Muon::MuonSegment:

Public Types

enum  Author {
  AuthorUnknown = 0 , MooMdtSegmentMakerTool = 1 , MooCscSegmentMakerTool = 2 , Muonboy = 3 ,
  DCMathSegmentMaker = 4 , MDT_DHoughSegmentMakerTool = 5 , CSC_DHoughSegmentMakerTool = 6 , Csc2dSegmentMaker = 7 ,
  Csc4dSegmentMaker = 8 , TRT_SegmentMaker = 9 , CTBTracking = 10 , DCMathSegmentMakerCurved = 11 ,
  NswStereoSeeded = 12 , NswStgcSeeded = 13 , NswPadSeeded = 14 , NswQuadAlign = 15 ,
  NumberOfAuthors = 16
}
 enum to identify who created the segment. More...

Public Member Functions

 MuonSegment ()
 Default Constructor for POOL.
 MuonSegment (const MuonSegment &seg)
 Copy Constructor.
MuonSegmentoperator= (const MuonSegment &seg)
 Assignment operator.
 MuonSegment (MuonSegment &&seg) noexcept=default
 Move Constructor.
MuonSegmentoperator= (MuonSegment &&seg) noexcept=default
 Move Assignment operator.
 MuonSegment (Trk::LocalParameters &&locpars, Amg::MatrixX &&locerr, Trk::PlaneSurface *psf, DataVector< const Trk::MeasurementBase > &&cmeas, Trk::FitQuality *fqual, Segment::Author author=AuthorUnknown)
 Constructor within standard track parameters frame taking a vector of MeasurementBase.
 MuonSegment (const Amg::Vector2D &segLocPos, const Trk::LocalDirection &segLocDir, Amg::MatrixX &&segLocalErr, Trk::PlaneSurface *psf, DataVector< const Trk::MeasurementBase > &&cmeas, Trk::FitQuality *fqual, Segment::Author author=AuthorUnknown)
 Constructor within local parameters of the Segment taking a vector of MeasurementBase.
virtual ~MuonSegment ()
 Destructor.
virtual MuonSegmentclone () const override final
 needed to avoid excessive RTTI
virtual const Amg::Vector3DglobalPosition () const override final
 global position
const Amg::Vector3DglobalDirection () const
 global direction
const Trk::LocalDirectionlocalDirection () const
 local direction
virtual const Trk::PlaneSurfaceassociatedSurface () const override final
 returns the surface for the local to global transformation
unsigned int numberOfContainedROTs () const
 number of RIO_OnTracks
const Trk::RIO_OnTrackrioOnTrack (unsigned int) const
 returns the RIO_OnTrack (also known as ROT) objects depending on the integer
void setT0Error (float t0, float t0Error)
 set the fitted time and error on the time
bool hasFittedT0 () const
 returns whether the segment has a fitted t0
void recalculateCache ()
 recalculate the cache
std::unique_ptr< SegmentuniqueClone () const
 NVI uniqueClone method.
virtual bool type (MeasurementBaseType::Type type) const override final
 Extended method checking the type.
const std::vector< const Trk::MeasurementBase * > & containedMeasurements () const
 returns the vector of Trk::MeasurementBase objects
const DataVector< const Trk::MeasurementBase > & containedMeasurementsDataVector () const
bool hasContainedMeasurements () const
unsigned int numberOfMeasurementBases () const
 Return the number of contained Trk::MeasurementBase (s)
const MeasurementBasemeasurement (unsigned int) const
 returns the Trk::MeasurementBase objects depending on the integer
const FitQuality * fitQuality () const
 return the FitQuality object, returns NULL if no FitQuality is defined
void setAuthor (Author a)
 sets the segment author
Author author () const
 return segment author
std::string dumpAuthor () const
 returns human readble string version of author
const LocalParameters & localParameters () const
 Interface method to get the LocalParameters.
const Amg::MatrixXlocalCovariance () const
 Interface method to get the localError.
float time () const
 access to the measured time
float errorTime () const
 access to the error on the measured time
float weight () const
 access to the weight of the space time point
const Trk::PlaneSurfacesurfacePtr ()
 return the ptr we hold useful for tests
const Trk::PlaneSurfacerelease () noexcept
 release ala unique_ptr release
void destroySurface () noexcept
 destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing

Static Public Member Functions

static std::size_t numberOfInstantiations ()
static const Trk::PlaneSurfacecloneHelper (const Trk::PlaneSurface *input)
 Helper for cloning or not when we need depending on if we have an associatedDetectorElement.

Static Public Attributes

static const float kNoValue = FLT_MAX
 define invalid value, used when the segment has no fitted t0
static std::atomic_size_t s_numberOfInstantiations

Protected Member Functions

virtual MsgStream & dump (MsgStream &out) const override final
 returns some information about this RIO_OnTrack/TrackSegment.
virtual std::ostream & dump (std::ostream &out) const override final
 returns some information about this RIO_OnTrack/TrackSegment.

Protected Attributes

std::unique_ptr< FitQuality > m_fitQuality
 The fit quality of the Segment.
DataVector< const MeasurementBasem_containedMeasBases
 The vector of contained (generic) Trk::MeasurementBase objects.
Author m_author
 segment author
LocalParameters m_localParams
Amg::MatrixX m_localCovariance
float m_time
 measured time
float m_errorTime
 error on the time measurement
float m_weight
 weight of the point
const Trk::PlaneSurfacem_associatedSurface

Private Member Functions

void clearMeasVector ()
 private method to clear the Trk::MeasurementBase vector

Private Attributes

Amg::Vector3D m_globalPosition
 The global position the surface can be associated to.
Amg::Vector3D m_globalDirection
 cache global direction, not persistified
Trk::LocalDirection m_localDirection
 LocalDirection.

Detailed Description

This is the common class for 3D segments used in the muon spectrometer.

The Surface type for MuonSegments is restricted to be a PlaneSurface. The parameters of the MuonSegment are:

  • the Trk::LocalPosition of the segment in the surface reference frame
  • the Trk::LocalDirection of the segment which consistes of the angles \( \theta_{xz} \) and \(\theta_{yz}\).

The MuonSegment stores a list of Trk::MeasurementBase objects allowing it to contain measurements from all detector types in the muon spectrometer.

Author
Niels.nosp@m..van.nosp@m..Eldi.nosp@m.k@ce.nosp@m.rn.ch, Edwar.nosp@m.d.Mo.nosp@m.yse@c.nosp@m.ern..nosp@m.ch, Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 41 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

Member Enumeration Documentation

◆ Author

enum Trk::Segment::Author
inherited

enum to identify who created the segment.

If you update this don't forget to update the dump method.

Enumerator
AuthorUnknown 
MooMdtSegmentMakerTool 
MooCscSegmentMakerTool 
Muonboy 
DCMathSegmentMaker 
MDT_DHoughSegmentMakerTool 
CSC_DHoughSegmentMakerTool 
Csc2dSegmentMaker 
Csc4dSegmentMaker 
TRT_SegmentMaker 
CTBTracking 
DCMathSegmentMakerCurved 
NswStereoSeeded 
NswStgcSeeded 
NswPadSeeded 
NswQuadAlign 
NumberOfAuthors 

Definition at line 62 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

63 {
64 AuthorUnknown = 0,
67 Muonboy = 3,
74 CTBTracking = 10,
76 NswStereoSeeded = 12,
77 NswStgcSeeded = 13,
78 NswPadSeeded = 14,
79 NswQuadAlign = 15,
81 };

Constructor & Destructor Documentation

◆ MuonSegment() [1/5]

Muon::MuonSegment::MuonSegment ( )

Default Constructor for POOL.

Definition at line 22 of file MuonSegment.cxx.

23 : Segment()
25 , Trk::SurfacePtrHolderImplDetEl<Trk::PlaneSurface>(nullptr)
29{}
Amg::Vector3D m_globalPosition
The global position the surface can be associated to.
static const float kNoValue
define invalid value, used when the segment has no fitted t0
Segment()
Default Constructor for POOL.
SpaceTimePointBase(const float &t, const float &t_error, const float &weight)
constructor taking a time, an error on the time and a weight

◆ MuonSegment() [2/5]

Muon::MuonSegment::MuonSegment ( const MuonSegment & seg)

Copy Constructor.

Definition at line 31 of file MuonSegment.cxx.

32 : Segment(seg)
34 , Trk::SurfacePtrHolderImplDetEl<Trk::PlaneSurface>(nullptr)
38{
42}
Amg::Vector3D m_globalPosition
The global position the surface can be associated to.
Amg::Vector3D m_globalDirection
cache global direction, not persistified
virtual PlaneSurface * clone() const override
Virtual constructor.
const TrkDetElementBase * associatedDetectorElement() const
return associated Detector Element

◆ MuonSegment() [3/5]

Muon::MuonSegment::MuonSegment ( MuonSegment && seg)
defaultnoexcept

Move Constructor.

◆ MuonSegment() [4/5]

Muon::MuonSegment::MuonSegment ( Trk::LocalParameters && locpars,
Amg::MatrixX && locerr,
Trk::PlaneSurface * psf,
DataVector< const Trk::MeasurementBase > && cmeas,
Trk::FitQuality * fqual,
Segment::Author author = AuthorUnknown )

Constructor within standard track parameters frame taking a vector of MeasurementBase.

Parameters
locpars4 dim or 5 dim standard track parameters representation
locerr4 x 4 error or 5 x 5 error on standard track parameters repr.
psfplane surface
cmeasvector of contained measurements on track
fqualfit quality object
authorenum to indicate author, see Segment.h for the possible authors

Definition at line 58 of file MuonSegment.cxx.

64 : Segment(std::move(locpars), std::move(locerr),
65 std::move(cmeas), fqual, author)
67 , Trk::SurfacePtrHolderImplDetEl<Trk::PlaneSurface>(psf)
71{
74}
void recalculateCache()
recalculate the cache
void globalToLocalDirection(const Amg::Vector3D &glodir, Trk::LocalDirection &locdir) const
This method transforms the global direction to a local direction wrt the plane.
Author author() const
return segment author

◆ MuonSegment() [5/5]

Muon::MuonSegment::MuonSegment ( const Amg::Vector2D & segLocPos,
const Trk::LocalDirection & segLocDir,
Amg::MatrixX && segLocalErr,
Trk::PlaneSurface * psf,
DataVector< const Trk::MeasurementBase > && cmeas,
Trk::FitQuality * fqual,
Segment::Author author = AuthorUnknown )

Constructor within local parameters of the Segment taking a vector of MeasurementBase.

Parameters
segLocPos2 local position coordinates
segLocalErr2 local direction coordinates
segLocalErr4 x 4 full local error
psfplane surface
cmeasvector of contained measurements on track
fqualfit quality object
authorenum to indicate author, see Segment.h for the possible authors

Definition at line 76 of file MuonSegment.cxx.

83 : Segment(Trk::LocalParameters(), std::move(locErr),
84 std::move(cmeas), fqual, author)
86 , Trk::SurfacePtrHolderImplDetEl<Trk::PlaneSurface>(psf)
89 , m_localDirection(locSegDir)
90{
92
93 Amg::Vector2D lpos(locSegPos[Trk::locX], locSegPos[Trk::locY]);
95
96 double phi = m_globalDirection.phi();
97 double theta = m_globalDirection.theta();
98 std::array<Trk::DefinedParameter, 4> pars = {
99 {{locSegPos[Trk::locX], Trk::locX},
100 {locSegPos[Trk::locY], Trk::locY},
101 {phi, Trk::phi},
102 {theta, Trk::theta}}};
103 m_localParams = Trk::LocalParameters(pars);
104}
Scalar phi() const
phi method
Scalar theta() const
theta method
LocalParameters m_localParams
void localToGlobalDirection(const Trk::LocalDirection &locdir, Amg::Vector3D &globdir) const
This method transforms a local direction wrt the plane to a global direction.
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specified for PlaneSurface: LocalToGlobal method without dynamic memory allocation.
Eigen::Matrix< double, 2, 1 > Vector2D
@ locY
local cartesian
Definition ParamDefs.h:38
@ locX
Definition ParamDefs.h:37
@ theta
Definition ParamDefs.h:66
@ phi
Definition ParamDefs.h:75

◆ ~MuonSegment()

Muon::MuonSegment::~MuonSegment ( )
virtualdefault

Destructor.

Member Function Documentation

◆ associatedSurface()

const Trk::PlaneSurface & Muon::MuonSegment::associatedSurface ( ) const
inlinefinaloverridevirtual

returns the surface for the local to global transformation

  • interface from MeasurementBase

Implements Trk::MeasurementBase.

Definition at line 175 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

176{
177 return (*m_associatedSurface);
178}

◆ author()

Segment::Author Trk::Segment::author ( ) const
inlineinherited

return segment author

Definition at line 199 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

200{
201 return m_author;
202}

◆ clearMeasVector()

void Muon::MuonSegment::clearMeasVector ( )
private

private method to clear the Trk::MeasurementBase vector

◆ clone()

MuonSegment * Muon::MuonSegment::clone ( ) const
inlinefinaloverridevirtual

needed to avoid excessive RTTI

Implements Trk::Segment.

Definition at line 181 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

182{
183 return new MuonSegment(*this);
184}
MuonSegment()
Default Constructor for POOL.

◆ cloneHelper()

const Trk::PlaneSurface * Trk::SurfacePtrHolderImplDetEl< Trk::PlaneSurface >::cloneHelper ( const Trk::PlaneSurface * input)
inlinestaticinherited

Helper for cloning or not when we need depending on if we have an associatedDetectorElement.

Definition at line 213 of file SurfaceHolderImpl.h.

214 {
215 return (input && input->associatedDetectorElement() == nullptr
216 ? input->clone()
217 : input);
218 }

◆ containedMeasurements()

const std::vector< const MeasurementBase * > & Trk::Segment::containedMeasurements ( ) const
inlineinherited

returns the vector of Trk::MeasurementBase objects

Definition at line 166 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

167{
168 return m_containedMeasBases.stdcont();
169}
DataVector< const MeasurementBase > m_containedMeasBases
The vector of contained (generic) Trk::MeasurementBase objects.

◆ containedMeasurementsDataVector()

const DataVector< const MeasurementBase > & Trk::Segment::containedMeasurementsDataVector ( ) const
inlineinherited

Definition at line 172 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

173{
175}

◆ destroySurface()

void Trk::SurfacePtrHolderImplDetEl< Trk::PlaneSurface >::destroySurface ( )
inlinenoexceptinherited

destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing

Definition at line 201 of file SurfaceHolderImpl.h.

202 {
204 m_associatedSurface->associatedDetectorElement() == nullptr) {
205 delete m_associatedSurface;
206 }
207 //
208 m_associatedSurface = nullptr;
209 }

◆ dump() [1/2]

MsgStream & Muon::MuonSegment::dump ( MsgStream & out) const
finaloverrideprotectedvirtual

returns some information about this RIO_OnTrack/TrackSegment.

It should be overloaded by any child classes

Implements Trk::MeasurementBase.

Definition at line 126 of file MuonSegment.cxx.

127{
128 out << "Muon::MuonSegment " << std::endl;
129 out << " - global position : " << std::endl
130 << Amg::toString(globalPosition()) << std::endl;
131 out << std::endl << localDirection() << std::endl;
132 out << " - local parameters : " << std::endl
133 << localParameters() << std::endl;
134 out << " - local Err Matrix : ";
135 out << std::endl << Amg::toString(localCovariance()) << std::endl;
136 if (nullptr != m_fitQuality)
137 out << " - fit Quality : " << std::endl
138 << (*fitQuality()) << std::endl;
139 else
140 out << " - fit Quality : NO " << std::endl;
141 out << " - associated Surface : " << std::endl
142 << associatedSurface() << std::endl;
143 out << " - t0 (error) : " << time() << "(" << errorTime() << ")"
144 << std::endl;
145 out << " - it contains : " << numberOfContainedROTs()
146 << " RIO_OnTrack object" << std::endl;
147 unsigned int numRoT = 1;
148 for (const Trk::MeasurementBase* m : containedMeasurements()) {
149 const Trk::RIO_OnTrack* rot = dynamic_cast<const Trk::RIO_OnTrack*>(m);
150 if (rot) {
151 out << "RoT " << numRoT++ << std::endl << *rot << std::endl;
152 }
153 }
154 return out;
155}
virtual const Amg::Vector3D & globalPosition() const override final
global position
virtual const Trk::PlaneSurface & associatedSurface() const override final
returns the surface for the local to global transformation
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
std::unique_ptr< FitQuality > m_fitQuality
The fit quality of the Segment.
const FitQuality * fitQuality() const
return the FitQuality object, returns NULL if no FitQuality is defined
const std::vector< const Trk::MeasurementBase * > & containedMeasurements() const
returns the vector of Trk::MeasurementBase objects
float errorTime() const
access to the error on the measured time
float time() const
access to the measured time
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.

◆ dump() [2/2]

std::ostream & Muon::MuonSegment::dump ( std::ostream & out) const
finaloverrideprotectedvirtual

returns some information about this RIO_OnTrack/TrackSegment.

It should be overloaded by any child classes

Implements Trk::MeasurementBase.

Definition at line 158 of file MuonSegment.cxx.

159{
160 out << "Muon::MuonSegment " << std::endl;
161 out << " - global position : " << std::endl
162 << Amg::toString(globalPosition()) << std::endl;
163 out << std::endl << localDirection() << std::endl;
164 out << " - local parameters : " << std::endl
165 << localParameters() << std::endl;
166 out << " - local Err Matrix : ";
167 out << std::endl << Amg::toString(localCovariance()) << std::endl;
168 if (nullptr != m_fitQuality)
169 out << " - fit Quality : " << std::endl
170 << (*fitQuality()) << std::endl;
171 else
172 out << " - fit Quality : NO " << std::endl;
173 out << " - associated Surface : " << std::endl
174 << associatedSurface() << std::endl;
175 out << " - t0 (error) : " << time() << "(" << errorTime() << ")"
176 << std::endl;
177 out << " - it contains : " << numberOfContainedROTs()
178 << " RIO_OnTrack object" << std::endl;
179 unsigned int numRoT = 1;
180 for (const Trk::MeasurementBase* m : containedMeasurements()) {
181 const Trk::RIO_OnTrack* rot = dynamic_cast<const Trk::RIO_OnTrack*>(m);
182 if (rot) {
183 out << "RoT " << numRoT++ << std::endl << *rot << std::endl;
184 }
185 }
186 return out;
187}

◆ dumpAuthor()

std::string Trk::Segment::dumpAuthor ( ) const
inherited

returns human readble string version of author

Definition at line 99 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.

99 {
100 std::string author;
101 switch (m_author) {
102 case AuthorUnknown:
103 author = "AuthorUnknown";
104 break;
106 author = "MooMdtSegmentMakerTool";
107 break;
109 author = "MooCscSegmentMakerTool";
110 break;
111 case Muonboy:
112 author = "Muonboy";
113 break;
115 author = "DCMathSegmentMaker";
116 break;
118 author = "MDT_DHoughSegmentMakerTool";
119 break;
121 author = "CSC_DHoughSegmentMakerTool";
122 break;
124 author = "Csc2dSegmentMaker";
125 break;
127 author = "Csc4dSegmentMaker";
128 break;
129 case TRT_SegmentMaker:
130 author = "TRT_SegmentMaker";
131 break;
132 case NswStereoSeeded:
133 author = "Nsw MM stereo seeded";
134 break;
135 case NswStgcSeeded:
136 author = "Nsw sTgc seeded";
137 break;
138 case NswQuadAlign:
139 author = "Nsw single quad";
140 break;
141 case NswPadSeeded:
142 author = "Nsw single quad";
143 break;
144 default:
145 author = "Unrecognised author, enum = " + std::to_string(m_author);
146 break;
147 }
148 return author;
149}

◆ errorTime()

float Trk::SpaceTimePointBase::errorTime ( ) const
inlineinherited

access to the error on the measured time

Definition at line 50 of file SpaceTimePointBase.h.

50{return m_errorTime;}
float m_errorTime
error on the time measurement

◆ fitQuality()

const FitQuality * Trk::Segment::fitQuality ( ) const
inlineinherited

return the FitQuality object, returns NULL if no FitQuality is defined

Definition at line 160 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

161{
162 return m_fitQuality.get();
163}

◆ globalDirection()

const Amg::Vector3D & Muon::MuonSegment::globalDirection ( ) const
inline

global direction

Definition at line 163 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

164{
165 return m_globalDirection;
166}

◆ globalPosition()

const Amg::Vector3D & Muon::MuonSegment::globalPosition ( ) const
inlinefinaloverridevirtual

◆ hasContainedMeasurements()

bool Trk::Segment::hasContainedMeasurements ( ) const
inlineinherited

Definition at line 178 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

179{
180 return !m_containedMeasBases.empty();
181}

◆ hasFittedT0()

bool Muon::MuonSegment::hasFittedT0 ( ) const
inline

returns whether the segment has a fitted t0

Definition at line 212 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

213{
215}
static const float kNoValue
define invalid value, used when the segment has no fitted t0
float m_time
measured time

◆ localCovariance()

const Amg::MatrixX & Trk::MeasurementBase::localCovariance ( ) const
inlineinherited

Interface method to get the localError.

Definition at line 138 of file MeasurementBase.h.

139{
140 return m_localCovariance;
141}
Amg::MatrixX m_localCovariance

◆ localDirection()

const Trk::LocalDirection & Muon::MuonSegment::localDirection ( ) const
inline

local direction

Definition at line 169 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

170{
171 return m_localDirection;
172}

◆ localParameters()

const Trk::LocalParameters & Trk::MeasurementBase::localParameters ( ) const
inlineinherited

Interface method to get the LocalParameters.

Definition at line 132 of file MeasurementBase.h.

133{
134 return m_localParams;
135}

◆ measurement()

const MeasurementBase * Trk::Segment::measurement ( unsigned int indx) const
inlineinherited

returns the Trk::MeasurementBase objects depending on the integer

Definition at line 184 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

185{
186 if (!m_containedMeasBases.empty() && indx < m_containedMeasBases.size()) {
187 return std::as_const(m_containedMeasBases)[indx];
188 }
189 return nullptr;
190}

◆ numberOfContainedROTs()

unsigned int Muon::MuonSegment::numberOfContainedROTs ( ) const
inline

number of RIO_OnTracks

Definition at line 199 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

200{
201 return containedMeasurements().size();
202}

◆ numberOfInstantiations()

std::size_t Trk::ObjectCounter< Trk::Segment >::numberOfInstantiations ( )
inlinestaticinherited

Definition at line 25 of file TrkObjectCounter.h.

26 {
27#ifndef NDEBUG
28 return s_numberOfInstantiations.load();
29#endif
30 return 0;
31 }
Helper to enable counting number of instantiations in debug builds.

◆ numberOfMeasurementBases()

unsigned int Trk::Segment::numberOfMeasurementBases ( ) const
inlineinherited

Return the number of contained Trk::MeasurementBase (s)

Definition at line 193 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

194{
195 return m_containedMeasBases.size();
196}

◆ operator=() [1/2]

MuonSegment & Muon::MuonSegment::operator= ( const MuonSegment & seg)

Assignment operator.

Definition at line 45 of file MuonSegment.cxx.

46{
47 if (this != &seg) {
54 }
55 return (*this);
56}
Segment & operator=(const Segment &seg)
Assignment operator.
SpaceTimePointBase & operator=(const SpaceTimePointBase &stpb)=default
Assignment operator.
SurfacePtrHolderImplDetEl & operator=(const SurfacePtrHolderImplDetEl &other)
copy assingmemnt if surface is free we clone/copy.

◆ operator=() [2/2]

MuonSegment & Muon::MuonSegment::operator= ( MuonSegment && seg)
defaultnoexcept

Move Assignment operator.

◆ recalculateCache()

void Muon::MuonSegment::recalculateCache ( )

recalculate the cache

Definition at line 109 of file MuonSegment.cxx.

110{
111
112 CxxUtils::sincos scphi(m_localParams[Trk::phi]);
113 CxxUtils::sincos sctheta(m_localParams[Trk::theta]);
114
115 double sintheta = sctheta.sn;
116 double costheta = sctheta.cs;
117 double sinphi = scphi.sn;
118 double cosphi = scphi.cs;
120 Amg::Vector3D(cosphi * sintheta, sinphi * sintheta, costheta);
123}
Eigen::Matrix< double, 3, 1 > Vector3D

◆ release()

const Trk::PlaneSurface * Trk::SurfacePtrHolderImplDetEl< Trk::PlaneSurface >::release ( )
inlinenoexceptinherited

release ala unique_ptr release

Definition at line 192 of file SurfaceHolderImpl.h.

193 {
194 const S* tmp = m_associatedSurface;
195 m_associatedSurface = nullptr;
196 return tmp;
197 }

◆ rioOnTrack()

const Trk::RIO_OnTrack * Muon::MuonSegment::rioOnTrack ( unsigned int indx) const
inline

returns the RIO_OnTrack (also known as ROT) objects depending on the integer

Definition at line 187 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

188{
189 if (indx < containedMeasurements().size()) {
190 const Trk::MeasurementBase* meas = containedMeasurements()[indx];
192 return static_cast<const Trk::RIO_OnTrack*>(meas);
193 }
194 }
195 return nullptr;
196}
virtual bool type(MeasurementBaseType::Type type) const =0
Interface method checking the type.

◆ setAuthor()

void Trk::Segment::setAuthor ( Author a)
inherited

sets the segment author

Definition at line 150 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.

150 {
151 m_author = a;
152}
static Double_t a

◆ setT0Error()

void Muon::MuonSegment::setT0Error ( float t0,
float t0Error )
inline

set the fitted time and error on the time

Definition at line 205 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

206{
207 m_time = t0;
208 m_errorTime = t0Error;
209}
static Double_t t0

◆ surfacePtr()

const Trk::PlaneSurface * Trk::SurfacePtrHolderImplDetEl< Trk::PlaneSurface >::surfacePtr ( )
inlineinherited

return the ptr we hold useful for tests

Definition at line 190 of file SurfaceHolderImpl.h.

190{ return m_associatedSurface; }

◆ time()

float Trk::SpaceTimePointBase::time ( ) const
inlineinherited

access to the measured time

Definition at line 47 of file SpaceTimePointBase.h.

47{return m_time;}

◆ type()

virtual bool Trk::Segment::type ( MeasurementBaseType::Type type) const
inlinefinaloverridevirtualinherited

Extended method checking the type.

Implements Trk::MeasurementBase.

Definition at line 114 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

115 {
117 }
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.

◆ uniqueClone()

std::unique_ptr< Segment > Trk::Segment::uniqueClone ( ) const
inlineinherited

NVI uniqueClone method.

Definition at line 108 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

109 {
110 return std::unique_ptr<Segment>(clone());
111 }
virtual Segment * clone() const override=0
Pseudo-constructor: needed to avoid excessive RTTI.

◆ weight()

float Trk::SpaceTimePointBase::weight ( ) const
inlineinherited

access to the weight of the space time point

Definition at line 53 of file SpaceTimePointBase.h.

53{return m_weight;}
float m_weight
weight of the point

Member Data Documentation

◆ kNoValue

const float Muon::MuonSegment::kNoValue = FLT_MAX
static

define invalid value, used when the segment has no fitted t0

Definition at line 48 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

◆ m_associatedSurface

const Trk::PlaneSurface* Trk::SurfacePtrHolderImplDetEl< Trk::PlaneSurface >::m_associatedSurface
protectedinherited

Definition at line 221 of file SurfaceHolderImpl.h.

◆ m_author

Author Trk::Segment::m_author
protectedinherited

segment author

Definition at line 156 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

◆ m_containedMeasBases

DataVector<const MeasurementBase> Trk::Segment::m_containedMeasBases
protectedinherited

The vector of contained (generic) Trk::MeasurementBase objects.

Definition at line 153 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

◆ m_errorTime

float Trk::SpaceTimePointBase::m_errorTime
protectedinherited

error on the time measurement

Definition at line 61 of file SpaceTimePointBase.h.

◆ m_fitQuality

std::unique_ptr<FitQuality> Trk::Segment::m_fitQuality
protectedinherited

The fit quality of the Segment.

Definition at line 150 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.

◆ m_globalDirection

Amg::Vector3D Muon::MuonSegment::m_globalDirection
private

cache global direction, not persistified

Definition at line 139 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

◆ m_globalPosition

Amg::Vector3D Muon::MuonSegment::m_globalPosition
private

The global position the surface can be associated to.

Cached (not persistified)

Definition at line 136 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h.

◆ m_localCovariance

Amg::MatrixX Trk::MeasurementBase::m_localCovariance
protectedinherited

Definition at line 112 of file MeasurementBase.h.

◆ m_localDirection

Trk::LocalDirection Muon::MuonSegment::m_localDirection
private

◆ m_localParams

LocalParameters Trk::MeasurementBase::m_localParams
protectedinherited

Definition at line 111 of file MeasurementBase.h.

◆ m_time

float Trk::SpaceTimePointBase::m_time
protectedinherited

measured time

Definition at line 58 of file SpaceTimePointBase.h.

◆ m_weight

float Trk::SpaceTimePointBase::m_weight
protectedinherited

weight of the point

Definition at line 64 of file SpaceTimePointBase.h.

◆ s_numberOfInstantiations

std::atomic_size_t Trk::ObjectCounter< Trk::Segment >::s_numberOfInstantiations
inlinestaticinherited

Definition at line 22 of file TrkObjectCounter.h.


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