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

BIntegrator.h

Go to the documentation of this file.
00001 // $Id: BIntegrator.h,v 1.1 2005/05/25 15:40:12 cattanem Exp $
00002 #ifndef TRACKTOOLS_BINTEGRATOR_H 
00003 #define TRACKTOOLS_BINTEGRATOR_H 1
00004 
00005 // Include files
00006 // -------------
00007 // from Gaudi
00008 #include "GaudiAlg/GaudiTool.h"
00009 #include "GaudiKernel/IMagneticFieldSvc.h"
00010 
00011 // from TrackInterfaces
00012 #include "TrackInterfaces/IBIntegrator.h"            // Interface
00013 
00020 class BIntegrator : public GaudiTool,
00021                     virtual public IBIntegrator {
00022 public: 
00024   BIntegrator( const std::string& type, 
00025                const std::string& name,
00026                const IInterface* parent );
00027 
00028   virtual ~BIntegrator( ); 
00029 
00030   StatusCode initialize(); 
00031 
00033  StatusCode calculateBdlAndCenter( const HepPoint3D& beginPoint,
00034                                    const HepPoint3D& endPoint,
00035                                    const double tX,
00036                                    const double tY,
00037                                    double& zCenter,
00038                                    HepVector3D& Bdl ) const;
00039 
00040 protected:
00041 
00042 private:
00043   StatusCode calculateBdlCenter();
00044 
00045   IMagneticFieldSvc* m_pIMF;   // Pointer to the magnetic field service
00046 
00047   int        m_nSteps;
00048   HepPoint3D m_centerZ;
00049   double     m_firstZ;
00050   double     m_lastZ;
00051 
00052 };
00053 #endif // TRACKTOOLS_BINTEGRATOR_H

Generated on Fri May 27 13:59:37 2005 for New Track Event Model by doxygen 1.4.1