]>
Commit | Line | Data |
---|---|---|
67427ff7 | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | /// AliFemtoPairCut - the pure virtual base class for the pair cut /// | |
3 | /// All pair cuts must inherit from this one /// | |
4 | //////////////////////////////////////////////////////////////////////////////// | |
5 | ||
6 | #ifndef AliFemtoPairCut_hh | |
7 | #define AliFemtoPairCut_hh | |
8 | ||
9 | #include <string> | |
10 | ||
11 | class AliFemtoBaseAnalysis; | |
12 | ||
d0e92d9a | 13 | #include "AliFemtoString.h" |
14 | #include "AliFemtoEvent.h" | |
15 | #include "AliFemtoPair.h" | |
16 | #include "AliFemtoCutMonitorHandler.h" | |
67427ff7 | 17 | |
18 | class AliFemtoPairCut : public AliFemtoCutMonitorHandler { | |
19 | ||
20 | friend class AliFemtoBaseAnalysis; | |
21 | ||
22 | public: | |
23 | ||
0215f606 | 24 | AliFemtoPairCut(); // default constructor. - Users should write their own |
67427ff7 | 25 | AliFemtoPairCut(const AliFemtoPairCut& c); // copy constructor |
26 | virtual ~AliFemtoPairCut(){/* no-op */}; // destructor | |
0215f606 | 27 | AliFemtoPairCut& operator=(const AliFemtoPairCut &aCut); |
67427ff7 | 28 | |
29 | virtual bool Pass(const AliFemtoPair* pair) =0; // true if passes, false if not | |
30 | ||
31 | virtual AliFemtoString Report() =0; // user-written method to return string describing cuts | |
32 | virtual void EventBegin(const AliFemtoEvent* aEvent) { /* no-op */ } | |
33 | virtual void EventEnd(const AliFemtoEvent* aEvent) { /* no-op */ } | |
34 | virtual AliFemtoPairCut* Clone() { return 0;} | |
35 | ||
36 | // the following allows "back-pointing" from the CorrFctn to the "parent" Analysis | |
37 | AliFemtoBaseAnalysis* HbtAnalysis(){return fyAnalysis;}; | |
38 | void SetAnalysis(AliFemtoBaseAnalysis* aAnalysis); // Set Back pointer to Analysis | |
39 | ||
40 | protected: | |
41 | AliFemtoBaseAnalysis* fyAnalysis; // Link to the base analysis class | |
42 | ||
43 | #ifdef __ROOT__ | |
44 | ClassDef(AliFemtoPairCut, 0) | |
45 | #endif | |
46 | }; | |
47 | ||
48 | ||
0215f606 | 49 | inline AliFemtoPairCut::AliFemtoPairCut(const AliFemtoPairCut& c) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { } |
67427ff7 | 50 | inline void AliFemtoPairCut::SetAnalysis(AliFemtoBaseAnalysis* analysis) { fyAnalysis = analysis; } |
0215f606 | 51 | inline AliFemtoPairCut::AliFemtoPairCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0) {}; // default constructor. - Users should write their own |
52 | inline AliFemtoPairCut& AliFemtoPairCut::operator=(const AliFemtoPairCut &aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; } | |
53 | ||
67427ff7 | 54 | #endif |