17#if !defined( BFIELD_H )
20# include "CLHEP/Vector/ThreeVector.h"
21using CLHEP::Hep3Vector;
23# ifndef CLHEP_POINT3D_H
24# include "CLHEP/Geometry/Point3D.h"
26# ifndef ENABLE_BACKWARDS_COMPATIBILITY
29using HepGeom::Point3D;
48 int fieldID(
void )
const {
return _fieldID; }
51 const Hep3Vector&
fieldMap(
float x,
float y,
float z )
const;
53 void fieldMap(
float* position,
float* bfield );
56 float bx(
float x,
float y,
float z )
const;
57 float by(
float x,
float y,
float z )
const;
58 float bz(
float x,
float y,
float z )
const;
64 static Bfield* _field[200];
67 float _Bphi[175][399];
68 float _BzQR[101][163];
69 float _BrQR[101][163];
70 float _BphiQR[101][163];
71 float _BzQL[17][51][52];
72 float _BrQL[17][51][52];
73 float _BphiQL[17][51][52];
81 mutable Hep3Vector m_Bfld;
84 void updateCache(
float,
float,
float )
const;
HepGeom::Point3D< double > HepPoint3D
HepGeom::Point3D< double > HepPoint3D
float bz(const HepPoint3D &xyz) const
Bfield(int)
Constructor, Destructor.
float by(float x, float y, float z) const
float bz(float x, float y, float z) const
float bx(const HepPoint3D &xyz) const
void fieldMap(float *position, float *bfield)
int fieldID(void) const
returns B field Map ID
float bx(float x, float y, float z) const
returns an element of B field
const Hep3Vector & fieldMap(const HepPoint3D &xyz) const
const Hep3Vector & fieldMap(float x, float y, float z) const
returns B field
float by(const HepPoint3D &xyz) const
static Bfield * getBfield(int)
returns Bfield object.