MpdTpcEDepParams.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef MPDTPCEDEPPARAMS_H
  2. #define MPDTPCEDEPPARAMS_H
  3. /// \ingroup sim
  4. /// \class MpdTpcEDepParams
  5. /// \brief Parameters for dE/dx simulation in MPD TPC
  6. ///
  7. /// \author Igor Rufanov, LHEP JINR Dubna - development
  8. /// \author Alexander Zinchenko, LHEP JINR Dubna - porting to MpdRoot
  9. /// 18.11.2019
  10. #include <TObject.h>
  11. //#include <TVector3.h>
  12. #include <vector>
  13. class MpdTpcEDepParams : public TObject
  14. {
  15. public:
  16. static MpdTpcEDepParams* Instance(); ///< get singleton instance
  17. Double_t GetCollisionDensity (Double_t log10bg);
  18. Double_t GetRandEnergy (Double_t log10bg);
  19. Double_t GetMinLimit() const { return fCollDensL10BgMin; }
  20. Double_t GetMaxLimit() const { return fCollDensL10BgMax; }
  21. Double_t GetEloss (Double_t log10bg, Double_t charge, Double_t step);
  22. protected:
  23. MpdTpcEDepParams() { Init(); } ///< Default ctor
  24. virtual ~MpdTpcEDepParams() {;} ///< Destructor
  25. private:
  26. void Init();
  27. // Automatic deletion when application exits
  28. static void DestroyInstance () { if (fgTpcEdepParams) delete fgTpcEdepParams; }
  29. static MpdTpcEDepParams* fgTpcEdepParams; //! pointer to Singleton instance
  30. //static const Int_t fgkNsect = 12; // number of TPC sectors
  31. Int_t fNCollDensBgBins; // number of steps in log10(bet*gam)
  32. Double_t *fCollDens; // array of cluster/cm values
  33. Double_t fCollDensL10BgMin; // min log10(bet*gam)
  34. Double_t fCollDensL10BgMax; // max log10(bet*gam)
  35. Double_t fCollDensL10BgStep; // step in log10(bet*gam)
  36. Int_t fNEneBgBins; // number of steps in log10(bet*gam)
  37. Int_t fNEneProbBins; // number of steps in probability
  38. //Double_t fEne[ TpcEDepParams::fNEneBgBins][TpcEDepParams::fNEneProbBins];
  39. std::vector<std::vector<Double_t> > fEne; // energy loss vs prob vs log10(bet*gam)
  40. Double_t fEneL10BgMin; // min log10(bet*gam)
  41. Double_t fEneL10BgMax; // max log10(bet*gam)
  42. Double_t fEneL10BgStep; // step in log10(bet*gam)
  43. Double_t fEneProbStep; // step in probability
  44. ClassDef(MpdTpcEDepParams,0);
  45. };
  46. //__________________________________________________________________________
  47. #endif