BOSS
7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
MagneticField/MagneticField-00-02-03/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
12
template
<
class
TYPE>
class
SvcFactory
;
13
namespace
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)
20
static
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
*/
29
class
IMagneticFieldSvc
:
virtual
public
IService {
30
31
public
:
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
HepGeom::Point3D
Definition:
InstallArea/include/MagneticField/MagneticField/IMagneticFieldSvc.h:15
HepGeom::Vector3D
Definition:
InstallArea/include/MagneticField/MagneticField/IMagneticFieldSvc.h:14
IMagneticFieldSvc
Definition:
InstallArea/include/MagneticField/MagneticField/IMagneticFieldSvc.h:29
IMagneticFieldSvc::uniFieldVector
virtual StatusCode uniFieldVector(const HepGeom::Point3D< double > &xyz, HepGeom::Vector3D< double > &fvec) const =0
IMagneticFieldSvc::fieldVector
virtual StatusCode fieldVector(const HepGeom::Point3D< double > &xyz, HepGeom::Vector3D< double > &fvec) const =0
IMagneticFieldSvc::interfaceID
static const InterfaceID & interfaceID()
Retrieve interface ID.
Definition:
MagneticField/MagneticField-00-02-03/MagneticField/IMagneticFieldSvc.h:33
IMagneticFieldSvc::getReferField
virtual double getReferField()=0
IMagneticFieldSvc::ifRealField
virtual bool ifRealField() const =0
SvcFactory
Forward and external declarations.
Definition:
Calibration/CalibSvc/CalibDataSvc/CalibDataSvc-00-01-04/CalibDataSvc/CalibDataSvc.h:35
HepGeom
Definition:
InstallArea/include/MagneticField/MagneticField/IMagneticFieldSvc.h:13
source
MagneticField
MagneticField-00-02-03
MagneticField
IMagneticFieldSvc.h
Generated by
1.9.6