| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IMagneticFieldSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IMAGNETICFIELDSVC_H
2 #define GAUDIKERNEL_IMAGNETICFIELDSVC_H
3
4
5 // Include files
6 #include "GaudiKernel/IService.h"
7 #include "GaudiKernel/StatusCode.h"
8
9
10 // Forward declarations
11 namespace ROOT {
12 namespace Math {
13 class DefaultCoordinateSystemTag;
14
15 // from Math/Point3Dfwd.h
16 template<class CoordSystem, class Tag> class PositionVector3D;
17 // from Math/Vector3Dfwd.h
18 template<class CoordSystem, class Tag> class DisplacementVector3D;
19 // from Math/Point3Dfwd.h
20 template<typename T> class Cartesian3D;
21 // from Math/Point3Dfwd.h
22 typedef PositionVector3D< Cartesian3D<double>,DefaultCoordinateSystemTag> XYZPoint;
23 // from Math/Vector3Dfwd.h
24 typedef DisplacementVector3D< Cartesian3D<double>,DefaultCoordinateSystemTag > XYZVector;
25 }
26 }
27
34 class GAUDI_API IMagneticFieldSvc: virtual public IService {
35
36 public:
38 DeclareInterfaceID(IMagneticFieldSvc,2,0);
39
40 // Get the magnetic field vector at a given point in space.
41 // Input: XYZPoint - Point at which magnetic field vector is to be given.
42 // Output: XYZVector - Magnetic field vector.
43 // Return: StatusCode SUCCESS if calculation was performed.
44 virtual StatusCode fieldVector( const ROOT::Math::XYZPoint& xyz,
45 ROOT::Math::XYZVector& fvec ) const = 0;
46
47 };
48
49 #endif // GAUDIKERNEL_IMAGNETICFIELDSVC_H
ROOT::Math::XYZPoint
PositionVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZPoint
Definition: IMagneticFieldSvc.h:20
ROOT
Definition: IMagneticFieldSvc.h:11
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
ROOT::Math::PositionVector3D
Definition: IMagneticFieldSvc.h:16
IMagneticFieldSvc
The interface to the MagneticFieldSvc.
Definition: IMagneticFieldSvc.h:34
IService
General service interface definition.
Definition: IService.h:18
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
ROOT::Math::DisplacementVector3D
Definition: IMagneticFieldSvc.h:18
IService.h
ROOT::Math::XYZVector
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZVector
Definition: IMagneticFieldSvc.h:24
StatusCode.h
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
ROOT::Math::Cartesian3D
Definition: IMagneticFieldSvc.h:20