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

TrExtrapolator.h

Go to the documentation of this file.
00001 // $Id: $
00002 #ifndef TRACKEXTRAPOLATORS_TREXTRAPOLATOR_H 
00003 #define TRACKEXTRAPOLATORS_TREXTRAPOLATOR_H 1
00004 
00005 // Include files
00006 // from Gaudi
00007 #include "GaudiAlg/GaudiTool.h"
00008 
00009 #include "Tools/ITrExtrapolator.h"
00010 
00011 class Track;
00012 class State;
00013 
00022 class TrExtrapolator : public GaudiTool,
00023                        virtual public ITrExtrapolator {
00024 public: 
00026   virtual StatusCode propagate( const Track& track,
00027                                 double z,
00028                                 State& state,
00029                                 ParticleID pid = ParticleID(211) );
00030 
00032   virtual StatusCode propagate( const Track& track,
00033                                 const HepPlane3D& plane,
00034                                 State& state,
00035                                 ParticleID pid = ParticleID(211) );
00036 
00038   virtual StatusCode propagate( State& state,
00039                                 double z,
00040                                 ParticleID pid = ParticleID(211) );
00041 
00043   virtual StatusCode propagate( State& state,
00044                                 const HepPlane3D& plane,
00045                                 ParticleID pid = ParticleID(211) );
00046 
00056   virtual StatusCode positionAndMomentum( const Track& track,
00057                                           double z,
00058                                           HepPoint3D& pos,
00059                                           HepVector3D& mom,
00060                                           HepSymMatrix& cov6D,
00061                                           ParticleID pid = ParticleID(211) );
00062 
00065   virtual StatusCode positionAndMomentum( const Track& track,
00066                                           const HepPlane3D& plane,
00067                                           HepPoint3D& pos,
00068                                           HepVector3D& mom,
00069                                           HepSymMatrix& cov6D,
00070                                           ParticleID pid = ParticleID(211) );
00071 
00073   virtual StatusCode positionAndMomentum( const Track& track,
00074                                           double z,
00075                                           HepPoint3D& pos,
00076                                           HepVector3D& mom,
00077                                           ParticleID pid = ParticleID(211) );
00078 
00080   virtual StatusCode positionAndMomentum( const Track& track,
00081                                           const HepPlane3D& plane,
00082                                           HepPoint3D& pos,
00083                                           HepVector3D& mom,
00084                                           ParticleID pid = ParticleID(211) );
00085 
00087   virtual StatusCode position( const Track& track,
00088                                double z,
00089                                HepPoint3D& pos,
00090                                HepSymMatrix& errPos,
00091                                ParticleID pid = ParticleID(211) );
00092 
00094   virtual StatusCode position( const Track& track,
00095                                const HepPlane3D& plane,
00096                                HepPoint3D& pos,
00097                                HepSymMatrix& errPos,
00098                                ParticleID pid = ParticleID(211) );
00099 
00101   virtual StatusCode position( const Track& track,
00102                                double z,
00103                                HepPoint3D& pos,
00104                                ParticleID pid = ParticleID(211) );
00105 
00107   virtual StatusCode position( const Track& track,
00108                                const HepPlane3D& plane,
00109                                HepPoint3D& pos,
00110                                ParticleID pid = ParticleID(211) );
00111 
00113   virtual StatusCode slopes( const Track& track,
00114                              double z,
00115                              HepVector3D& slopes,
00116                              HepSymMatrix& errSlopes,
00117                              ParticleID pid = ParticleID(211) );
00118 
00120   virtual StatusCode slopes( const Track& track,
00121                              const HepPlane3D& plane,
00122                              HepVector3D& slopes,
00123                              HepSymMatrix& errSlopes,
00124                              ParticleID pid = ParticleID(211) );
00125 
00127   virtual StatusCode slopes( const Track& track,
00128                              double z,
00129                              HepVector3D& slopes,
00130                              ParticleID pid = ParticleID(211) );
00131 
00133   virtual StatusCode slopes( const Track& track,
00134                              const HepPlane3D& plane,
00135                              HepVector3D& slopes,
00136                              ParticleID pid = ParticleID(211) );
00137 
00139   virtual StatusCode p( const Track& track,
00140                         double z,
00141                         double& p,
00142                         ParticleID pid = ParticleID(211) );
00143 
00145   virtual StatusCode p( const Track& track,
00146                         const HepPlane3D& plane,
00147                         double& p,
00148                         ParticleID pid = ParticleID(211) );
00149 
00151   virtual StatusCode pt( const Track& track,
00152                          double z,
00153                          double& pt,
00154                          ParticleID pid = ParticleID(211) );
00155 
00157   virtual StatusCode pt( const Track& track,
00158                          const HepPlane3D& plane,
00159                          double& pt,
00160                          ParticleID pid = ParticleID(211) );
00161 
00163   virtual StatusCode momentum( const Track& track,
00164                                double z,
00165                                HepVector3D& mom,
00166                                HepSymMatrix& errMom,
00167                                ParticleID pid = ParticleID(211) );
00168 
00170   virtual StatusCode momentum( const Track& track,
00171                                const HepPlane3D& plane,
00172                                HepVector3D& mom,
00173                                HepSymMatrix& errMom,
00174                                ParticleID pid = ParticleID(211) );
00175 
00177   virtual StatusCode momentum( const Track& track,
00178                                double z,
00179                                HepVector3D& mom,
00180                                ParticleID pid = ParticleID(211) );
00181 
00183   virtual StatusCode momentum( const Track& track,
00184                                const HepPlane3D& plane,
00185                                HepVector3D& mom,
00186                                ParticleID pid = ParticleID(211) );
00187 
00189   virtual const HepMatrix& transportMatrix() const;
00190 
00192   TrExtrapolator( const std::string& type, 
00193                   const std::string& name,
00194                   const IInterface* parent );
00195 
00197   virtual ~TrExtrapolator( );
00198 
00199 protected:
00201   HepMatrix m_F; 
00202 
00204   virtual void updateState( State& state, double z ) const;
00205 
00206 private:
00207 
00208 };
00209 #endif // TRACKEXTRAPOLATORS_TREXTRAPOLATOR_H

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