MpdFieldMapData.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // -------------------------------------------------------------------------
  2. // MpdFieldMapData header file -----
  3. // Created 23/07/13 by P. Batyuk (MPD) <batyuk@jinr.ru> -----
  4. // from MpdFieldMapData (PNDROOT) -----
  5. // -------------------------------------------------------------------------
  6. #ifndef MPDMAGFIELDMAPDATA_H
  7. #define MPDMAGFIELDMAPDATA_H
  8. #include "TNamed.h"
  9. class TArrayF;
  10. class MpdFieldMap;
  11. class MpdFieldMapData : public TNamed {
  12. public:
  13. /** Default constructor **/
  14. MpdFieldMapData();
  15. /** Standard constructor **/
  16. MpdFieldMapData(const char* name);
  17. /** Constructor from an existing MpdFieldMap **/
  18. MpdFieldMapData(const char* name, const MpdFieldMap& map);
  19. /** Destructor **/
  20. virtual ~MpdFieldMapData();
  21. /** Accessors to field parameters in local coordinate system **/
  22. Int_t GetType() const { return fType; }
  23. Double_t GetXmin() const { return fXmin; }
  24. Double_t GetYmin() const { return fYmin; }
  25. Double_t GetZmin() const { return fZmin; }
  26. Double_t GetXmax() const { return fXmax; }
  27. Double_t GetYmax() const { return fYmax; }
  28. Double_t GetZmax() const { return fZmax; }
  29. Int_t GetNx() const { return fNx; }
  30. Int_t GetNy() const { return fNy; }
  31. Int_t GetNz() const { return fNz; }
  32. /** Accessors to the field value arrays **/
  33. TArrayF* GetBx() const { return fBx; }
  34. TArrayF* GetBy() const { return fBy; }
  35. TArrayF* GetBz() const { return fBz; }
  36. private:
  37. /** Type of map. 1 = MpdFieldMap, 2 = Sym2, 3 = Sym3 **/
  38. Int_t fType;
  39. /** Field limits in local coordinate system **/
  40. Double_t fXmin, fXmax;
  41. Double_t fYmin, fYmax;
  42. Double_t fZmin, fZmax;
  43. /**Original units of the map */
  44. Double_t fUnit;
  45. /** Number of grid points **/
  46. Int_t fNx, fNy, fNz;
  47. /** Arrays with the field values in T **/
  48. TArrayF* fBx;
  49. TArrayF* fBy;
  50. TArrayF* fBz;
  51. ClassDef(MpdFieldMapData,1)
  52. };
  53. #endif