Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DMagneticFieldMap.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DMagneticFieldMap.h
4 // Created: Thu Dec 21 12:50:04 EST 2006
5 // Creator: davidl (on Linux alkaid 2.6.9-42.0.2.ELsmp x86_64)
6 //
7 
8 #ifndef _DMagneticFieldMap_
9 #define _DMagneticFieldMap_
10 
11 #include <JANA/jerror.h>
12 #include <DVector3.h>
13 
15  public:
16 
18  virtual ~DMagneticFieldMap(){}
19 
20  virtual void GetField(const DVector3 &pos,DVector3 &Bout) const=0;
21  virtual void GetField(double x, double y, double z, double &Bx, double &By, double &Bz, int method=0) const = 0;
22  virtual double GetBz(double x, double y, double z) const=0;
23 
24  virtual void GetFieldGradient(double x, double y, double z,
25  double &dBxdx, double &dBxdy,
26  double &dBxdz,
27  double &dBydx, double &dBydy,
28  double &dBydz,
29  double &dBzdx, double &dBzdy,
30  double &dBzdz) const = 0;
31  virtual void GetFieldBicubic(double x,double y,double z,
32  double &Bx,double &By,double &Bz) const=0;
33 
34  virtual void GetFieldAndGradient(double x,double y,double z,
35  double &Bx,double &By,
36  double &Bz,
37  double &dBxdx,
38  double &dBxdy,
39  double &dBxdz,
40  double &dBydx,
41  double &dBydy,
42  double &dBydz,
43  double &dBzdx,
44  double &dBzdy,
45  double &dBzdz) const = 0;
46 
47 
48 };
49 
50 #endif // _DMagneticFieldMap_
51 
TVector3 DVector3
Definition: DVector3.h:14
Double_t x[NCHANNELS]
Definition: st_tw_resols.C:39
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 =0
#define y
virtual ~DMagneticFieldMap()
virtual double GetBz(double x, double y, double z) const =0
virtual void GetField(const DVector3 &pos, DVector3 &Bout) const =0
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 =0
virtual void GetFieldBicubic(double x, double y, double z, double &Bx, double &By, double &Bz) const =0