/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/MagneticField/MagneticField-00-01-38/MagneticField/IMagneticFieldSvc.h

Go to the documentation of this file.
00001 // $Header: /bes/bes/BossCvs/MagneticField/MagneticField/IMagneticFieldSvc.h,v 1.4 2008/09/18 00:46:38 caogf Exp $
00002 #ifndef GAUDIKERNEL_IMAGNETICFIELDSVC_H
00003 #define GAUDIKERNEL_IMAGNETICFIELDSVC_H
00004 
00005 
00006 // Include files
00007 #include "GaudiKernel/IService.h"
00008 #include "GaudiKernel/StatusCode.h"
00009 
00010 
00011 // Forward declarations
00012 template <class TYPE> class SvcFactory;
00013 namespace HepGeom {
00014     template <class T>  class Vector3D;
00015     template <class T>  class Point3D;
00016 }
00017 
00018 
00019 // Declaration of the interface ID ( interface id, major version, minor version) 
00020 static const InterfaceID IID_IMagneticFieldSvc(80, 1 , 0); 
00021 
00022 
00029 class IMagneticFieldSvc : virtual public IService   {
00030 
00031 public:
00033   static const InterfaceID& interfaceID() { return IID_IMagneticFieldSvc; }
00034 
00035   // Get the magnetic field vector at a given point in space.
00036   // Input: Point3D - Point at which magnetic field vector is to be given.
00037   // Output: Vector3D - Magnectic field vector.
00038   // Return: StatusCode SUCCESS if calculation was performed.
00039   virtual StatusCode fieldVector( const HepGeom::Point3D<double>& xyz, HepGeom::Vector3D<double>& fvec ) const = 0;
00040   virtual StatusCode uniFieldVector( const HepGeom::Point3D<double>& xyz, HepGeom::Vector3D<double>& fvec ) const = 0;
00041   virtual double     getReferField()  = 0;
00042   virtual bool ifRealField() const = 0;
00043 
00044 };
00045 
00046 #endif  // GAUDIKERNEL_IMAGNETICFIELDSVC_H

Generated on Tue Nov 29 23:12:44 2016 for BOSS_7.0.2 by  doxygen 1.4.7