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