LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
IMPL::TrackImpl Class Reference

Implementation of the LCIO track class. More...

#include <IMPL/TrackImpl.h>

Inheritance diagram for IMPL::TrackImpl:
EVENT::Track IMPL::AccessChecked EVENT::LCObject lcrtrel::LCRTRelations IOIMPL::TrackIOImpl

Public Member Functions

 TrackImpl ()
 Default constructor, initializes values to 0.
 
 TrackImpl (const TrackImpl &)
 Copy constructor - creates shallow copy, i.e. More...
 
const TrackImploperator= (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::FloatVecgetCovMatrix () 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::IntVecgetSubdetectorHitNumbers () const
 A vector that holds the number of hits in particular subdetectors. More...
 
virtual const EVENT::TrackVecgetTracks () 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::TrackStategetClosestTrackState (float x, float y, float z) const
 Returns track state closest to the given point. More...
 
virtual const EVENT::TrackStategetTrackState (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::TrackStateVectrackStates ()
 
virtual void setRadiusOfInnermostHit (float r)
 
virtual EVENT::IntVecsubdetectorHitNumbers ()
 Allows modification of the subdetectorHitNumbers, e.g. More...
 
- Public Member Functions inherited from EVENT::Track
virtual ~Track ()
 Destructor.
 
- Public Member Functions inherited from EVENT::LCObject
virtual ~LCObject ()
 Destructor.
 
virtual LCObjectclone () const
 Returns an object id for internal (debugging) use in LCIO. More...
 
- Public Member Functions inherited from lcrtrel::LCRTRelations
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.
 
- Public Member Functions inherited from IMPL::AccessChecked
virtual int simpleUID () const
 

Protected Member Functions

virtual void setType (int type)
 
- Protected Member Functions inherited from lcrtrel::LCRTRelations
template<class V >
V::ptr & ptr () const
 Returns the reference to the pointer to the extension/relation object.
 
- Protected Member Functions inherited from IMPL::AccessChecked
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
 
- Protected Attributes inherited from IMPL::AccessChecked
bool _readOnly
 
int _id
 

Additional Inherited Members

- Public Types inherited from EVENT::Track
typedef Track lcobject_type
 Useful typedef for template programming with LCIO.
 

Detailed Description

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).

See Also
Track
Author
gaede
Version
Id:
TrackImpl.h,v 1.15 2007-09-18 09:47:10 gaede Exp

Constructor & Destructor Documentation

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.

Member Function Documentation

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.

See Also
TrackState.

Implements EVENT::Track.

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,

See Also
TrackState.

Implements EVENT::Track.

References IMPL::TrackStateImpl::getCovMatrix().

float IMPL::TrackImpl::getD0 ( ) const
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,

See Also
TrackState.

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,

See Also
TrackState.

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,

See Also
TrackState.

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,

See Also
TrackState.

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,

See Also
TrackState.

Implements EVENT::Track.

const TrackState * IMPL::TrackImpl::getTrackState ( int  location) const
virtual

Returns track state for the given location - or NULL if not found.

See Also
TrackState. location can be set to: AtIP, AtFirstHit, AtLastHit, AtCalorimeter, AtVertex, AtOther

Implements EVENT::Track.

const TrackStateVec & IMPL::TrackImpl::getTrackStates ( ) const
virtual

Returns track states associtated with this track.

See Also
TrackState.

Implements EVENT::Track.

int IMPL::TrackImpl::getType ( ) const
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.

float IMPL::TrackImpl::getZ0 ( ) const
virtual

Impact paramter of the track in (r-z).

Information is stored in the first TrackState of this Track,

See Also
TrackState.

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().


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