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. | |
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 |
Flagword that defines the type of track. | |
virtual float | getD0 () const |
Impact paramter of the track in (r-phi). | |
virtual float | getPhi () const |
Phi of the track at reference point. | |
virtual float | getOmega () const |
Omega is the signed curvature of the track in [1/mm]. | |
virtual float | getZ0 () const |
Impact paramter of the track in (r-z). | |
virtual float | getTanLambda () const |
Lambda is the dip angle of the track in r-z at the reference point. | |
virtual const EVENT::FloatVec & | getCovMatrix () const |
Covariance matrix of the track parameters. | |
virtual const float * | getReferencePoint () const |
Reference point of the track parameters. | |
virtual float | getChi2 () const |
True if the reference point is the point of closest approach. | |
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. | |
virtual const EVENT::IntVec & | getSubdetectorHitNumbers () const |
A vector that holds the number of hits in particular subdetectors. | |
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. | |
virtual const EVENT::TrackState * | getClosestTrackState (float x, float y, float z) const |
Returns track state closest to the given point. | |
virtual const EVENT::TrackState * | getTrackState (int location) const |
Returns track state for the given location - or NULL if not found. | |
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. | |
Protected Member Functions | |
virtual void | setType (int type) |
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.
float IMPL::TrackImpl::getChi2 | ( | ) | const [virtual] |
True if the reference point is the point of closest approach.
Chi^2 of the track fit.
Implements EVENT::Track.
const TrackState * IMPL::TrackImpl::getClosestTrackState | ( | float | x, | |
float | y, | |||
float | z | |||
) | const [virtual] |
Returns track state closest to the given point.
Implements EVENT::Track.
References EVENT::TrackState::getReferencePoint().
const FloatVec & IMPL::TrackImpl::getCovMatrix | ( | ) | const [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().
float IMPL::TrackImpl::getD0 | ( | ) | const [virtual] |
Impact paramter of the track in (r-phi).
Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
float IMPL::TrackImpl::getOmega | ( | ) | const [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.
float IMPL::TrackImpl::getPhi | ( | ) | const [virtual] |
Phi of the track at reference point.
Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
float IMPL::TrackImpl::getRadiusOfInnermostHit | ( | ) | const [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.
const float * IMPL::TrackImpl::getReferencePoint | ( | ) | const [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().
const IntVec & IMPL::TrackImpl::getSubdetectorHitNumbers | ( | ) | const [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.
float IMPL::TrackImpl::getTanLambda | ( | ) | const [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.
const TrackState * IMPL::TrackImpl::getTrackState | ( | int | location | ) | const [virtual] |
Returns track state for the given location - or NULL if not found.
Implements EVENT::Track.
const TrackStateVec & IMPL::TrackImpl::getTrackStates | ( | ) | const [virtual] |
int IMPL::TrackImpl::getType | ( | ) | const [virtual] |
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.
float IMPL::TrackImpl::getZ0 | ( | ) | const [virtual] |
Impact paramter of the track in (r-z).
Information is stored in the first TrackState of this Track,
Implements EVENT::Track.
IntVec & IMPL::TrackImpl::subdetectorHitNumbers | ( | ) | [virtual] |
Allows modification of the subdetectorHitNumbers, e.g.
track->subdetectorHitNumbers().resize(5) ;
track->subdetectorHitNumbers()[4] = 42 ;
Referenced by SIO::SIOTrackHandler::read().