1 ////////////////////////////////////////////////////////////////////////////////
2 /// AliFemtoEventCut - the pure virtual base class for the event cut ///
3 /// All event cuts must inherit from this one ///
4 ////////////////////////////////////////////////////////////////////////////////
5 #ifndef AliFemtoEventCut_hh
6 #define AliFemtoEventCut_hh
9 class AliFemtoAnalysis;
11 #include "AliFemtoCutMonitorHandler.h"
12 #include "AliFemtoString.h"
14 class AliFemtoEventCut : public AliFemtoCutMonitorHandler {
16 friend class AliFemtoAnalysis;
20 AliFemtoEventCut(); // default constructor. - Users should write their own
21 AliFemtoEventCut(const AliFemtoEventCut& c); // copy constructor
22 virtual ~AliFemtoEventCut(){/* no-op */}; // destructor
23 AliFemtoEventCut& operator=(const AliFemtoEventCut& aCut);
25 virtual bool Pass(const AliFemtoEvent* event) =0; // true if passes, false if not
27 virtual AliFemtoString Report() =0; // user-written method to return string describing cuts
28 virtual AliFemtoEventCut* Clone() { return 0;}
31 AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;};
32 void SetAnalysis(AliFemtoAnalysis* aAnalysis);
35 AliFemtoAnalysis* fyAnalysis;
38 ClassDef(AliFemtoEventCut, 0)
42 inline AliFemtoEventCut::AliFemtoEventCut(const AliFemtoEventCut& /* c */) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { }
43 inline void AliFemtoEventCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; }
44 inline AliFemtoEventCut::AliFemtoEventCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0){} // default constructor. - Users should write their own
45 inline AliFemtoEventCut& AliFemtoEventCut::operator=(const AliFemtoEventCut& aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; }