| The Gaudi Framework v29r0 (ff2e7097)

- 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 // Include files
5 #include "GaudiKernel/IService.h"
6 #include "GaudiKernel/StatusCode.h"
7
8 // Forward declarations
9 namespace ROOT
10 {
11 namespace Math
12 {
13 class DefaultCoordinateSystemTag;
14
15 // from Math/Point3Dfwd.h
16 template <class CoordSystem, class Tag>
17 class PositionVector3D;
18 // from Math/Vector3Dfwd.h
19 template <class CoordSystem, class Tag>
20 class DisplacementVector3D;
21 // from Math/Point3Dfwd.h
22 template <typename T>
23 class Cartesian3D;
24 // from Math/Point3Dfwd.h
25 typedef PositionVector3D<Cartesian3D<double>, DefaultCoordinateSystemTag> XYZPoint;
26 // from Math/Vector3Dfwd.h
27 typedef DisplacementVector3D<Cartesian3D<double>, DefaultCoordinateSystemTag> XYZVector;
28 }
29 }
30
37 class GAUDI_API IMagneticFieldSvc : virtual public IService
38 {
39
40 public:
42 DeclareInterfaceID( IMagneticFieldSvc, 2, 0 );
43
44 // Get the magnetic field vector at a given point in space.
45 // Input: XYZPoint - Point at which magnetic field vector is to be given.
46 // Output: XYZVector - Magnetic field vector.
47 // Return: StatusCode SUCCESS if calculation was performed.
48 virtual StatusCode fieldVector( const ROOT::Math::XYZPoint& xyz, ROOT::Math::XYZVector& fvec ) const = 0;
49 };
50
51 #endif // GAUDIKERNEL_IMAGNETICFIELDSVC_H
ROOT
Definition: IMagneticFieldSvc.h:9
ROOT::Math::PositionVector3D
Definition: IMagneticFieldSvc.h:17
IMagneticFieldSvc
The interface to the MagneticFieldSvc.
Definition: IMagneticFieldSvc.h:37
IService
General service interface definition.
Definition: IService.h:18
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
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:13
ROOT::Math::DisplacementVector3D
Definition: IMagneticFieldSvc.h:20
IService.h
StatusCode.h
ROOT::Math::XYZVector
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZVector
Definition: IMagneticFieldSvc.h:27
ROOT::Math::XYZPoint
PositionVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZPoint
Definition: IMagneticFieldSvc.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
ROOT::Math::Cartesian3D
Definition: IMagneticFieldSvc.h:23