MpdTPythia8Generator.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // -------------------------------------------------------------------------
  2. // ----- MpdTPythia8Generator header file -----
  3. // ----- Created 10/04/2016 by A.Zinchenko -----
  4. // -------------------------------------------------------------------------
  5. /** MpdTPythia8Generator.h
  6. ** @author
  7. **
  8. ** The MpdTPythia8Generator generates particles from TPythia8 output tree.
  9. ** Derived from FairGenerator.
  10. */
  11. #ifndef MPDTPYTHIA8GENERATOR_H
  12. #define MPDTPYTHIA8GENERATOR_H
  13. #include "FairGenerator.h"
  14. //#include "Pythia8/Pythia.h"
  15. using namespace std;
  16. //using namespace Pythia8;
  17. class FairPrimaryGenerator;
  18. class TClonesArray;
  19. class TFile;
  20. class TTree;
  21. class MpdTPythia8Generator : public FairGenerator
  22. {
  23. public:
  24. /** Default constructor. */
  25. MpdTPythia8Generator();
  26. /** Constructor with file name, tree name, particle branch name
  27. **/
  28. //MpdTPythia8Generator(TString fileName, TString treeName = "T", TString branchName = "entry");
  29. MpdTPythia8Generator(TString fileName, TString treeName = "T", TString branchName = "particles");
  30. /** Destructor */
  31. virtual ~MpdTPythia8Generator();
  32. /** Creates an event with given type and multiplicity.
  33. **@param primGen pointer to the CbmPrimaryGenerator
  34. */
  35. virtual Bool_t ReadEvent(FairPrimaryGenerator* primGen);
  36. void SkipEvents(Int_t nEvents) { fNevents = nEvents; }
  37. private:
  38. TFile *fInputFile; //! input file
  39. TTree *fTree; //! input tree
  40. TClonesArray *fParticles; //! particles
  41. Int_t fNevents; //! event number
  42. Int_t fEdit; //! edit flag (as in Pythia)
  43. void AddParticlesToPdgDataBase();
  44. ClassDef(MpdTPythia8Generator,1);
  45. };
  46. #endif