Mpd3fdGenerator.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * File: Mpd3fdGenerator.h
  3. * Author: Sergei Merts
  4. *
  5. * Created on June 22, 2015, 2:06 PM
  6. */
  7. #ifndef MPD3FDGENERATOR_H
  8. #define MPD3FDGENERATOR_H
  9. #include "FairGenerator.h"
  10. #include "TFile.h"
  11. #include "TChain.h"
  12. #include "TRandom2.h"
  13. #include <fstream>
  14. const UInt_t kBatyukConst = 1e5;
  15. class TVirtualMCStack;
  16. class FairPrimaryGenerator;
  17. class Mpd3fdGenerator : public FairGenerator {
  18. public:
  19. /** Default constructor without arguments should not be used. **/
  20. Mpd3fdGenerator();
  21. /** Standard constructor.
  22. * @param fileName The input file name
  23. **/
  24. Mpd3fdGenerator(TString fileName);
  25. /** Destructor. **/
  26. ~Mpd3fdGenerator();
  27. /** Set fixed reaction plane angle **/
  28. void SetPsiRP(Double_t PsiRP) {fPsiRP=PsiRP; fisRP=kFALSE;};
  29. /** Correction factor = Z/A for Theseus 2018-03-17-bc2a06d **/
  30. void SetProtonNumberCorrection(Float_t c) { fPNCorr=c; };
  31. Bool_t ReadEvent(FairPrimaryGenerator* primGen);
  32. void SkipEvents(Int_t ev) {
  33. fEventNumber = ev;
  34. }
  35. private:
  36. TFile* fInputFile; //! Input file
  37. TString fFileName; //! Input file name
  38. TChain *fDstTree; //!
  39. Double_t fPx[kBatyukConst]; //!
  40. Double_t fPy[kBatyukConst]; //!
  41. Double_t fPz[kBatyukConst]; //!
  42. //Double_t fX[kBatyukConst]; //! [fm] freezout
  43. //Double_t fY[kBatyukConst]; //! [fm] freezout
  44. //Double_t fZ[kBatyukConst]; //! [fm] freezout
  45. Double_t fE[kBatyukConst]; //!
  46. Int_t fPID[kBatyukConst]; //! pdg
  47. UInt_t fNpart; //!
  48. Int_t fEventNumber; //!
  49. Float_t fPNCorr; //! correction factor for proton multiplicity
  50. TRandom2 *frandom; //!
  51. Double_t fPsiRP; //! reaction plane angle
  52. Bool_t fisRP; //! random/fixed reaction plane
  53. Mpd3fdGenerator(const Mpd3fdGenerator&);
  54. Mpd3fdGenerator& operator=(const Mpd3fdGenerator&);
  55. ClassDef(Mpd3fdGenerator, 1);
  56. };
  57. #endif /* MPD3FDGENERATOR_H */