MpdFemtoBaseModelFreezeOutGenerator.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * \class MpdFemtoModelFreezeOutGenerator
  3. * \brief A base class for freeze-out coordinate generator
  4. *
  5. * An abstract base class for freeze-out coordinates generator
  6. *
  7. * \author Grigory Nigmatkulov (NRNU MEPhI)
  8. * \date May 18, 2019
  9. * \email nigmatkulov@gmail.com
  10. */
  11. #ifndef MpdFemtoBaseModelFreezeOutGenerator_h
  12. #define MpdFemtoBaseModelFreezeOutGenerator_h
  13. // ROOT headers
  14. #include "TRandom3.h"
  15. // MpdFemtoMaker headers
  16. #include "MpdFemtoPair.h"
  17. //_________________
  18. class MpdFemtoBaseModelFreezeOutGenerator {
  19. public:
  20. /// Default constructor
  21. MpdFemtoBaseModelFreezeOutGenerator();
  22. /// Copy constructor
  23. MpdFemtoBaseModelFreezeOutGenerator(const MpdFemtoBaseModelFreezeOutGenerator &aModel);
  24. /// Assignment operator
  25. MpdFemtoBaseModelFreezeOutGenerator& operator=(const MpdFemtoBaseModelFreezeOutGenerator& aGen);
  26. /// Destructor
  27. virtual ~MpdFemtoBaseModelFreezeOutGenerator();
  28. /// Generate freeze-out parameters (x,y,z,t)
  29. virtual void generateFreezeOut(MpdFemtoPair *aPair) = 0;
  30. /// Clone freeze-out generator
  31. virtual MpdFemtoBaseModelFreezeOutGenerator* clone() const;
  32. protected:
  33. // Randomizer
  34. TRandom3 *mRandom; //!<!
  35. private:
  36. ClassDef(MpdFemtoBaseModelFreezeOutGenerator, 1);
  37. };
  38. #endif // #define MpdFemtoBaseModelFreezeOutGenerator_h