Gaudi Framework, version v21r6

Home   Generated: 11 Nov 2009

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

Generated at Wed Nov 11 16:22:59 2009 for Gaudi Framework, version v21r6 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004