Main Page   Namespace List   Compound List   File List   Compound Members   File Members  

TrLinearExtrapolator.h

Go to the documentation of this file.
00001 #ifndef TRLINEAREXTRAPOLATOR_H 
00002 #define TRLINEAREXTRAPOLATOR_H 1
00003 
00004 // Include files
00005 #include "GaudiAlg/GaudiTool.h"
00006 #include "TrKernel/ITrExtrapolator.h"
00007 
00008 // Forward declarations
00009 class TrState;
00010 
00021 class TrLinearExtrapolator: public GaudiTool,
00022                             virtual public ITrExtrapolator {
00023 
00024 public:
00026   TrLinearExtrapolator(const std::string& type, 
00027                        const std::string& name, 
00028                        const IInterface* parent);
00029 
00031   virtual ~TrLinearExtrapolator();
00032 
00034   virtual const HepMatrix& transportMatrix() const;
00035 
00037   virtual StatusCode propagate( TrState* state,
00038                                 double z = 0,
00039                                 ParticleID partId = ParticleID(211));
00040 
00042   virtual StatusCode propagate( TrState* state,
00043                                 HepPlane plane,
00044                                 ParticleID partId = ParticleID(211));
00045 
00048   virtual StatusCode positionAndMomentum( TrState* state,
00049                                           double z = 0,
00050                                           ParticleID partId = ParticleID(211),
00051                                           HepPoint3D pos,
00052                                           HepVector3D mom,
00053                                           HepSymMatrix cov6D );
00054 
00057   virtual StatusCode positionAndMomentum( TrState* state,
00058                                           HepPlane plane,
00059                                           ParticleID partId = ParticleID(211),
00060                                           HepPoint3D pos,
00061                                           HepVector3D mom,
00062                                           HepSymMatrix cov6D );
00063 
00066   virtual StatusCode positionAndMomentum( TrTrack* track,
00067                                           double z = 0,
00068                                           ParticleID partId = ParticleID(211),
00069                                           HepPoint3D pos,
00070                                           HepVector3D mom,
00071                                           HepSymMatrix cov6D );
00072 
00075   virtual StatusCode positionAndMomentum( TrTrack* track,
00076                                           HepPlane plane,
00077                                           ParticleID partId = ParticleID(211),
00078                                           HepPoint3D pos,
00079                                           HepVector3D mom,
00080                                           HepSymMatrix cov6D );
00081 
00083   virtual StatusCode position( TrState* state,
00084                                double z = 0,
00085                                ParticleID partId = ParticleID(211),
00086                                HepPoint3D pos );
00087 
00089   virtual StatusCode position( TrState* state,
00090                                double z = 0,
00091                                ParticleID partId = ParticleID(211),
00092                                HepPoint3D pos,
00093                                std::vector errPos );
00094 
00096   virtual StatusCode position( TrState* state,
00097                                           HepPlane plane,
00098                                           ParticleID partId = ParticleID(211),
00099                                           HepPoint3D pos );
00100 
00102   virtual StatusCode position( TrTrack* track,
00103                                double z = 0,
00104                                ParticleID partId = ParticleID(211),
00105                                HepPoint3D pos );
00106 
00108   virtual StatusCode position( TrTrack* track,
00109                                HepPlane plane,
00110                                ParticleID partId = ParticleID(211),
00111                                HepPoint3D pos );
00112 
00114   virtual StatusCode slopes( TrState* state,
00115                              double z = 0,
00116                              ParticleID partId = ParticleID(211),
00117                              HepVector3D slopes );
00118 
00120   virtual StatusCode slopes( TrState* state,
00121                              double z = 0,
00122                              ParticleID partId = ParticleID(211),
00123                              HepVector3D slopes,
00124                              std::vector errSlopes );
00125 
00127   virtual StatusCode slopes( TrState* state,
00128                              HepPlane plane,
00129                              ParticleID partId = ParticleID(211),
00130                              HepVector3D slopes );
00131 
00133   virtual StatusCode slopes( TrState* state,
00134                              double z = 0,
00135                              ParticleID partId = ParticleID(211),
00136                              HepVector3D slopes );
00137 
00139   virtual StatusCode slopes( TrTrack* track,
00140                              HepPlane plane,
00141                              ParticleID partId = ParticleID(211),
00142                              HepVector3D slopes );
00143 
00145   virtual StatusCode posMomCovariance( TrState* state,
00146                                        double z = 0,
00147                                        ParticleID partId = ParticleID(211),
00148                                        HepSymMatrix cov6D );
00149 
00152   virtual StatusCode posMomCovariance( TrState* state,
00153                                        HepPlane plane,
00154                                        ParticleID partId = ParticleID(211),
00155                                        HepSymMatrix cov6D );
00156 
00158   virtual StatusCode errPosition( TrState* state,
00159                                    double z = 0,
00160                                    ParticleID partId = ParticleID(211),
00161                                    std::vector errPosition );
00162 
00164   virtual StatusCode errPosition( TrState* state,
00165                                   HepPlane plane,
00166                                   ParticleID partId = ParticleID(211),
00167                                   std::vector errPosition );
00168 
00170   virtual StatusCode errSlopes( TrState* state,
00171                                 double z = 0,
00172                                 ParticleID partId = ParticleID(211),
00173                                 std::vector errPosition );
00174 
00177   virtual StatusCode errSlopes( TrState* state,
00178                                 HepPlane plane,
00179                                 ParticleID partId = ParticleID(211),
00180                                 std::vector errSlopes );
00181 
00183   virtual StatusCode p( TrState* state,
00184                         double z = 0,
00185                         ParticleID partId = ParticleID(211),
00186                         double p );
00187 
00189   virtual StatusCode p( TrState* state,
00190                         HepPlane plane,
00191                         ParticleID partId = ParticleID(211),
00192                         double p );
00193 
00195   virtual StatusCode pt( TrState* state,
00196                          double z = 0,
00197                          ParticleID partId = ParticleID(211),
00198                          double pt );
00199 
00201   virtual StatusCode pt( TrState* state,
00202                          HepPlane plane,
00203                          ParticleID partId = ParticleID(211),
00204                          double pt );
00205 
00207   virtual StatusCode momentum( TrState* state,
00208                                double z = 0,
00209                                ParticleID partId = ParticleID(211),
00210                                HepVector3D );
00211 
00213   virtual StatusCode momentum( TrState* state,
00214                                HepPlane plane,
00215                                ParticleID partId = ParticleID(211),
00216                                HepVector3D );
00217 
00219   virtual StatusCode errMomentum( TrState* state,
00220                                   double z = 0,
00221                                   ParticleID partId = ParticleID(211),
00222                                   std::vector errMomentum );
00223 
00225   virtual StatusCode errMomentum( TrState* state,
00226                                   HepPlane plane,
00227                                   ParticleID partId = ParticleID(211),
00228                                   std::vector errMomentum );
00229 
00230 private:
00231 
00233   HepMatrix m_F;
00234 
00236   void extrapolate( TrState* state) const;
00237 
00238 };
00239 
00240 #endif // TRLINEAREXTRAPOLATOR_H

Generated on Tue Sep 28 18:11:17 2004 for New Track Event Model by doxygen 1.2.14 written by Dimitri van Heesch, © 1997-2002