BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/MagneticField/MagneticField/IMagneticFieldSvc.h
Go to the documentation of this file.
1// $Header: /bes/bes/BossCvs/MagneticField/MagneticField/IMagneticFieldSvc.h,v 1.6 2019/12/25 21:01:34 maqm Exp $
2#ifndef GAUDIKERNEL_IMAGNETICFIELDSVC_H
3#define GAUDIKERNEL_IMAGNETICFIELDSVC_H
4
5
6// Include files
7#include "GaudiKernel/IService.h"
8#include "GaudiKernel/StatusCode.h"
9
10
11// Forward declarations
12template <class TYPE> class SvcFactory;
13namespace HepGeom {
14 template <class T> class Vector3D;
15 template <class T> class Point3D;
16}
17
18
19// Declaration of the interface ID ( interface id, major version, minor version)
20static const InterfaceID IID_IMagneticFieldSvc(80, 1 , 0);
21
22
23/** @class IMagneticFieldSvc IMagneticFieldSvc.h GaudiKernel/IMagneticFieldSvc.h
24
25 The interface to the MagneticFieldSvc
26
27 @author Iain Last
28*/
29class IMagneticFieldSvc : virtual public IService {
30
31public:
32 /// Retrieve interface ID
33 static const InterfaceID& interfaceID() { return IID_IMagneticFieldSvc; }
34
35 // Get the magnetic field vector at a given point in space.
36 // Input: Point3D - Point at which magnetic field vector is to be given.
37 // Output: Vector3D - Magnectic field vector.
38 // Return: StatusCode SUCCESS if calculation was performed.
39 virtual StatusCode fieldVector( const HepGeom::Point3D<double>& xyz, HepGeom::Vector3D<double>& fvec ) const = 0;
40 virtual StatusCode uniFieldVector( const HepGeom::Point3D<double>& xyz, HepGeom::Vector3D<double>& fvec ) const = 0;
41 virtual double getReferField() = 0;
42 virtual bool ifRealField() const = 0;
43
44};
45
46#endif // GAUDIKERNEL_IMAGNETICFIELDSVC_H
virtual StatusCode uniFieldVector(const HepGeom::Point3D< double > &xyz, HepGeom::Vector3D< double > &fvec) const =0
virtual StatusCode fieldVector(const HepGeom::Point3D< double > &xyz, HepGeom::Vector3D< double > &fvec) const =0
static const InterfaceID & interfaceID()
Retrieve interface ID.
virtual double getReferField()=0
virtual bool ifRealField() const =0