BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MagneticField/include/MagneticFieldSvc/IBesMagFieldSvc.h
Go to the documentation of this file.
1#pragma once
2
3#include "CLHEP/Geometry/Point3D.h"
4#include "CLHEP/Geometry/Vector3D.h"
5#include "GaudiKernel/IInterface.h"
6
7// Forward declarations
8// template <class TYPE> class SvcFactory;
9
10// namespace HepGeom {
11// template <class T> class Vector3D;
12// template <class T> class Point3D;
13// } // namespace HepGeom
14
15class IBesMagFieldSvc : virtual public IInterface {
16
17public:
19 // Get the magnetic field vector at a given point in space.
20 // Input: Point3D - Point at which magnetic field vector is to be given.
21 // Output: Vector3D - Magnectic field vector.
22 // Return: StatusCode SUCCESS if calculation was performed.
23 virtual StatusCode fieldVector( const HepGeom::Point3D<double>& xyz,
24 HepGeom::Vector3D<double>& fvec ) const = 0;
25 virtual StatusCode uniFieldVector( const HepGeom::Point3D<double>& xyz,
26 HepGeom::Vector3D<double>& fvec ) const = 0;
27
28 virtual double getReferField() = 0;
29 virtual bool ifRealField() const = 0;
30};
virtual StatusCode fieldVector(const HepGeom::Point3D< double > &xyz, HepGeom::Vector3D< double > &fvec) const =0
DeclareInterfaceID(IBesMagFieldSvc, 1, 0)
virtual double getReferField()=0
virtual StatusCode uniFieldVector(const HepGeom::Point3D< double > &xyz, HepGeom::Vector3D< double > &fvec) const =0
virtual bool ifRealField() const =0