MpdFemtoBaseLikeSignCorrFctn.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**
  2. * \class MpdFemtoBaseLikeSignCorrFctn
  3. * \brief A pure virtual base class for the like sign correlation function
  4. *
  5. * All like sign correlation functions must inherit from this one
  6. *
  7. * \author Grigory Nigmatkulov (NRNU MEPhI)
  8. * \date May 18, 2019
  9. * \email nigmatkulov@gmail.com
  10. */
  11. #ifndef MpdFemtoBaseLikeSignCorrFctn_h
  12. #define MpdFemtoBaseLikeSignCorrFctn_h
  13. // Forward declaration
  14. class MpdFemtoPair;
  15. // MpdFemtoMaker headers
  16. #include "MpdFemtoBaseCorrFctn.h"
  17. // ROOT headers
  18. #include "TList.h"
  19. //_________________
  20. class MpdFemtoBaseLikeSignCorrFctn : public MpdFemtoBaseCorrFctn {
  21. public:
  22. /// Default constructor
  23. MpdFemtoBaseLikeSignCorrFctn() {
  24. /* empty */
  25. }
  26. /// Copy constructor
  27. MpdFemtoBaseLikeSignCorrFctn(const MpdFemtoBaseLikeSignCorrFctn& copy);
  28. /// Assignment operator
  29. MpdFemtoBaseLikeSignCorrFctn& operator=(const MpdFemtoBaseLikeSignCorrFctn& copy);
  30. /// Default destructor
  31. virtual ~MpdFemtoBaseLikeSignCorrFctn() {
  32. /* empty */
  33. }
  34. /// Add positive pair
  35. virtual void addLikeSignPositivePair(const MpdFemtoPair*) = 0;
  36. /// Add negative pair
  37. virtual void addLikeSignNegativePair(const MpdFemtoPair*) = 0;
  38. /// Clone like-sign correlation function
  39. virtual MpdFemtoBaseLikeSignCorrFctn* clone() const = 0;
  40. /// Return output list
  41. virtual TList* getOutputList() = 0;
  42. /// The following allows "back-pointing" from the CorrFctn
  43. /// to the "parent" Analysis
  44. friend class MpdFemtoLikeSignAnalysis;
  45. };
  46. //_________________
  47. inline MpdFemtoBaseLikeSignCorrFctn::MpdFemtoBaseLikeSignCorrFctn(const MpdFemtoBaseLikeSignCorrFctn& c) : MpdFemtoBaseCorrFctn(c) {
  48. mBaseAnalysis = nullptr;
  49. }
  50. //_________________
  51. inline MpdFemtoBaseLikeSignCorrFctn& MpdFemtoBaseLikeSignCorrFctn::operator=(const MpdFemtoBaseLikeSignCorrFctn& c) {
  52. if (this != &c) {
  53. MpdFemtoBaseCorrFctn::operator=(c);
  54. }
  55. return *this;
  56. }
  57. #endif // #define MpdFemtoLikeSignCorrFctn_h