///////////////////////////////////////// // // // PandaFieldMapSim1 header // // // // @2006, George Serbanut // // // ///////////////////////////////////////// #ifndef PandaFieldMapSim1_H #define PandaFieldMapSim1_H 1 //g++ headers #include #include //class specific header #include "CbmField.h" typedef struct { double r; double z; double theta; double Br; double Bz; double Btheta; } BField; //std namespace required by vector template class using namespace std; class PFMS1 : public CbmField { public: //standard constructor PFMS1(); //virtual destructor - needed in this way by inheritance requirement virtual ~PFMS1(); //initialization void Init(); //reading B-field from the file void ReadAsciiFile(const char* fileName); //providing the field value void GetFieldValue(const Double_t Point[3], Double_t *Bfield); //members needed by mother class CbmField /** Get x component of magnetic field [kG] ** @param x,y,z Position [cm] **/ Double_t GetBx(Double_t x, Double_t y, Double_t z); /** Get y component of magnetic field [kG] ** @param x,y,z Position [cm] **/ Double_t GetBy(Double_t x, Double_t y, Double_t z); /** Get z component of magnetic field [kG] ** @param x,y,z Position [cm] **/ Double_t GetBz(Double_t x, Double_t y, Double_t z); private: vector vbf; protected: ClassDef(PFMS1,1); }; #endif //PandaFieldMapSim1_H