5 #ifndef _DMagneticFieldMapFineMesh_
6 #define _DMagneticFieldMapFineMesh_
8 #include <JANA/jerror.h>
17 #include <JANA/JApplication.h>
18 #include <JANA/JCalibration.h>
24 DMagneticFieldMapFineMesh(JCalibration *jcalib,
string namepath =
"Magnets/Solenoid/solenoid_1350_poisson_20130925", int32_t runnumber=1);
27 int ReadMap(
string namepath, int32_t runnumber=1,
string context=
"");
30 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;
32 void GetFieldGradient(
double x,
double y,
double z,
33 double &dBxdx,
double &dBxdy,
35 double &dBydx,
double &dBydy,
37 double &dBzdx,
double &dBzdy,
39 void GetFieldBicubic(
double x,
double y,
double z,
40 double &Bx,
double &By,
double &Bz)
const;
41 void GetFieldAndGradient(
double x,
double y,
double z,
42 double &Bx,
double &By,
44 double &dBxdx,
double &dBxdy,
46 double &dBydx,
double &dBydy,
48 double &dBzdx,
double &dBzdy,
50 void GetFineMeshMap(
string namepath,int32_t runnumber);
52 void ReadEvioFile(
string evioFileName);
53 void GenerateFineMesh(
void);
75 vector< vector< vector<DBfieldPoint_t> > >
Btable;
82 vector<vector<DBfieldCylindrical_t> >
mBfine;
83 double zminFine,rminFine,zmaxFine,rmaxFine,drFine,dzFine;
88 void InterpolateField(
double r,
double z,
double &Br,
double &Bz,
double &dBrdr,
89 double &dBrdz,
double &dBzdr,
double &dBzdz)
const;
92 #endif // _DMagneticFieldMapFineMesh_
vector< vector< DBfieldCylindrical_t > > mBfine
JResourceManager * jresman
static string evioFileName
vector< vector< vector< DBfieldPoint_t > > > Btable