Go to the documentation of this file.00001 #ifndef ParametrizedEngine_TkBfield_h
00002 #define ParametrizedEngine_TkBfield_h
00003
00020 #include <vector>
00021 #include <string>
00022
00023 namespace magfieldparam {
00024 class TkBfield
00025 {
00026 public:
00027
00028 TkBfield (std::string T="3_8T");
00029
00030 ~TkBfield() {}
00031
00033 void getBxyz(double const * __restrict__ x, double * __restrict__ Bxyz) const;
00035 void getBrfz(double const * __restrict__ x, double * __restrict__ Brfz) const;
00036
00037 private:
00038 double prm[9];
00039 double ap2, hb0, hlova, ainv,coeff;
00040 void Bcyl(double r, double z, double * __restrict__ Bw) const;
00041 };
00042 }
00043
00044 #endif