ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
Trk::Track Class Reference

The ATLAS Track class. More...

#include <Track.h>

Inheritance diagram for Trk::Track:
Collaboration diagram for Trk::Track:

Public Member Functions

 Track ()=default
 Default constructor Here for POOL and simple tests. More...
 
 Track (const TrackInfo &info, std::unique_ptr< TrackStates > trackStateOnSurfaces, std::unique_ptr< FitQuality > fitQuality)
 Full constructors. More...
 
 Track (const Track &rhs)
 copy constructor More...
 
Trackoperator= (const Track &rhs)
 assignment operator More...
 
 Track (Track &&rhs)=default
 move constructor More...
 
Trackoperator= (Track &&rhs)=default
 move assignment operator More...
 
virtual ~Track ()=default
 destructor More...
 
bool isValid () const
 returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates More...
 
const FitQualityfitQuality () const
 return a pointer to the fit quality const-overload More...
 
FitQualityfitQuality ()
 return a pointer to the fit quality non-const overload More...
 
void setFitQuality (std::unique_ptr< FitQuality > quality)
 set FitQuality. More...
 
const Trk::TrackStatestrackStateOnSurfaces () const
 return a pointer to a const DataVector of const TrackStateOnSurfaces. More...
 
Trk::TrackStatestrackStateOnSurfaces ()
 return a pointer to a DataVector of const TrackStateOnSurfaces. More...
 
void setTrackStateOnSurfaces (std::unique_ptr< Trk::TrackStates > input)
 Set the TrackStateOnSurfaces. More...
 
const TrackInfoinfo () const
 Returns a const ref to info of a const tracks. More...
 
TrackInfoinfo ()
 returns a ref to the info. More...
 
void setInfo (const TrackInfo &input)
 set the info. More...
 
const Trk::TrackSummarytrackSummary () const
 Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr) More...
 
Trk::TrackSummarytrackSummary ()
 Returns a pointer to the Trk::TrackSummary owned by this track (could be nullptr) More...
 
void setTrackSummary (std::unique_ptr< Trk::TrackSummary > input)
 Set the track summary. More...
 
const PerigeeperigeeParameters () const
 return Perigee. More...
 
const DataVector< const TrackParameters > * trackParameters () const
 Return a pointer to a vector of TrackParameters. More...
 
const DataVector< const MeasurementBase > * measurementsOnTrack () const
 return a pointer to a vector of MeasurementBase (NOT including any that come from outliers). More...
 
const DataVector< const MeasurementBase > * outliersOnTrack () const
 return a pointer to a vector of MeasurementBase, which represent outliers (i.e. More...
 
void resetCaches ()
 reset all caches More...
 

Static Public Member Functions

static std::size_t numberOfInstantiations ()
 

Static Public Attributes

static std::atomic_size_t s_numberOfInstantiations
 

Protected Types

typedef Trk::TrackStates::const_iterator TSoS_iterator
 

Protected Member Functions

void findPerigee () const
 Find perigee in the vector of track parameters. More...
 
void copyHelper (const Track &rhs)
 Helper method to factor common part of copy ctor and copy assignment. More...
 

Protected Attributes

std::unique_ptr< TrackStatesm_trackStateVector = nullptr
 TrackStateOnSurface. More...
 
CxxUtils::CachedValue< DataVector< const TrackParameters > > m_cachedParameterVector {}
 A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters, for example, Perigee, MeasuredPerigee, AtaCylinder etc. More...
 
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedMeasurementVector {}
 A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see m_cachedOutlierVector) More...
 
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedOutlierVector {}
 These objects represent the "outliers" on the track. More...
 
CxxUtils::CachedValue< const Perigee * > m_perigeeParameters {}
 A pointer to the Track's Perigee parameters. More...
 
std::unique_ptr< FitQualitym_fitQuality {nullptr}
 A pointer to the Track's FitQuality. More...
 
std::unique_ptr< Trk::TrackSummarym_trackSummary {nullptr}
 Datamember to cache the TrackSummary. More...
 
Trk::TrackInfo m_trackInfo {}
 This is a class which stores the identity of where the track was created, fitted, which properties the reconstruction had. More...
 

Private Member Functions

void findPerigeeImpl () const
 find PerigeeImpl. More...
 

Friends

class TrackSlimmingTool
 
class ::TrackCnv_p1
 
class ::TrackCnv_p2
 
class ::TrackCnv_p3
 
class ::TrackCnv_p4
 
class ::TrackCnv_p12
 

Detailed Description

The ATLAS Track class.

This class is designed to work as a common track class, usable in a wide variety of applications, whilst remaining as simple as possible.

A Track is typically constructed via

The usage of DataVector allows to constuct a track from a Datavector<DerivedFromTSOS> where DerivedFromTSOS is a type that derives from Trk::TrackStateOnSurface.

A Track will be valid if it holds a non empty DataVector and a non-nullpr FitQuality.

This class provides convenient helpers to retrieve and cache

The above are implemented via lazy initialization of see CxxUtils::CachedValue

If the TrackStates get modified the caches can be reset via the resetCaches method

Furthermore a Track can contain a Trk::TrackSummary (ptr so can be nullptr). This is typically is created via the TrackSummaryTool.

Author
edwar.nosp@m.d.mo.nosp@m.yse@c.nosp@m.ern..nosp@m.ch
Kiril.nosp@m.l.Pr.nosp@m.okofi.nosp@m.ev@c.nosp@m.ern.c.nosp@m.h
Christos Anastopoulos (MT modifications)

Definition at line 73 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

Member Typedef Documentation

◆ TSoS_iterator

Definition at line 228 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

Constructor & Destructor Documentation

◆ Track() [1/4]

Trk::Track::Track ( )
default

Default constructor Here for POOL and simple tests.

The track will return isValid() == false. It is not expected to be used in production.

◆ Track() [2/4]

Track::Track ( const TrackInfo info,
std::unique_ptr< TrackStates trackStateOnSurfaces,
std::unique_ptr< FitQuality fitQuality 
)

Full constructors.

Definition at line 16 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

24  m_fitQuality(std::move(fitQuality)),
25  m_trackInfo(info) {
26  // find the Perigee params they will become valid given the outcome
28 }

◆ Track() [3/4]

Track::Track ( const Track rhs)

copy constructor

Definition at line 31 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

37  m_fitQuality(nullptr) {
38  // Do the actual payload copy
39  copyHelper(rhs);
40 }

◆ Track() [4/4]

Trk::Track::Track ( Track &&  rhs)
default

move constructor

◆ ~Track()

virtual Trk::Track::~Track ( )
virtualdefault

destructor

Member Function Documentation

◆ copyHelper()

void Track::copyHelper ( const Track rhs)
protected

Helper method to factor common part of copy ctor and copy assignment.

Definition at line 56 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

56  {
57  // set the author to be that of the Track being copied.
58  m_trackInfo = rhs.m_trackInfo;
59 
60  // create & copy other variables if available
61  if (rhs.fitQuality() != nullptr) {
62  m_fitQuality = std::make_unique<Trk::FitQuality>(*(rhs.m_fitQuality));
63  }
64  // create & copy other variables
65  if (rhs.trackSummary() != nullptr) {
66  m_trackSummary = std::make_unique<Trk::TrackSummary>(*(rhs.m_trackSummary));
67  }
68  // Create the TrackStateVector and the perigeeParameters
69 
70  if (rhs.m_trackStateVector != nullptr) {
71  m_trackStateVector = std::make_unique<TrackStates>();
72  m_trackStateVector->reserve(rhs.m_trackStateVector->size());
73 
74  TSoS_iterator itTSoSEnd = rhs.m_trackStateVector->cend();
75  for (TSoS_iterator itTSoS = rhs.m_trackStateVector->cbegin();
76  itTSoS != itTSoSEnd; ++itTSoS) {
77  assert(*itTSoS != nullptr); // check that is defined.
78  // clone and store
79  TrackStateOnSurface* tsos = (**itTSoS).clone();
80  m_trackStateVector->push_back(tsos);
81  // Check if this a perigee so we can already cache it
82  if (tsos != nullptr && tsos->type(TrackStateOnSurface::Perigee)) {
83  const Trk::Perigee* perigee = nullptr;
84  const Trk::TrackParameters* tp = tsos->trackParameters();
85  if (tp && tp->type() == Trk::AtaSurface &&
86  tp->surfaceType() == Trk::SurfaceType::Perigee) {
87  perigee = static_cast<const Trk::Perigee*>(tp);
88  }
89  if (perigee != nullptr) {
90  m_perigeeParameters.store(perigee); // Now they will be valid
91  }
92  }
93  }
94  }
95 }

◆ findPerigee()

void Track::findPerigee ( ) const
protected

Find perigee in the vector of track parameters.

It can be used to lazy-init the m_perigeeParameters

Definition at line 123 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

123  {
124  if (!m_perigeeParameters.isValid()) {
125  findPerigeeImpl();
126  }
127 }

◆ findPerigeeImpl()

void Track::findPerigeeImpl ( ) const
private

find PerigeeImpl.

Assumes that Perigee parameters are currently inValid.

Definition at line 129 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

129  {
130  // loop through all passed parameters and, if there is a at Perigee in there,
131  // assign it to Perigee parameters. There should never be more
132  // than one perigee type.
133  // Note that there can be other objects, like VertexOnTrack measurements, with
134  // params at a Perigee surface, thus the TSoS check.
135 
136  const Trk::Perigee* tmpPerigeeParameters = nullptr;
137  if (!m_trackStateVector) {
138  return;
139  }
141  m_trackStateVector->cbegin();
143  m_trackStateVector->cend();
144  for (; it != itEnd; ++it) {
145  if ((*it)->type(TrackStateOnSurface::Perigee)) {
146  const Trk::TrackParameters* tp = (*it)->trackParameters();
147  if (tp && tp->type() == Trk::AtaSurface &&
148  tp->surfaceType() == Trk::SurfaceType::Perigee) {
149  tmpPerigeeParameters = static_cast<const Trk::Perigee*>(tp);
150  }
151 
152  if (tmpPerigeeParameters != nullptr) {
153  break; // found perigee so stop loop.
154  }
155  }
156  }
157  // set to value and valid
158  if (tmpPerigeeParameters) {
159  m_perigeeParameters.set(tmpPerigeeParameters);
160  }
161 }

◆ fitQuality() [1/2]

FitQuality* Trk::Track::fitQuality ( )

return a pointer to the fit quality non-const overload

◆ fitQuality() [2/2]

const FitQuality* Trk::Track::fitQuality ( ) const

return a pointer to the fit quality const-overload

◆ info() [1/2]

TrackInfo& Trk::Track::info ( )

returns a ref to the info.

non-const overload

◆ info() [2/2]

const TrackInfo& Trk::Track::info ( ) const

Returns a const ref to info of a const tracks.

◆ isValid()

bool Trk::Track::isValid ( ) const

returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates

◆ measurementsOnTrack()

const DataVector< const Trk::MeasurementBase > * Track::measurementsOnTrack ( ) const

return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).

This DataVector is lazily created by this method and cached.

Returns
Pointer to a DV of MeasurementBase. The MeasurementBases are not owned by the DV (it is a view)

Definition at line 178 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

179  {
180  if (!m_trackStateVector) {
181  return nullptr;
182  }
183 
184  // We only need to do work if not valid.
185  if (!m_cachedMeasurementVector.isValid()) {
186  // create new DataVector which DOES NOT OWN ELEMENTS .
187  DataVector<const Trk::MeasurementBase> tmpMeasurementVector(
189  // for measurements on track it is very likely that #(meas) ~ #(TSOS)->
190  // reserve(#(TSOS))
191  tmpMeasurementVector.reserve(m_trackStateVector->size());
192 
193  TSoS_iterator itTSoSEnd = m_trackStateVector->cend();
194  for (TSoS_iterator itTSoS = m_trackStateVector->cbegin(); itTSoS != itTSoSEnd;
195  ++itTSoS) {
196  if (!(*itTSoS)->type(TrackStateOnSurface::Outlier)) {
197  const Trk::MeasurementBase* rot = (*itTSoS)->measurementOnTrack();
198  // does it have a measurement ?
199  if (rot != nullptr) {
200  tmpMeasurementVector.push_back(rot);
201  }
202  }
203  }
204  m_cachedMeasurementVector.set(std::move(tmpMeasurementVector));
205  }
206 
207  return m_cachedMeasurementVector.ptr();
208 }

◆ numberOfInstantiations()

static std::size_t Trk::ObjectCounter< Trk::Track >::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  }

◆ operator=() [1/2]

Trk::Track & Track::operator= ( const Track rhs)

assignment operator

Definition at line 42 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

42  {
43  if (this != &rhs) {
44  // First clear this object
45  m_fitQuality.reset(nullptr);
46  m_trackSummary.reset(nullptr);
47  // Invalidate the caches
48  resetCaches();
49  m_trackStateVector.reset();
50  // copy payload of rhs to this
51  copyHelper(rhs);
52  }
53  return *this;
54 }

◆ operator=() [2/2]

Track& Trk::Track::operator= ( Track &&  rhs)
default

move assignment operator

◆ outliersOnTrack()

const DataVector< const Trk::MeasurementBase > * Track::outliersOnTrack ( ) const

return a pointer to a vector of MeasurementBase, which represent outliers (i.e.

measurements not used in the track fit). This DataVector is created lazily by this method and then cached.

Returns
Pointer to a DV of MeasurementBase, representing outliers. The MeasurementBases are not owned by the DV (it is a view)

Definition at line 210 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

211  {
212  if (!m_trackStateVector) {
213  return nullptr;
214  }
215  // We only need to do work if not valid
216  if (!m_cachedOutlierVector.isValid()) {
217  // create new DataVector which DOES NOT OWN ELEMENTS .
219  TSoS_iterator itTSoSEnd = m_trackStateVector->cend();
220  for (TSoS_iterator itTSoS = m_trackStateVector->cbegin(); itTSoS != itTSoSEnd;
221  ++itTSoS) {
222  if ((*itTSoS)->type(TrackStateOnSurface::Outlier)) {
223  const Trk::MeasurementBase* rot = (*itTSoS)->measurementOnTrack();
224  assert(rot != nullptr);
225  tmpOutlierVector.push_back(rot);
226  }
227  }
228  m_cachedOutlierVector.set(std::move(tmpOutlierVector));
229  }
230  return m_cachedOutlierVector.ptr();
231 }

◆ perigeeParameters()

const Trk::Perigee * Track::perigeeParameters ( ) const

return Perigee.

Can be nullptr if no perigee parameters were assigned to the Track.

This method performs lazy initialization and caches the result.

PLEASE NOTE! if there is more than one Perigee in trackStateOnSurfaces (which there shouldn't be!!), only the first one will be returned by Trk::Track::perigeeParameters Although the Perigee is just a type of TrackParameter, it has a dedicated method because of the specific physics interest

Definition at line 163 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

163  {
164  if (!m_perigeeParameters.isValid()) {
165  // findPerigee performs the setting of the parameters
166  // i.e does the CachedValue set
167  findPerigeeImpl();
168  }
169 
170  // Return payload if valid
171  if (m_perigeeParameters.isValid()) {
172  return *(m_perigeeParameters.ptr());
173  }
174 
175  return nullptr;
176 }

◆ resetCaches()

void Trk::Track::resetCaches ( )

reset all caches

◆ setFitQuality()

void Trk::Track::setFitQuality ( std::unique_ptr< FitQuality quality)

set FitQuality.

◆ setInfo()

void Trk::Track::setInfo ( const TrackInfo input)

set the info.

◆ setTrackStateOnSurfaces()

void Trk::Track::setTrackStateOnSurfaces ( std::unique_ptr< Trk::TrackStates input)

Set the TrackStateOnSurfaces.

◆ setTrackSummary()

void Trk::Track::setTrackSummary ( std::unique_ptr< Trk::TrackSummary input)

Set the track summary.

◆ trackParameters()

const DataVector< const Trk::TrackParameters > * Track::trackParameters ( ) const

Return a pointer to a vector of TrackParameters.

It is created Lazily by this method and then cached.

Returns
Pointer to a DV of TrackParameters, or 0. The TrackParameters are not owned by the DV (it is a view)

Definition at line 97 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.

98  {
99 
100  if (!m_trackStateVector) {
101  return nullptr;
102  }
103  // Do work only if it is not valid.
104  if (!m_cachedParameterVector.isValid()) {
105  // create cached parameter vector (which DOES NOT OWN ELEMENTS)
106  DataVector<const Trk::TrackParameters> tmp_ParameterVector(
108  tmp_ParameterVector.reserve(m_trackStateVector->size());
109  TSoS_iterator itTSoSEnd = m_trackStateVector->cend();
110  for (TSoS_iterator itTSoS = m_trackStateVector->cbegin(); itTSoS != itTSoSEnd;
111  ++itTSoS) {
112  const TrackParameters* trackParameters = (*itTSoS)->trackParameters();
113  // check to make sure that the TrackParameters exists first
114  if (trackParameters != nullptr) {
115  tmp_ParameterVector.push_back(trackParameters);
116  }
117  }
118  m_cachedParameterVector.set(std::move(tmp_ParameterVector));
119  }
120  return m_cachedParameterVector.ptr();
121 }

◆ trackStateOnSurfaces() [1/2]

Trk::TrackStates* Trk::Track::trackStateOnSurfaces ( )

return a pointer to a DataVector of const TrackStateOnSurfaces.

non-const overload

◆ trackStateOnSurfaces() [2/2]

const Trk::TrackStates* Trk::Track::trackStateOnSurfaces ( ) const

return a pointer to a const DataVector of const TrackStateOnSurfaces.

const overload

◆ trackSummary() [1/2]

Trk::TrackSummary* Trk::Track::trackSummary ( )

Returns a pointer to the Trk::TrackSummary owned by this track (could be nullptr)

◆ trackSummary() [2/2]

const Trk::TrackSummary* Trk::Track::trackSummary ( ) const

Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr)

Friends And Related Function Documentation

◆ ::TrackCnv_p1

friend class ::TrackCnv_p1
friend

Definition at line 222 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ ::TrackCnv_p12

friend class ::TrackCnv_p12
friend

Definition at line 226 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ ::TrackCnv_p2

friend class ::TrackCnv_p2
friend

Definition at line 223 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ ::TrackCnv_p3

friend class ::TrackCnv_p3
friend

Definition at line 224 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ ::TrackCnv_p4

friend class ::TrackCnv_p4
friend

Definition at line 225 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ TrackSlimmingTool

friend class TrackSlimmingTool
friend

Definition at line 75 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

Member Data Documentation

◆ m_cachedMeasurementVector

CxxUtils::CachedValue<DataVector<const MeasurementBase> > Trk::Track::m_cachedMeasurementVector {}
protected

A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see m_cachedOutlierVector)

It is created in the return method by looping over all Trk::TrackStateOnSurface adding their pointers to the payload of m_cachedMeasurementVector

Definition at line 271 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_cachedOutlierVector

CxxUtils::CachedValue<DataVector<const MeasurementBase> > Trk::Track::m_cachedOutlierVector {}
protected

These objects represent the "outliers" on the track.

It is created in the return method by looping over all Trk::TrackStateOnSurface adding their pointers to the payload of m_cachedRioVector

Definition at line 280 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_cachedParameterVector

CxxUtils::CachedValue<DataVector<const TrackParameters> > Trk::Track::m_cachedParameterVector {}
protected

A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters, for example, Perigee, MeasuredPerigee, AtaCylinder etc.

It is created in the return method by looping over all Trk::TrackStateOnSurface adding their pointers to the payload of m_cachedParameterVector

Definition at line 260 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_fitQuality

std::unique_ptr<FitQuality> Trk::Track::m_fitQuality {nullptr}
protected

A pointer to the Track's FitQuality.

Definition at line 293 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_perigeeParameters

CxxUtils::CachedValue<const Perigee*> Trk::Track::m_perigeeParameters {}
protected

A pointer to the Track's Perigee parameters.

This will be null if the track does not contain a Perigee or MeasuredPerigee parameter

Definition at line 288 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_trackInfo

Trk::TrackInfo Trk::Track::m_trackInfo {}
protected

This is a class which stores the identity of where the track was created, fitted, which properties the reconstruction had.

Definition at line 304 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_trackStateVector

std::unique_ptr<TrackStates> Trk::Track::m_trackStateVector = nullptr
protected

TrackStateOnSurface.

These objects link the various parameters related to a surface, for example, TrackParameter, RIO_OnTrack and FitQualityOnSurface

Definition at line 248 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ m_trackSummary

std::unique_ptr<Trk::TrackSummary> Trk::Track::m_trackSummary {nullptr}
protected

Datamember to cache the TrackSummary.

Definition at line 298 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.

◆ s_numberOfInstantiations

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

Definition at line 22 of file TrkObjectCounter.h.


The documentation for this class was generated from the following files:
Trk::Track::resetCaches
void resetCaches()
reset all caches
Trk::TrackStateOnSurface::Perigee
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
Definition: TrackStateOnSurface.h:117
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
Trk::Track::fitQuality
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
Trk::Track::m_cachedMeasurementVector
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedMeasurementVector
A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see ...
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:271
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
Trk::Track::trackStateOnSurfaces
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
Trk::Track::info
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
Trk::Track::m_cachedParameterVector
CxxUtils::CachedValue< DataVector< const TrackParameters > > m_cachedParameterVector
A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters,...
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:260
skel.it
it
Definition: skel.GENtoEVGEN.py:424
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Trk::Track::TSoS_iterator
Trk::TrackStates::const_iterator TSoS_iterator
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:228
Trk::TrackParameters
ParametersBase< 5, Charged > TrackParameters
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:24
Trk::Track::m_cachedOutlierVector
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedOutlierVector
These objects represent the "outliers" on the track.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:280
Trk::ObjectCounter< Trk::Track >
Trk::Track::m_fitQuality
std::unique_ptr< FitQuality > m_fitQuality
A pointer to the Track's FitQuality.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:293
Trk::TrackStateOnSurface::Outlier
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
Definition: TrackStateOnSurface.h:122
Trk::Track::m_trackSummary
std::unique_ptr< Trk::TrackSummary > m_trackSummary
Datamember to cache the TrackSummary.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:298
Trk::Track::m_perigeeParameters
CxxUtils::CachedValue< const Perigee * > m_perigeeParameters
A pointer to the Track's Perigee parameters.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:288
Trk::Track::m_trackStateVector
std::unique_ptr< TrackStates > m_trackStateVector
TrackStateOnSurface.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:248
Trk::ParametersBase
Definition: ParametersBase.h:55
DataVector< const Trk::MeasurementBase >
Trk::Track::m_trackInfo
Trk::TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted, which properties th...
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:304
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk::Track::trackParameters
const DataVector< const TrackParameters > * trackParameters() const
Return a pointer to a vector of TrackParameters.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:97
Trk::SurfaceType::Perigee
@ Perigee
Trk::AtaSurface
@ AtaSurface
Definition: ParametersCommon.h:29
Trk::ObjectCounter< Trk::Track >::s_numberOfInstantiations
static std::atomic_size_t s_numberOfInstantiations
Definition: TrkObjectCounter.h:22
Trk::Track::copyHelper
void copyHelper(const Track &rhs)
Helper method to factor common part of copy ctor and copy assignment.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:56
Trk::Track::findPerigeeImpl
void findPerigeeImpl() const
find PerigeeImpl.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:129