ATLAS Offline Software
|
The ATLAS Track class. More...
#include <Track.h>
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... | |
Track & | operator= (const Track &rhs) |
assignment operator More... | |
Track (Track &&rhs)=default | |
move constructor More... | |
Track & | operator= (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 FitQuality * | fitQuality () const |
return a pointer to the fit quality const-overload More... | |
FitQuality * | fitQuality () |
return a pointer to the fit quality non-const overload More... | |
void | setFitQuality (std::unique_ptr< FitQuality > quality) |
set FitQuality. More... | |
const Trk::TrackStates * | trackStateOnSurfaces () const |
return a pointer to a const DataVector of const TrackStateOnSurfaces. More... | |
Trk::TrackStates * | trackStateOnSurfaces () |
return a pointer to a DataVector of const TrackStateOnSurfaces. More... | |
void | setTrackStateOnSurfaces (std::unique_ptr< Trk::TrackStates > input) |
Set the TrackStateOnSurfaces. More... | |
const TrackInfo & | info () const |
Returns a const ref to info of a const tracks. More... | |
TrackInfo & | info () |
returns a ref to the info. More... | |
void | setInfo (const TrackInfo &input) |
set the info. More... | |
const Trk::TrackSummary * | trackSummary () const |
Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr) More... | |
Trk::TrackSummary * | trackSummary () |
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 Perigee * | perigeeParameters () 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< TrackStates > | m_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< FitQuality > | m_fitQuality {nullptr} |
A pointer to the Track's FitQuality. More... | |
std::unique_ptr< Trk::TrackSummary > | m_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 |
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.
Definition at line 73 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
protected |
Definition at line 228 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
default |
Track::Track | ( | const TrackInfo & | info, |
std::unique_ptr< TrackStates > | trackStateOnSurfaces, | ||
std::unique_ptr< FitQuality > | fitQuality | ||
) |
|
default |
move constructor
|
virtualdefault |
destructor
Helper method to factor common part of copy ctor and copy assignment.
Definition at line 56 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
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.
|
private |
find PerigeeImpl.
Assumes that Perigee parameters are currently inValid.
Definition at line 129 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
FitQuality* Trk::Track::fitQuality | ( | ) |
return a pointer to the fit quality non-const overload
const FitQuality* Trk::Track::fitQuality | ( | ) | const |
return a pointer to the fit quality const-overload
TrackInfo& Trk::Track::info | ( | ) |
returns a ref to the info.
non-const overload
bool Trk::Track::isValid | ( | ) | const |
returns true if the track has non-nullptr fitQuality and non-empty Trk::TrackStates
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.
Definition at line 178 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
|
inlinestaticinherited |
Definition at line 25 of file TrkObjectCounter.h.
Trk::Track & Track::operator= | ( | const Track & | rhs | ) |
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.
Definition at line 210 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
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.
void Trk::Track::resetCaches | ( | ) |
reset all caches
void Trk::Track::setFitQuality | ( | std::unique_ptr< FitQuality > | quality | ) |
set FitQuality.
void Trk::Track::setTrackStateOnSurfaces | ( | std::unique_ptr< Trk::TrackStates > | input | ) |
Set the TrackStateOnSurfaces.
void Trk::Track::setTrackSummary | ( | std::unique_ptr< Trk::TrackSummary > | input | ) |
Set the track summary.
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.
Definition at line 97 of file Tracking/TrkEvent/TrkTrack/src/Track.cxx.
Trk::TrackStates* Trk::Track::trackStateOnSurfaces | ( | ) |
return a pointer to a DataVector of const TrackStateOnSurfaces.
non-const overload
const Trk::TrackStates* Trk::Track::trackStateOnSurfaces | ( | ) | const |
return a pointer to a const DataVector of const TrackStateOnSurfaces.
const overload
Trk::TrackSummary* Trk::Track::trackSummary | ( | ) |
Returns a pointer to the Trk::TrackSummary owned by this track (could be nullptr)
const Trk::TrackSummary* Trk::Track::trackSummary | ( | ) | const |
Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr)
|
friend |
Definition at line 222 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
friend |
Definition at line 226 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
friend |
Definition at line 223 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
friend |
Definition at line 224 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
friend |
Definition at line 225 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
friend |
Definition at line 75 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
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.
|
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.
|
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.
|
protected |
A pointer to the Track's FitQuality.
Definition at line 293 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
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.
|
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.
|
protected |
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.
|
protected |
Datamember to cache the TrackSummary.
Definition at line 298 of file Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h.
|
inlinestaticinherited |
Definition at line 22 of file TrkObjectCounter.h.