]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h
Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoEventCut.h
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
7
8 class AliFemtoEvent;
9 class AliFemtoAnalysis;
10
11 #include "AliFemtoCutMonitorHandler.h"
12 #include "AliFemtoString.h"
13
14 class AliFemtoEventCut : public AliFemtoCutMonitorHandler {
15
16   friend class AliFemtoAnalysis;
17
18 public:
19
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);
24
25   virtual bool Pass(const AliFemtoEvent* event) =0;  // true if passes, false if not
26
27   virtual AliFemtoString Report() =0;    // user-written method to return string describing cuts
28   virtual AliFemtoEventCut* Clone() { return 0;}
29
30
31   AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;};
32   void SetAnalysis(AliFemtoAnalysis* aAnalysis);
33
34 protected:
35   AliFemtoAnalysis* fyAnalysis;
36
37 #ifdef __ROOT__
38   ClassDef(AliFemtoEventCut, 0)
39 #endif
40 };
41
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; }
46 #endif