| # Gaudi Framework, version v21r7 |

Home |  | Generated: 22 Jan 2010

# IMagneticFieldSvc.h

Go to the documentation of this file.

    00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IMagneticFieldSvc.h,v 1.8 2006/05/29 08:46:06 hmd 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 ROOT {
    00014   namespace Math {
    00015     class DefaultCoordinateSystemTag;
    00016
    00017     // from Math/Point3Dfwd.h
    00018     template<class CoordSystem, class Tag> class PositionVector3D;
    00019     // from Math/Vector3Dfwd.h
    00020     template<class CoordSystem, class Tag> class DisplacementVector3D;
    00021     // from Math/Point3Dfwd.h
    00022     template<typename T> class Cartesian3D;
    00023     // from Math/Point3Dfwd.h
    00024     typedef PositionVector3D< Cartesian3D<double>,DefaultCoordinateSystemTag> XYZPoint;
    00025     // from Math/Vector3Dfwd.h
    00026     typedef DisplacementVector3D< Cartesian3D<double>,DefaultCoordinateSystemTag > XYZVector;
    00027   }
    00028 }
    00029
    00036 class GAUDI_API IMagneticFieldSvc: virtual public IService {
    00037
    00038 public:
    00040   DeclareInterfaceID(IMagneticFieldSvc,2,0);
    00041
    00042   // Get the magnetic field vector at a given point in space.
    00043   // Input: XYZPoint - Point at which magnetic field vector is to be given.
    00044   // Output: XYZVector - Magnetic field vector.
    00045   // Return: StatusCode SUCCESS if calculation was performed.
    00046   virtual StatusCode fieldVector( const ROOT::Math::XYZPoint& xyz,
    00047                                   ROOT::Math::XYZVector& fvec ) const = 0;
    00048
    00049 };
    00050
    00051 #endif  // GAUDIKERNEL_IMAGNETICFIELDSVC_H