MpdFieldPar.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // -------------------------------------------------------------------------
  2. // MpdFieldPar header file -----
  3. // Created 23/07/13 by P. Batyuk (MPD) <batyuk@jinr.ru> -----
  4. // from MpdFieldPar (PNDROOT) -----
  5. // -------------------------------------------------------------------------
  6. #ifndef MPDFIELDPAR_H
  7. #define MPDFIELDPAR_H 1
  8. #include "FairField.h"
  9. #include "FairParGenericSet.h"
  10. class FairParamList;
  11. class MpdFieldPar : public FairParGenericSet
  12. {
  13. public:
  14. /** Standard constructor **/
  15. MpdFieldPar(const char* name, const char* title, const char* context);
  16. /** default constructor **/
  17. MpdFieldPar();
  18. /** Destructor **/
  19. ~MpdFieldPar();
  20. /** Put parameters **/
  21. virtual void putParams(FairParamList* list);
  22. /** Get parameters **/
  23. virtual Bool_t getParams(FairParamList* list);
  24. /** Set parameters from FairField **/
  25. void SetParameters(FairField* field);
  26. /** Accessors **/
  27. Int_t GetType() const { return fType; }
  28. Double_t GetXmin() const { return fXmin; }
  29. Double_t GetXmax() const { return fXmax; }
  30. Double_t GetYmin() const { return fYmin; }
  31. Double_t GetYmax() const { return fYmax; }
  32. Double_t GetZmin() const { return fZmin; }
  33. Double_t GetZmax() const { return fZmax; }
  34. Double_t GetBx() const { return fBx; }
  35. Double_t GetBy() const { return fBy; }
  36. Double_t GetBz() const { return fBz; }
  37. void MapName(TString& name) { name = fMapName; }
  38. Double_t GetPositionX() const { return fPosX; }
  39. Double_t GetPositionY() const { return fPosY; }
  40. Double_t GetPositionZ() const { return fPosZ; }
  41. Double_t GetScale() const { return fScale; }
  42. private:
  43. /** Field type
  44. ** 0 = constant field
  45. ** 1 = field map
  46. ** 2 = field map sym2 (symmetries in x and y)
  47. ** 3 = field map sym3 (symmetries in x, y and z)
  48. **/
  49. Int_t fType;
  50. /** Field limits in case of constant field **/
  51. Double_t fXmin, fXmax;
  52. Double_t fYmin, fYmax;
  53. Double_t fZmin, fZmax;
  54. /** Field values in case of constant field [kG] **/
  55. Double_t fBx, fBy, fBz;
  56. /** Field map name in case of field map **/
  57. TString fMapName;
  58. /** Field centre position for field map **/
  59. Double_t fPosX, fPosY, fPosZ;
  60. /** Scaling factor for field map **/
  61. Double_t fScale;
  62. ClassDef(MpdFieldPar,1);
  63. };
  64. #endif