00001 #ifndef ParametrizedEngine_TkBfield_h 00002 #define ParametrizedEngine_TkBfield_h 00003 00022 #include <vector> 00023 #include <string> 00024 00025 namespace magfieldparam { 00026 class TkBfield 00027 { 00028 public: 00029 00030 TkBfield (std::string T="3_8T"); 00031 00032 ~TkBfield() {} 00033 00035 void getBxyz(const double* x, double* B); 00037 void getBrfz(const double* x, double* B); 00038 00039 private: 00040 double prm[9]; 00041 double Bw[3]; 00042 double ap2, hb0, hlova, ainv; 00043 void Bcyl(const double *x); 00044 void ffunkti(const double u, double* ff); 00045 }; 00046 } 00047 00048 #endif