19#include "CLHEP/Geometry/Point3D.h"
20#include "CLHEP/Matrix/Matrix.h"
21#include "CLHEP/Matrix/SymMatrix.h"
22#include "CLHEP/Matrix/Vector.h"
23#include "CLHEP/Vector/ThreeVector.h"
24#ifndef ENABLE_BACKWARDS_COMPATIBILITY
28using CLHEP::Hep3Vector;
29using CLHEP::HepMatrix;
30using CLHEP::HepSymMatrix;
31using CLHEP::HepVector;
50 int fieldID(
void )
const {
return _fieldID; }
53 const Hep3Vector&
fieldMap(
double x,
double y,
double z )
const;
54 const Hep3Vector&
fieldMap(
const HepPoint3D& xyz )
const;
55 void fieldMap(
double* position,
double* bfield );
58 double bx(
double x,
double y,
double z )
const;
59 double by(
double x,
double y,
double z )
const;
60 double bz(
double x,
double y,
double z )
const;
61 double bx(
const HepPoint3D& xyz )
const;
62 double by(
const HepPoint3D& xyz )
const;
63 double bz(
const HepPoint3D& xyz )
const;
66 static Bfield* _field[200];
69 double _Bphi[175][399];
70 double _BzQR[101][163];
71 double _BrQR[101][163];
72 double _BphiQR[101][163];
73 double _BzQL[17][51][52];
74 double _BrQL[17][51][52];
75 double _BphiQL[17][51][52];
83 mutable Hep3Vector m_Bfld;
86 void updateCache(
double,
double,
double )
const;
HepGeom::Point3D< double > HepPoint3D
Bfield(int)
Constructor, Destructor.
double bz(const HepPoint3D &xyz) const
const Hep3Vector & fieldMap(const HepPoint3D &xyz) const
const Hep3Vector & fieldMap(double x, double y, double z) const
returns B field
double bz(double x, double y, double z) const
double by(const HepPoint3D &xyz) const
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.
double bx(const HepPoint3D &xyz) const
void fieldMap(double *position, double *bfield)
Bfield(int)
Constructor, Destructor.