Implementation of the LCIO track class. More...
#include <IMPL/TrackImpl.h>
Public Member Functions | |
TrackImpl () | |
Default constructor, initializes values to 0. | |
TrackImpl (const TrackImpl &) | |
Copy constructor - creates shallow copy, i.e. More... | |
const TrackImpl & | operator= (const TrackImpl &o) |
virtual | ~TrackImpl () |
Destructor. | |
virtual int | id () const |
Returns an object id for internal (debugging) use in LCIO. | |
virtual int | getType () const |
Type of track, i.e. More... | |
virtual float | getD0 () const |
Returns true if the corresponding bit in the type word is set. More... | |
virtual float | getPhi () const |
Phi of the track at reference point. More... | |
virtual float | getOmega () const |
Omega is the signed curvature of the track in [1/mm]. More... | |
virtual float | getZ0 () const |
Impact paramter of the track in (r-z). More... | |
virtual float | getTanLambda () const |
Lambda is the dip angle of the track in r-z at the reference point. More... | |
virtual const EVENT::FloatVec & | getCovMatrix () const |
Covariance matrix of the track parameters. More... | |
virtual const float * | getReferencePoint () const |
Reference point of the track parameters. More... | |
virtual float | getChi2 () const |
True if the reference point is the point of closest approach. More... | |
virtual int | getNdf () const |
Number of degrees of freedom of the track fit. | |
virtual float | getdEdx () const |
dEdx of the track. | |
virtual float | getdEdxError () const |
Error of dEdx. | |
virtual float | getRadiusOfInnermostHit () const |
The radius of the innermost hit that has been used in the track fit. More... | |
virtual const EVENT::IntVec & | getSubdetectorHitNumbers () const |
A vector that holds the number of hits in particular subdetectors. More... | |
virtual const EVENT::TrackVec & | getTracks () const |
The tracks (as Track objects) that have been combined to this track. | |
virtual const EVENT::TrackStateVec & | getTrackStates () const |
Returns track states associtated with this track. More... | |
virtual const EVENT::TrackState * | getClosestTrackState (float x, float y, float z) const |
Returns track state closest to the given point. More... | |
virtual const EVENT::TrackState * | getTrackState (int location) const |
Returns track state for the given location - or NULL if not found. More... | |
virtual const EVENT::TrackerHitVec & | getTrackerHits () const |
Optionaly ( check/set flag(LCIO::TRBIT_HITS)==1) return the hits that have been used to create this track. | |
virtual void | setTypeBit (int index, bool val=true) |
virtual void | setD0 (float d0) |
virtual void | setPhi (float phi) |
virtual void | setOmega (float omega) |
virtual void | setZ0 (float z0) |
virtual void | setTanLambda (float tanLambda) |
virtual void | setCovMatrix (const float *cov) |
virtual void | setCovMatrix (const EVENT::FloatVec &cov) |
virtual void | setReferencePoint (const float *rPnt) |
virtual void | setChi2 (float chi2) |
virtual void | setNdf (int ndf) |
virtual void | setdEdx (float dEdx) |
virtual void | setdEdxError (float dEdxError) |
virtual void | addTrack (EVENT::Track *trk) |
virtual void | addTrackState (EVENT::TrackState *trkstate) |
virtual void | addHit (EVENT::TrackerHit *hit) |
virtual EVENT::TrackStateVec & | trackStates () |
virtual void | setRadiusOfInnermostHit (float r) |
virtual EVENT::IntVec & | subdetectorHitNumbers () |
Allows modification of the subdetectorHitNumbers, e.g. More... | |
![]() | |
virtual | ~Track () |
Destructor. | |
![]() | |
virtual | ~LCObject () |
Destructor. | |
virtual LCObject * | clone () const |
Returns an object id for internal (debugging) use in LCIO. More... | |
![]() | |
template<class V > | |
V::ext_type | ext () |
Provides access to an extension object - the type and ownership is defined by the class V which should be a subtype of LCExtension, LCOwnedExtension, LCExtensionVector, LCExtensionList,... | |
template<class V > | |
const V::ext_type | ext () const |
template<class V > | |
V::rel_type | rel () |
Provides read access to relations - the object types and their connectivity are defined by the class V which has to be a subtype of either LC1To1Relation, LC1ToNRelation or LCNToNRelation. | |
![]() | |
virtual int | simpleUID () const |
Protected Member Functions | |
virtual void | setType (int type) |
![]() | |
template<class V > | |
V::ptr & | ptr () const |
Returns the reference to the pointer to the extension/relation object. | |
![]() | |
virtual void | setReadOnly (bool readOnly) |
void | checkAccess () throw ( EVENT::ReadOnlyException ) |
void | checkAccess (const char *what) throw ( EVENT::ReadOnlyException ) |
Protected Attributes | |
std::bitset< 32 > | _type |
float | _chi2 |
int | _ndf |
float | _dEdx |
float | _dEdxError |
float | _radiusOfInnermostHit |
EVENT::IntVec | _subdetectorHitNumbers |
EVENT::TrackVec | _tracks |
EVENT::TrackerHitVec | _hits |
EVENT::TrackStateVec | _trackStates |
![]() | |
bool | _readOnly |
int | _id |
Additional Inherited Members | |
![]() | |
typedef Track | lcobject_type |
Useful typedef for template programming with LCIO. | |
Implementation of the LCIO track class.
The helix parameterization follows that of the L3 experiment at LEP. A detailed description of the track parameters is given in the LC-Note LC-DET-2006-004 "Track Parameters in LCIO" (pdf).
IMPL::TrackImpl::TrackImpl | ( | const TrackImpl & | o | ) |
Copy constructor - creates shallow copy, i.e.
all data members are copied but pointers to other LCObjects i.e. TrackerHits and Tracks are preserved.
|
virtual |
True if the reference point is the point of closest approach.
Chi^2 of the track fit.
Implements EVENT::Track.
|
virtual |
|
virtual |
Covariance matrix of the track parameters.
Stored as lower triangle matrix where the order of parameters is: d0, phi, omega, z0, tan(lambda). So we have cov(d0,d0), cov( phi, d0 ), cov( phi, phi), ... Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
References IMPL::TrackStateImpl::getCovMatrix().
|
virtual |
Returns true if the corresponding bit in the type word is set.
Impact paramter of the track in (r-phi). Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
|
virtual |
Omega is the signed curvature of the track in [1/mm].
The sign is that of the particle's charge. Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
|
virtual |
Phi of the track at reference point.
Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
|
virtual |
The radius of the innermost hit that has been used in the track fit.
Helps to detect V0 tracks with small impact paramters or haevy mesons. To be used as convenient information or if hits are not stored in the data set, e.g. DST or FastMC.
Implements EVENT::Track.
|
virtual |
Reference point of the track parameters.
The default for the reference point is the point of closest approach. Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
References IMPL::TrackStateImpl::getReferencePoint().
|
virtual |
A vector that holds the number of hits in particular subdetectors.
The mapping of indices to subdetectors is implementation dependent. To be used as convenient information or if hits are not stored in the data set, e.g. DST or FastMC. TODO: Provide way to store mapping in event/run header.
Implements EVENT::Track.
|
virtual |
Lambda is the dip angle of the track in r-z at the reference point.
Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
|
virtual |
Returns track state for the given location - or NULL if not found.
Implements EVENT::Track.
|
virtual |
|
virtual |
Type of track, i.e.
the subdetector(s) used to derive the track paramters, e.g. "TPC", "COMB", etc. In order to save disc space working groups should try and define three to four letter acronyms for their tracking detectors.Flagword that defines the type of track. Bits 0-15 can be used to denote the subdetectors that have contributed hits used in the track fit. The definition of the hits has to be done elsewhere, e.g. in the run header. Before LCIO 2.0 bit 31 was used to encode isReferencePointPCA (now deprecated).
Implements EVENT::Track.
|
virtual |
Impact paramter of the track in (r-z).
Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
|
virtual |
Allows modification of the subdetectorHitNumbers, e.g.
track->subdetectorHitNumbers().resize(5) ;
track->subdetectorHitNumbers()[4] = 42 ;
Referenced by SIO::SIOTrackHandler::read().