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 */
1.3.9.1