Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DMagneticFieldMapPSConst.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DMagneticFieldMapPSConst.h
4 //
5 
6 #ifndef _DMagneticFieldMapPSConst_
7 #define _DMagneticFieldMapPSConst_
8 
9 #include <JANA/jerror.h>
10 
11 #include "DMagneticFieldMapPS.h"
12 
13 #include <vector>
14 #include <string>
15 using std::vector;
16 using std::string;
17 
18 #include <JANA/JApplication.h>
19 #include <JANA/JCalibration.h>
20 using namespace jana;
21 
23  public:
24  DMagneticFieldMapPSConst(JApplication *japp, string namepath = "Magnets/PairSpectrometer/PS_const_field");
25  DMagneticFieldMapPSConst(JCalibration *jcalib, string namepath = "Magnets/PairSpectrometer/PS_const_field");
26  DMagneticFieldMapPSConst(double Bx, double By, double Bz);
27  virtual ~DMagneticFieldMapPSConst();
28 
29  int GetValues(string namepath, int32_t runnumber=1, string context="");
30  void GetField(const DVector3 &pos,DVector3 &Bout) const;
31  void GetField(double x, double y, double z, double &Bx, double &By, double &Bz, int method=0) const;
32 
33  void GetFieldGradient(double x, double y, double z,
34  double &dBxdx, double &dBxdy,
35  double &dBxdz,
36  double &dBydx, double &dBydy,
37  double &dBydz,
38  double &dBzdx, double &dBzdy,
39  double &dBzdz) const;
40 
41  void GetFieldBicubic(double x,double y,double z,
42  double &Bx,double &By,double &Bz) const;
43  void GetFieldAndGradient(double x,double y,double z,
44  double &Bx,double &By,
45  double &Bz,
46  double &dBxdx, double &dBxdy,
47  double &dBxdz,
48  double &dBydx, double &dBydy,
49  double &dBydz,
50  double &dBzdx, double &dBzdy,
51  double &dBzdz) const;
52 
53  protected:
54 
55  JCalibration *jcalib;
56  double Bx, By, Bz;
57 
58 };
59 
60 #endif // _DMagneticFieldMapPSConst_
61 
TVector3 DVector3
Definition: DVector3.h:14
Double_t x[NCHANNELS]
Definition: st_tw_resols.C:39
char string[256]
#define y
JApplication * japp