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

FitTrack.h

Go to the documentation of this file.
00001 
00002 //   **************************************************************************
00003 //   *                                                                        *
00004 //   *                      ! ! ! A T T E N T I O N ! ! !                     *
00005 //   *                                                                        *
00006 //   *  This file was created automatically by GaudiObjDesc, please do not    *
00007 //   *  delete it or edit it by hand.                                         *
00008 //   *                                                                        *
00009 //   *  If you want to change this file, first change the corresponding       *
00010 //   *  xml-file and rerun the tools from GaudiObjDesc (or run make if you    *
00011 //   *  are using it from inside a Gaudi-package).                            *
00012 //   *                                                                        *
00013 //   **************************************************************************
00014 
00015 #ifndef TrackFitEvent_FitTrack_H
00016 #define TrackFitEvent_FitTrack_H 1
00017 
00018 // Include files
00019 #include "Event/Track.h"
00020 #include "Event/Node.h"
00021 #include "Event/Measurement.h"
00022 #include <vector>
00023 
00024 
00025 // Forward declarations
00026 class Plane3D;
00027 
00028 
00029 // Class ID definition
00030 static const CLID& CLID_FitTrack = 10020;
00031 
00032 // Namespace for locations in TDS
00033 namespace FitTrackLocation {
00034   static const std::string& Default = "Rec/FitTrack/Best";
00035   static const std::string& Velo = "Rec/FitTrack/Velo";
00036   static const std::string& Seed = "Rec/FitTrack/Seed";
00037   static const std::string& Match = "Rec/FitTrack/Match";
00038   static const std::string& Forward = "Rec/FitTrack/Forward";
00039   static const std::string& Follow = "Rec/FitTrack/Follow";
00040   static const std::string& VeloTT = "Rec/FitTrack/VeloTT";
00041   static const std::string& KsTrack = "Rec/FitTrack/KsTrack";
00042 }
00043 
00044 
00054 class FitTrack: public Track
00055 {
00056 public:
00057 
00059   enum TrackType{ Velo=1,
00060                   VeloR=2,
00061                   Backward=4,
00062                   Long=8,
00063                   Upstream=16,
00064                   Downstream=32,
00065                   Ttrack=64 };
00067   enum HistoryFlag{ LongTrack=1,
00068                     Seeding=2,
00069                     TrKshort=4,
00070                     TrMatching=8,
00071                     VeloTrack=16,
00072                     VeloTT=32,
00073                     TrgForward=64,
00074                     TrgVelo=128,
00075                     TrgVeloTT=256 };
00077   enum Flag{ Valid=1,
00078              Unique=2,
00079              IPSelected=4,
00080              MuSelected=8 };
00081 
00083   FitTrack() : m_nodes(),
00084                m_measurements() {}
00085 
00087   virtual ~FitTrack() {}
00088 
00089   // Retrieve pointer to class definition structure
00090   virtual const CLID& clID() const;
00091   static const CLID& classID();
00092 
00094   virtual State & closestState(double z);
00095 
00097   virtual const State & closestState(double z) const;
00098 
00100   virtual State & closestState(const HepPlane3D& plane);
00101 
00103   virtual const State & closestState(const HepPlane3D& plane) const;
00104 
00106   virtual State* stateAt(const State::Location& value);
00107 
00109   virtual const State* stateAt(const State::Location& value) const;
00110 
00112   virtual void reset();
00113 
00115   virtual FitTrack* clone() const;
00116 
00118   virtual bool producedByAlgo(const HistoryFlag& value) const;
00119 
00121   virtual void setProducedByAlgo(const HistoryFlag& value);
00122 
00124   const std::vector<Node*>& nodes() const;
00125 
00127   std::vector<Node*>& nodes();
00128 
00130   void setNodes(const std::vector<Node*>& value);
00131 
00133   const std::vector<Measurement*>& measurements() const;
00134 
00136   std::vector<Measurement*>& measurements();
00137 
00139   void setMeasurements(const std::vector<Measurement*>& value);
00140 
00141 protected:
00142 
00143   std::vector<Node*>        m_nodes;        
00144   std::vector<Measurement*> m_measurements; 
00145 
00146 private:
00147 
00148 };
00149 
00150 // -----------------------------------------------------------------------------
00151 //   end of class
00152 // -----------------------------------------------------------------------------
00153 
00154 // Including forward declarations
00155 #include "CLHEP/Geometry/Plane3D.h"
00156 
00157 
00158 inline const CLID& FitTrack::clID() const
00159 {
00160   return FitTrack::classID();
00161 }
00162 
00163 inline const CLID& FitTrack::classID()
00164 {
00165   return CLID_FitTrack;
00166 }
00167 
00168 inline const std::vector<Node*>& FitTrack::nodes() const 
00169 {
00170   return m_nodes;
00171 }
00172 
00173 inline std::vector<Node*>& FitTrack::nodes() 
00174 {
00175   return m_nodes;
00176 }
00177 
00178 inline void FitTrack::setNodes(const std::vector<Node*>& value) 
00179 {
00180   m_nodes = value;
00181 }
00182 
00183 inline const std::vector<Measurement*>& FitTrack::measurements() const 
00184 {
00185   return m_measurements;
00186 }
00187 
00188 inline std::vector<Measurement*>& FitTrack::measurements() 
00189 {
00190   return m_measurements;
00191 }
00192 
00193 inline void FitTrack::setMeasurements(const std::vector<Measurement*>& value) 
00194 {
00195   m_measurements = value;
00196 }
00197 
00198 
00199 #endif 

Generated on Thu Apr 7 22:43:26 2005 for New Track Event Model by doxygen 1.4.1