8 #ifndef _DMagneticFieldMapParameterized_
9 #define _DMagneticFieldMapParameterized_
11 #include <JANA/jerror.h>
16 #include <JANA/JApplication.h>
17 #include <JANA/JCalibration.h>
27 void Init(jana::JCalibration *jcalib,
string namepath);
30 virtual void GetField(
double x,
double y,
double z,
double &Bx,
double &By,
double &Bz,
int method=0)
const;
31 double GetBz(
double x,
double y,
double z)
const;
33 double &dBxdx,
double &dBxdy,
35 double &dBydx,
double &dBydy,
37 double &dBzdx,
double &dBzdy,
39 virtual void GetFieldBicubic(
double x,
double y,
double z,
double &Bx,
double &By,
double &Bz)
const;
41 double &Bx,
double &By,
68 vector<vector<double> >
pp;
70 vector<vector<double> >
cc;
73 double Eval(
double &r,
double &z)
const;
80 #endif // _DMagneticFieldMapParameterized_
virtual void GetFieldAndGradient(double x, double y, double z, double &Bx, double &By, double &Bz, double &dBxdx, double &dBxdy, double &dBxdz, double &dBydx, double &dBydy, double &dBydz, double &dBzdx, double &dBzdy, double &dBzdz) const
bool IsInRange(double &z) const
void GetField(const DVector3 &pos, DVector3 &Bout) const
vector< Dsection > sections_Bz
jana::JCalibration * jcalib
virtual void GetFieldBicubic(double x, double y, double z, double &Bx, double &By, double &Bz) const
vector< vector< double > > pp
vector< Dsection > sections_Bx
virtual void GetFieldGradient(double x, double y, double z, double &dBxdx, double &dBxdy, double &dBxdz, double &dBydx, double &dBydy, double &dBydz, double &dBzdx, double &dBzdy, double &dBzdz) const
double GetBz(double x, double y, double z) const
virtual ~DMagneticFieldMapParameterized()
double Eval(double &r, double &z) const
DMagneticFieldMapParameterized(jana::JApplication *japp, string namepath="Magnets/Solenoid/solenoid_1500_poisson_20090814_01_params")
vector< vector< double > > cc
void Init(jana::JCalibration *jcalib, string namepath)