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

Track.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // AID-GENERATED
00003 // =========================================================================
00004 // This class was generated by AID - Abstract Interface Definition          
00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
00006 // =========================================================================
00007 #ifndef EVENT_TRACK_H
00008 #define EVENT_TRACK_H 1
00009 
00010 #include "EVENT/LCObject.h"
00011 #include "EVENT/Track.h"
00012 #include "EVENT/TrackerHit.h"
00013 #include "LCIOSTLTypes.h"
00014 #include "empty_ignore.h"
00015 
00016 namespace EVENT {
00017 
00018 
00019 class Track ;
00020 /**Vector of (pointers to) Tracks.*/
00021 typedef std::vector<Track*> TrackVec ;
00022 /** The LCIO track.
00023  * 
00024  * @author gaede
00025  * @version $Id: Track.aid,v 1.14 2006/08/03 16:53:35 gaede Exp $
00026  */
00027 
00028 class Track : public LCObject {
00029 
00030 public: 
00031     /// Destructor.
00032     virtual ~Track() { /* nop */; }
00033 
00034 
00035     /** Useful typedef for template programming with LCIO */
00036     typedef Track lcobject_type ;
00037 
00038     /** Flagword that defines the type of track. Bits 0-15 can be used to denote the subdetectors
00039      *  that have contributed hits used in the track fit.  For the definition of the bits 
00040      *  check/Set the collection variables TrackTypeBitNames and TrackTypeBitIndices.
00041      *  </br>Bits 16-31 are used internally.
00042      */
00043     virtual int getType() const = 0;
00044 
00045     /** Impact paramter of the track
00046      *  in (r-phi).
00047      */
00048     virtual float getD0() const = 0;
00049 
00050     /** Phi of the track at the reference point.
00051      * @see getReferencePoint
00052      */
00053     virtual float getPhi() const = 0;
00054 
00055     /** Omega is the signed curvature of the track in [1/mm].
00056      * The sign is that of the particle's charge.
00057      */
00058     virtual float getOmega() const = 0;
00059 
00060     /** Impact paramter of the track
00061      *  in (r-z).
00062      */
00063     virtual float getZ0() const = 0;
00064 
00065     /** Lambda is the dip angle of the track in r-z at the reference point. 
00066      * @see getReferencePoint
00067      */
00068     virtual float getTanLambda() const = 0;
00069 
00070     /** Covariance matrix of the track parameters. Stored as lower triangle matrix where
00071      * the order of parameters is:   d0, phi, omega, z0, tan(lambda).
00072      * So we have cov(d0,d0), cov( phi, d0 ), cov( phi, phi), ...
00073      */
00074     virtual const FloatVec & getCovMatrix() const = 0;
00075 
00076     /** Reference point of the track parameters.
00077      *  The default for the reference point is the point of closest approach.
00078      *  @see isReferencPointPCA() 
00079      */
00080     virtual const float* getReferencePoint() const = 0;
00081 
00082     /** True if the reference point is the point of closest approach.
00083      */
00084     virtual bool isReferencePointPCA() const = 0;
00085 
00086     /** Chi^2 of the track fit.
00087      */
00088     virtual float getChi2() const = 0;
00089 
00090     /** Number of degrees of freedom  of the track fit.
00091      */
00092     virtual int getNdf() const = 0;
00093 
00094     /** dEdx of the track.
00095      */
00096     virtual float getdEdx() const = 0;
00097 
00098     /** Error of dEdx.
00099      */
00100     virtual float getdEdxError() const = 0;
00101 
00102     /** The radius of the innermost hit that has been used in the track fit.
00103      *  Helps to detect V0 tracks with small impact paramters or heavy mesons.
00104      *  To be used as convenient information or if hits are not stored in 
00105      *  the data set, e.g. DST or FastMC. 
00106      */
00107     virtual float getRadiusOfInnermostHit() const = 0;
00108 
00109     /** A vector that holds the number of hits in particular subdetectors.
00110      *  The mapping of indices to subdetectors is implementation dependent.
00111      *  To be used as convenient information or if hits are not stored in 
00112      *  the data set, e.g. DST or FastMC. 
00113      *  Check/set collection variable TrackSubdetectorNames for decoding the indices.
00114      */
00115     virtual const IntVec & getSubdetectorHitNumbers() const = 0;
00116 
00117     /** The tracks that have been combined to this track.
00118      */
00119     virtual const TrackVec & getTracks() const = 0;
00120 
00121     /** Optionaly ( check/set flag(LCIO::TRBIT_HITS)==1)  return the hits that have been used 
00122      *  to create this track.
00123      */
00124     virtual const TrackerHitVec & getTrackerHits() const = 0;
00125 }; // class
00126 } // namespace EVENT
00127 #endif /* ifndef EVENT_TRACK_H */

Generated on Sun Jun 3 06:31:59 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1