Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

IMPL::TrackImpl Class Reference

#include <TrackImpl.h>

Inheritance diagram for IMPL::TrackImpl:

EVENT::Track IMPL::AccessChecked EVENT::LCObject lcrtrel::LCRTRelations IOIMPL::TrackIOImpl List of all members.

Public Types

typedef Track lcobject_type

Public Member Functions

 TrackImpl ()
virtual ~TrackImpl ()
 Destructor.
virtual int id () const
virtual int getType () const
virtual float getD0 () const
virtual float getPhi () const
virtual float getOmega () const
virtual float getZ0 () const
virtual float getTanLambda () const
virtual const EVENT::FloatVecgetCovMatrix () const
virtual const float * getReferencePoint () const
virtual bool isReferencePointPCA () const
virtual float getChi2 () const
virtual int getNdf () const
virtual float getdEdx () const
virtual float getdEdxError () const
virtual float getRadiusOfInnermostHit () const
virtual const EVENT::IntVecgetSubdetectorHitNumbers () const
virtual const EVENT::TrackVecgetTracks () const
virtual const EVENT::TrackerHitVecgetTrackerHits () const
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 (float *cov)
virtual void setCovMatrix (const EVENT::FloatVec &cov)
virtual void setReferencePoint (float *rPnt)
virtual void setIsReferencePointPCA (bool val)
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 addHit (EVENT::TrackerHit *hit)
virtual void setRadiusOfInnermostHit (float r)
virtual EVENT::IntVecsubdetectorHitNumbers ()
virtual LCObject * clone () const
template<class V>
V::ext_type ext ()
template<class V>
V::rel_type rel ()
virtual int simpleUID () const

Protected Member Functions

virtual void setType (int type)
template<class V>
V::ptr & ptr ()
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 _d0
float _phi
float _omega
float _z0
float _tanLambda
EVENT::FloatVec _covMatrix
float _reference [3]
bool _isReferencePointPCA
float _chi2
int _ndf
float _dEdx
float _dEdxError
float _radiusOfInnermostHit
EVENT::IntVec _subdetectorHitNumbers
EVENT::TrackVec _tracks
EVENT::TrackerHitVec _hits
bool _readOnly
int _id

Detailed Description

Implementation of Track.

See also:
Track
Author:
gaede
Version:
Id
TrackImpl.h,v 1.14 2006/08/04 16:52:46 gaede Exp

Definition at line 27 of file TrackImpl.h.


Member Typedef Documentation

typedef Track EVENT::Track::lcobject_type [inherited]
 

Useful typedef for template programming with LCIO

Definition at line 36 of file Track.h.


Constructor & Destructor Documentation

IMPL::TrackImpl::TrackImpl  ) 
 

Default constructor, initializes values to 0.

Definition at line 8 of file TrackImpl.cc.

References _covMatrix, _reference, _type, and BIT_ISREFERENCEPOINTDCA.

IMPL::TrackImpl::~TrackImpl  )  [virtual]
 

Destructor.

Definition at line 24 of file TrackImpl.cc.


Member Function Documentation

void IMPL::TrackImpl::addHit EVENT::TrackerHit hit  )  [virtual]
 

Definition at line 157 of file TrackImpl.cc.

References _hits.

void IMPL::TrackImpl::addTrack EVENT::Track trk  )  [virtual]
 

Definition at line 161 of file TrackImpl.cc.

References _tracks, and IMPL::AccessChecked::checkAccess().

void IMPL::AccessChecked::checkAccess const char *  what  )  throw ( EVENT::ReadOnlyException ) [protected, inherited]
 

Definition at line 20 of file AccessChecked.cc.

void IMPL::AccessChecked::checkAccess  )  throw ( EVENT::ReadOnlyException ) [protected, inherited]
 

Definition at line 16 of file AccessChecked.cc.

Referenced by IMPL::TrackerRawDataImpl::adcValues(), IMPL::ReconstructedParticleImpl::addCluster(), IMPL::ClusterImpl::addCluster(), IMPL::MCParticleImpl::addDaughter(), IMPL::SimCalorimeterHitImpl::addMCParticleContribution(), IMPL::VertexImpl::addParameter(), IMPL::ParticleIDImpl::addParameter(), IMPL::MCParticleImpl::addParent(), IMPL::ReconstructedParticleImpl::addParticle(), IMPL::ReconstructedParticleImpl::addParticleID(), IMPL::ClusterImpl::addParticleID(), addTrack(), IMPL::ReconstructedParticleImpl::addTrack(), IMPL::TrackerDataImpl::chargeValues(), IMPL::TrackerHitImpl::rawHits(), IMPL::TrackerRawDataImpl::setADCValues(), IMPL::VertexImpl::setAlgorithmType(), IMPL::ParticleIDImpl::setAlgorithmType(), IMPL::RawCalorimeterHitImpl::setAmplitude(), IMPL::VertexImpl::setAssociatedParticle(), IMPL::TPCHitImpl::setCellID(), IMPL::SimTrackerHitImpl::setCellID(), IMPL::TrackerRawDataImpl::setCellID0(), IMPL::TrackerPulseImpl::setCellID0(), IMPL::TrackerDataImpl::setCellID0(), IMPL::SimCalorimeterHitImpl::setCellID0(), IMPL::RawCalorimeterHitImpl::setCellID0(), IMPL::CalorimeterHitImpl::setCellID0(), IMPL::TrackerRawDataImpl::setCellID1(), IMPL::TrackerPulseImpl::setCellID1(), IMPL::TrackerDataImpl::setCellID1(), IMPL::SimCalorimeterHitImpl::setCellID1(), IMPL::RawCalorimeterHitImpl::setCellID1(), IMPL::CalorimeterHitImpl::setCellID1(), IMPL::TrackerPulseImpl::setCharge(), IMPL::TPCHitImpl::setCharge(), IMPL::ReconstructedParticleImpl::setCharge(), IMPL::MCParticleImpl::setCharge(), IMPL::TrackerDataImpl::setChargeValues(), IMPL::VertexImpl::setChi2(), setChi2(), IMPL::VertexImpl::setCovMatrix(), setCovMatrix(), IMPL::TrackerHitImpl::setCovMatrix(), IMPL::ReconstructedParticleImpl::setCovMatrix(), setD0(), setdEdx(), IMPL::TrackerHitImpl::setdEdx(), IMPL::SimTrackerHitImpl::setdEdx(), setdEdxError(), IMPL::LCRunHeaderImpl::setDescription(), IMPL::LCRunHeaderImpl::setDetectorName(), IMPL::LCEventImpl::setDetectorName(), IMPL::ClusterImpl::setDirectionError(), IMPL::MCParticleImpl::setEndpoint(), IMPL::SimCalorimeterHitImpl::setEnergy(), IMPL::ReconstructedParticleImpl::setEnergy(), IMPL::ClusterImpl::setEnergy(), IMPL::CalorimeterHitImpl::setEnergy(), IMPL::LCEventImpl::setEventNumber(), IMPL::MCParticleImpl::setGeneratorStatus(), IMPL::ReconstructedParticleImpl::setGoodnessOfPID(), IMPL::ClusterImpl::setIPhi(), setIsReferencePointPCA(), IMPL::ClusterImpl::setITheta(), IMPL::ParticleIDImpl::setLikelihood(), IMPL::ReconstructedParticleImpl::setMass(), IMPL::MCParticleImpl::setMass(), IMPL::SimTrackerHitImpl::setMCParticle(), IMPL::SimTrackerHitImpl::setMomentum(), IMPL::ReconstructedParticleImpl::setMomentum(), IMPL::MCParticleImpl::setMomentum(), setNdf(), setOmega(), IMPL::ReconstructedParticleImpl::setParticleIDUsed(), IMPL::SimTrackerHitImpl::setPathLength(), IMPL::ParticleIDImpl::setPDG(), IMPL::MCParticleImpl::setPDG(), setPhi(), IMPL::VertexImpl::setPosition(), IMPL::TrackerHitImpl::setPosition(), IMPL::SimTrackerHitImpl::setPosition(), IMPL::SimCalorimeterHitImpl::setPosition(), IMPL::ClusterImpl::setPosition(), IMPL::CalorimeterHitImpl::setPosition(), IMPL::ClusterImpl::setPositionError(), IMPL::VertexImpl::setPrimary(), IMPL::VertexImpl::setProbability(), IMPL::TrackerPulseImpl::setQuality(), IMPL::TPCHitImpl::setQuality(), IMPL::TrackerPulseImpl::setQualityBit(), setRadiusOfInnermostHit(), IMPL::TPCHitImpl::setRawData(), IMPL::CalorimeterHitImpl::setRawHit(), setReferencePoint(), IMPL::ReconstructedParticleImpl::setReferencePoint(), IMPL::LCRunHeaderImpl::setRunNumber(), IMPL::LCEventImpl::setRunNumber(), IMPL::ClusterImpl::setShape(), IMPL::MCParticleImpl::setSimulatorStatus(), IMPL::ReconstructedParticleImpl::setStartVertex(), setTanLambda(), IMPL::TrackerRawDataImpl::setTime(), IMPL::TrackerPulseImpl::setTime(), IMPL::TrackerHitImpl::setTime(), IMPL::TrackerDataImpl::setTime(), IMPL::TPCHitImpl::setTime(), IMPL::SimTrackerHitImpl::setTime(), IMPL::MCParticleImpl::setTime(), IMPL::CalorimeterHitImpl::setTime(), IMPL::RawCalorimeterHitImpl::setTimeStamp(), IMPL::LCEventImpl::setTimeStamp(), IMPL::TrackerPulseImpl::setTrackerData(), setType(), IMPL::TrackerHitImpl::setType(), IMPL::ReconstructedParticleImpl::setType(), IMPL::ParticleIDImpl::setType(), IMPL::ClusterImpl::setType(), IMPL::CalorimeterHitImpl::setType(), setTypeBit(), IMPL::ClusterImpl::setTypeBit(), IMPL::LCParametersImpl::setValue(), IMPL::LCParametersImpl::setValues(), IMPL::MCParticleImpl::setVertex(), setZ0(), IMPL::ClusterImpl::subdetectorEnergies(), and subdetectorHitNumbers().

virtual LCObject* EVENT::LCObject::clone  )  const [inline, virtual, inherited]
 

Deep copy of the object. C++ implementations should return the concrete type (virtual constructor). No reasonable implementation yet. Do not use this method.

Reimplemented in IMPL::SimCalorimeterHitImpl.

Definition at line 52 of file LCObject.h.

template<class V>
V::ext_type lcrtrel::LCRTRelations::ext  )  [inline, inherited]
 

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

Definition at line 430 of file LCRTRelations.h.

float IMPL::TrackImpl::getChi2  )  const [virtual]
 

Chi^2 of the track fit.

Implements EVENT::Track.

Definition at line 54 of file TrackImpl.cc.

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

Implements EVENT::Track.

Definition at line 46 of file TrackImpl.cc.

References EVENT::FloatVec.

float IMPL::TrackImpl::getD0  )  const [virtual]
 

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

Implements EVENT::Track.

Definition at line 40 of file TrackImpl.cc.

float IMPL::TrackImpl::getdEdx  )  const [virtual]
 

dEdx of the track.

Implements EVENT::Track.

Definition at line 56 of file TrackImpl.cc.

float IMPL::TrackImpl::getdEdxError  )  const [virtual]
 

Error of dEdx.

Implements EVENT::Track.

Definition at line 57 of file TrackImpl.cc.

int IMPL::TrackImpl::getNdf  )  const [virtual]
 

Number of degrees of freedom of the track fit.

Implements EVENT::Track.

Definition at line 55 of file TrackImpl.cc.

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.

Implements EVENT::Track.

Definition at line 42 of file TrackImpl.cc.

float IMPL::TrackImpl::getPhi  )  const [virtual]
 

Phi of the track at reference point.

Implements EVENT::Track.

Definition at line 41 of file TrackImpl.cc.

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.

Definition at line 60 of file TrackImpl.cc.

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.

See also:
isReferencPointPCA()

Implements EVENT::Track.

Definition at line 47 of file TrackImpl.cc.

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.

Definition at line 64 of file TrackImpl.cc.

References EVENT::IntVec.

float IMPL::TrackImpl::getTanLambda  )  const [virtual]
 

Lambda is the dip angle of the track in r-z at the reference point.

Implements EVENT::Track.

Definition at line 44 of file TrackImpl.cc.

const TrackerHitVec & IMPL::TrackImpl::getTrackerHits  )  const [virtual]
 

Optionaly ( check/set flag(LCIO::TRBIT_HITS)==1) return the hits that have been used to create this track.

Implements EVENT::Track.

Definition at line 67 of file TrackImpl.cc.

References EVENT::TrackerHitVec.

const TrackVec & IMPL::TrackImpl::getTracks  )  const [virtual]
 

The tracks (as Track objects) that have been combined to this track.

Implements EVENT::Track.

Definition at line 71 of file TrackImpl.cc.

References EVENT::TrackVec.

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. Bit 31 is used to encode isReferencePointPCA.

Implements EVENT::Track.

Definition at line 34 of file TrackImpl.cc.

References _type.

float IMPL::TrackImpl::getZ0  )  const [virtual]
 

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

Implements EVENT::Track.

Definition at line 43 of file TrackImpl.cc.

virtual int IMPL::TrackImpl::id  )  const [inline, virtual]
 

Returns an object id for internal (debugging) use in LCIO.

Implements EVENT::LCObject.

Definition at line 38 of file TrackImpl.h.

bool IMPL::TrackImpl::isReferencePointPCA  )  const [virtual]
 

True if the reference point is the point of closest approach.

Implements EVENT::Track.

Definition at line 49 of file TrackImpl.cc.

References _type, and BIT_ISREFERENCEPOINTDCA.

template<class V>
V::ptr& lcrtrel::LCRTRelations::ptr  )  [inline, protected, inherited]
 

Returns the reference to the pointer to the extension/relation object

Definition at line 508 of file LCRTRelations.h.

template<class V>
V::rel_type lcrtrel::LCRTRelations::rel  )  [inline, inherited]
 

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.

Definition at line 444 of file LCRTRelations.h.

void IMPL::TrackImpl::setChi2 float  chi2  )  [virtual]
 

Definition at line 140 of file TrackImpl.cc.

References _chi2, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setCovMatrix const EVENT::FloatVec cov  )  [virtual]
 

Definition at line 119 of file TrackImpl.cc.

References _covMatrix, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setCovMatrix float *  cov  )  [virtual]
 

Definition at line 113 of file TrackImpl.cc.

References _covMatrix, and IMPL::AccessChecked::checkAccess().

Referenced by SIO::SIOTrackHandler::read().

void IMPL::TrackImpl::setD0 float  d0  )  [virtual]
 

Definition at line 91 of file TrackImpl.cc.

References _d0, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setdEdx float  dEdx  )  [virtual]
 

Definition at line 148 of file TrackImpl.cc.

References _dEdx, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setdEdxError float  dEdxError  )  [virtual]
 

Definition at line 152 of file TrackImpl.cc.

References _dEdxError, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setIsReferencePointPCA bool  val  )  [virtual]
 

Definition at line 133 of file TrackImpl.cc.

References _type, BIT_ISREFERENCEPOINTDCA, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setNdf int  ndf  )  [virtual]
 

Definition at line 144 of file TrackImpl.cc.

References _ndf, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setOmega float  omega  )  [virtual]
 

Definition at line 99 of file TrackImpl.cc.

References _omega, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setPhi float  phi  )  [virtual]
 

Definition at line 95 of file TrackImpl.cc.

References _phi, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setRadiusOfInnermostHit float  r  )  [virtual]
 

Definition at line 171 of file TrackImpl.cc.

References _radiusOfInnermostHit, and IMPL::AccessChecked::checkAccess().

void IMPL::AccessChecked::setReadOnly bool  readOnly  )  [protected, virtual, inherited]
 

Reimplemented in IMPL::LCCollectionVec, and IMPL::LCRunHeaderImpl.

Definition at line 14 of file AccessChecked.cc.

References IMPL::AccessChecked::_readOnly.

Referenced by IMPL::LCEventImpl::setAccessMode(), and IMPL::LCCollectionVec::setReadOnly().

void IMPL::TrackImpl::setReferencePoint float *  rPnt  )  [virtual]
 

Definition at line 126 of file TrackImpl.cc.

References _reference, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setTanLambda float  tanLambda  )  [virtual]
 

Definition at line 107 of file TrackImpl.cc.

References _tanLambda, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setType int  type  )  [protected, virtual]
 

Definition at line 81 of file TrackImpl.cc.

References _type, and IMPL::AccessChecked::checkAccess().

Referenced by SIO::SIOTrackHandler::read().

void IMPL::TrackImpl::setTypeBit int  index,
bool  val = true
[virtual]
 

Definition at line 75 of file TrackImpl.cc.

References _type, and IMPL::AccessChecked::checkAccess().

void IMPL::TrackImpl::setZ0 float  z0  )  [virtual]
 

Definition at line 103 of file TrackImpl.cc.

References _z0, and IMPL::AccessChecked::checkAccess().

virtual int IMPL::AccessChecked::simpleUID  )  const [inline, virtual, inherited]
 

Definition at line 24 of file AccessChecked.h.

IntVec & IMPL::TrackImpl::subdetectorHitNumbers  )  [virtual]
 

Allows modification of the subdetectorHitNumbers, e.g.
track->subdetectorHitNumbers().resize(5) ;
track->subdetectorHitNumbers()[4] = 42 ;

Definition at line 166 of file TrackImpl.cc.

References IMPL::AccessChecked::checkAccess(), and EVENT::IntVec.

Referenced by SIO::SIOTrackHandler::read().


Member Data Documentation

float IMPL::TrackImpl::_chi2 [protected]
 

Definition at line 187 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setChi2().

EVENT::FloatVec IMPL::TrackImpl::_covMatrix [protected]
 

Definition at line 183 of file TrackImpl.h.

Referenced by setCovMatrix(), and TrackImpl().

float IMPL::TrackImpl::_d0 [protected]
 

Definition at line 177 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setD0().

float IMPL::TrackImpl::_dEdx [protected]
 

Definition at line 189 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setdEdx().

float IMPL::TrackImpl::_dEdxError [protected]
 

Definition at line 190 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setdEdxError().

EVENT::TrackerHitVec IMPL::TrackImpl::_hits [protected]
 

Definition at line 195 of file TrackImpl.h.

Referenced by addHit(), and SIO::SIOTrackHandler::read().

int IMPL::AccessChecked::_id [protected, inherited]
 

Definition at line 34 of file AccessChecked.h.

Referenced by IMPL::AccessChecked::AccessChecked().

bool IMPL::TrackImpl::_isReferencePointPCA [protected]
 

Definition at line 185 of file TrackImpl.h.

int IMPL::TrackImpl::_ndf [protected]
 

Definition at line 188 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setNdf().

float IMPL::TrackImpl::_omega [protected]
 

Definition at line 179 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setOmega().

float IMPL::TrackImpl::_phi [protected]
 

Definition at line 178 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setPhi().

float IMPL::TrackImpl::_radiusOfInnermostHit [protected]
 

Definition at line 191 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setRadiusOfInnermostHit().

bool IMPL::AccessChecked::_readOnly [protected, inherited]
 

Definition at line 33 of file AccessChecked.h.

Referenced by IMPL::AccessChecked::setReadOnly().

float IMPL::TrackImpl::_reference[3] [protected]
 

Definition at line 184 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), setReferencePoint(), and TrackImpl().

EVENT::IntVec IMPL::TrackImpl::_subdetectorHitNumbers [protected]
 

Definition at line 192 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read().

float IMPL::TrackImpl::_tanLambda [protected]
 

Definition at line 181 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setTanLambda().

EVENT::TrackVec IMPL::TrackImpl::_tracks [protected]
 

Definition at line 194 of file TrackImpl.h.

Referenced by addTrack(), and SIO::SIOTrackHandler::read().

std::bitset<32> IMPL::TrackImpl::_type [protected]
 

Definition at line 176 of file TrackImpl.h.

Referenced by getType(), isReferencePointPCA(), setIsReferencePointPCA(), setType(), setTypeBit(), and TrackImpl().

float IMPL::TrackImpl::_z0 [protected]
 

Definition at line 180 of file TrackImpl.h.

Referenced by SIO::SIOTrackHandler::read(), and setZ0().


The documentation for this class was generated from the following files:
Generated on Sun Jun 3 06:32:27 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1