MpdMcDstGenerator.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * File: MpdMcDstGenerator.h
  3. * Author: Pavel Batyuk
  4. *
  5. * Created on November 13, 2019
  6. */
  7. #ifndef MPDMCDSTGENERATOR_H
  8. #define MPDMCDSTGENERATOR_H
  9. #include <iostream>
  10. #include <FairGenerator.h>
  11. #include <FairPrimaryGenerator.h>
  12. #include <FairMCEventHeader.h>
  13. #include <FairRunSim.h>
  14. #include <MpdMcDstReader.h>
  15. #include <MpdMcEvent.h>
  16. #include <MpdMcArrays.h>
  17. #include <MpdMcParticle.h>
  18. #include <MpdGenTrackTask.h>
  19. #include <MpdGenTrack.h>
  20. #include <TClonesArray.h>
  21. #include <TRandom.h>
  22. using namespace std;
  23. using namespace TMath;
  24. class MpdMcDstGenerator : public FairGenerator {
  25. public:
  26. MpdMcDstGenerator();
  27. MpdMcDstGenerator(TString fileName);
  28. ~MpdMcDstGenerator();
  29. Bool_t ReadEvent(FairPrimaryGenerator* primGen);
  30. void SkipEvents(Int_t ev) {
  31. fEventNumber = ev;
  32. cout << "NUMBER OF SKIPPED EVENTS = " << ev << endl;
  33. }
  34. void SetEventPlane(Double_t phiMin, Double_t phiMax) {
  35. fPhiMin = phiMin;
  36. fPhiMax = phiMax;
  37. fEventPlaneSet = kTRUE;
  38. }
  39. private:
  40. Long64_t fEventNumber; //!
  41. McDstReader* myReader;
  42. TClonesArray* fGenTracks;
  43. Double_t fPhiMin, fPhiMax; // Limits of event plane angle
  44. Bool_t fEventPlaneSet; // Flag whether event plane angle is used
  45. MpdMcDstGenerator(const MpdMcDstGenerator&);
  46. MpdMcDstGenerator& operator=(const MpdMcDstGenerator&);
  47. ClassDef(MpdMcDstGenerator, 1);
  48. };
  49. #endif