Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DMagneticFieldMapSpoiled.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DMagneticFieldMapSpoiled.h
4 // Created: Wed Mar 25 04:04:16 EDT 2009
5 // Creator: davidl (on Darwin Amelia.local 9.6.0 i386)
6 //
7 
8 #ifndef _DMagneticFieldMapSpoiled_
9 #define _DMagneticFieldMapSpoiled_
10 
11 #include <JANA/jerror.h>
12 
14 
15 #include <JANA/JApplication.h>
16 #include <JANA/JCalibration.h>
17 using namespace jana;
18 
20 
22  public:
23  DMagneticFieldMapSpoiled(JApplication *japp, unsigned int run_number=1, string namepath = "Magnets/Solenoid/solenoid_1500");
24  DMagneticFieldMapSpoiled(JCalibration *jcalib, string namepath = "Magnets/Solenoid/solenoid_1500");
25  virtual ~DMagneticFieldMapSpoiled();
26 
27  void GetField(const DVector3 &pos,DVector3 &Bout) const;
28  void GetField(double x, double y, double z, double &Bx, double &By, double &Bz, int method=0) const;
29 
30  double GetBz(double x,double y, double z) const;
31  void GetFieldGradient(double x, double y, double z,
32  double &dBxdx, double &dBxdy,
33  double &dBxdz,
34  double &dBydx, double &dBydy,
35  double &dBydz,
36  double &dBzdx, double &dBzdy,
37  double &dBzdz) const;
38 
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,
43  double &Bz,
44  double &dBxdx, double &dBxdy,
45  double &dBxdz,
46  double &dBydx, double &dBydy,
47  double &dBydz,
48  double &dBzdx, double &dBzdy,
49  double &dBzdz) const;
50 
51  protected:
52 
53  void Init(void);
54 
57  double phi_amp; ///< Amplitude of phi spoiler (fraction of magnitude)
58  double phi_omega; ///< Angular frequency of phi spoiler (radians/radian)
59  double r_amp; ///< Amplitude of r spoiler (fraction of magnitude)
60  double r_omega; ///< Angular frequency of r spoiler (radians/cm)
61  double z_amp; ///< Amplitude of z spoiler (fraction of magnitude)
62  double z_omega; ///< Angular frequency of z spoiler (radians/cm)
63 
64  private:
65 
66 };
67 
68 #endif // _DMagneticFieldMapSpoiled_
69 
double r_amp
Amplitude of r spoiler (fraction of magnitude)
double phi_omega
Angular frequency of phi spoiler (radians/radian)
TVector3 DVector3
Definition: DVector3.h:14
double phi_amp
Amplitude of phi spoiler (fraction of magnitude)
Double_t x[NCHANNELS]
Definition: st_tw_resols.C:39
#define y
double z_omega
Angular frequency of z spoiler (radians/cm)
JApplication * japp
double r_omega
Angular frequency of r spoiler (radians/cm)
double z_amp
Amplitude of z spoiler (fraction of magnitude)
DMagneticFieldMapCalibDB * bfield