22#include "CLHEP/Matrix/Vector.h"
23#include "CLHEP/Matrix/Matrix.h"
24#include "CLHEP/Matrix/SymMatrix.h"
25#include "CLHEP/Vector/ThreeVector.h"
26#include "CLHEP/Geometry/Point3D.h"
27#ifndef ENABLE_BACKWARDS_COMPATIBILITY
31 using CLHEP::HepVector;
32 using CLHEP::Hep3Vector;
33 using CLHEP::HepMatrix;
34 using CLHEP::HepSymMatrix;
57 int fieldID(
void)
const {
return _fieldID;}
60 const Hep3Vector &
fieldMap(
double x,
double y,
double z)
const;
62 void fieldMap(
double *position,
double *bfield);
65 double bx(
double x,
double y,
double z)
const;
66 double by(
double x,
double y,
double z)
const;
67 double bz(
double x,
double y,
double z)
const;
73 static Bfield *_field[200];
76 double _Bphi[175][399];
77 double _BzQR[101][163];
78 double _BrQR[101][163];
79 double _BphiQR[101][163];
80 double _BzQL[17][51][52];
81 double _BrQL[17][51][52];
82 double _BphiQL[17][51][52];
90 mutable Hep3Vector m_Bfld;
93 void updateCache(
double,
double,
double)
const;
HepGeom::Point3D< double > HepPoint3D
double bz(double x, double y, double z) const
const Hep3Vector & fieldMap(double x, double y, double z) const
returns B field
double by(double x, double y, double z) const
int fieldID(void) const
returns B field Map ID
double bx(double x, double y, double z) const
returns an element of B field
static Bfield * getBfield(int)
returns Bfield object.