]>
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 | ||
a5b23aa6 | 11 | class AliFemtoAnalysis; |
67427ff7 | 12 | |
d0e92d9a | 13 | #include "AliFemtoString.h" |
14 | #include "AliFemtoEvent.h" | |
15 | #include "AliFemtoPair.h" | |
16 | #include "AliFemtoCutMonitorHandler.h" | |
3a74204a | 17 | #include <TList.h> |
18 | #include <TObjString.h> | |
67427ff7 | 19 | |
20 | class AliFemtoPairCut : public AliFemtoCutMonitorHandler { | |
21 | ||
a5b23aa6 | 22 | friend class AliFemtoAnalysis; |
67427ff7 | 23 | |
24 | public: | |
25 | ||
0215f606 | 26 | AliFemtoPairCut(); // default constructor. - Users should write their own |
67427ff7 | 27 | AliFemtoPairCut(const AliFemtoPairCut& c); // copy constructor |
28 | virtual ~AliFemtoPairCut(){/* no-op */}; // destructor | |
0215f606 | 29 | AliFemtoPairCut& operator=(const AliFemtoPairCut &aCut); |
67427ff7 | 30 | |
31 | virtual bool Pass(const AliFemtoPair* pair) =0; // true if passes, false if not | |
32 | ||
33 | virtual AliFemtoString Report() =0; // user-written method to return string describing cuts | |
3a74204a | 34 | virtual TList *ListSettings() =0; |
fcda1d4e | 35 | virtual void EventBegin(const AliFemtoEvent* aEvent); |
36 | virtual void EventEnd(const AliFemtoEvent* aEvent); | |
67427ff7 | 37 | virtual AliFemtoPairCut* Clone() { return 0;} |
38 | ||
39 | // the following allows "back-pointing" from the CorrFctn to the "parent" Analysis | |
a5b23aa6 | 40 | AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;}; |
41 | void SetAnalysis(AliFemtoAnalysis* aAnalysis); // Set Back pointer to Analysis | |
67427ff7 | 42 | |
43 | protected: | |
a5b23aa6 | 44 | AliFemtoAnalysis* fyAnalysis; // Link to the base analysis class |
67427ff7 | 45 | |
46 | #ifdef __ROOT__ | |
47 | ClassDef(AliFemtoPairCut, 0) | |
48 | #endif | |
49 | }; | |
50 | ||
51 | ||
fcda1d4e | 52 | inline AliFemtoPairCut::AliFemtoPairCut(const AliFemtoPairCut& /* c */) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { } |
a5b23aa6 | 53 | inline void AliFemtoPairCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; } |
ea77036b | 54 | inline AliFemtoPairCut::AliFemtoPairCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0) {} // default constructor. - Users should write their own |
0215f606 | 55 | inline AliFemtoPairCut& AliFemtoPairCut::operator=(const AliFemtoPairCut &aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; } |
56 | ||
fcda1d4e | 57 | inline void AliFemtoPairCut::EventBegin(const AliFemtoEvent* /* aEvent */ ) |
58 | { /* no-op */ } | |
59 | inline void AliFemtoPairCut::EventEnd(const AliFemtoEvent* /* aEvent */ ) | |
60 | { /* no-op */ } | |
67427ff7 | 61 | #endif |