MpdFemtoBaseAnalysis.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * \class MpdFemtoBaseAnalysis
  3. * \brief The pure virtual base class for analysis
  4. *
  5. * The MpdFemtoBaseAnalysis class is a base class for analysis
  6. * classes must inherit from this one
  7. *
  8. * \author Grigory Nigmatkulov (NRNU MEPhI)
  9. * \date May 18, 2019
  10. * \email nigmatkulov@gmail.com
  11. */
  12. #ifndef MpdFemtoBaseAnalysis_h
  13. #define MpdFemtoBaseAnalysis_h
  14. // MpdFemtoMaker headers
  15. #include "MpdFemtoTypes.h"
  16. // ROOT headers
  17. #include "TList.h"
  18. #include "TObjString.h"
  19. // Forward declaration
  20. class MpdFemtoEvent;
  21. //_________________
  22. class MpdFemtoBaseAnalysis {
  23. public:
  24. /// Default constructor
  25. MpdFemtoBaseAnalysis() {
  26. /* noop */
  27. }
  28. /// Default destructor
  29. virtual ~MpdFemtoBaseAnalysis() {
  30. /* noop */
  31. }
  32. /// Returns reports of all cuts applied and
  33. /// correlation functions being done
  34. virtual MpdFemtoString report() = 0; //!<
  35. /// Return list of cut settings for the analysis
  36. virtual TList *listSettings() = 0; //!<
  37. /// Obtain number of objects to be written as an output
  38. virtual TList *getOutputList() = 0; ///<
  39. /// Main machinery
  40. virtual void processEvent(const MpdFemtoEvent*) = 0; ///<
  41. /// Finish
  42. virtual void finish() = 0; ///<
  43. ClassDef(MpdFemtoBaseAnalysis, 0)
  44. };
  45. #endif // #define MpdFemtoBaseAnalysis_h