]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FEMTOSCOPY/AliFemto/AliFemtoPairCut.h
Making the directory structure of AliFemto flat. All files go into one common directory
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoPairCut.h
CommitLineData
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
11class AliFemtoBaseAnalysis;
12
d0e92d9a 13#include "AliFemtoString.h"
14#include "AliFemtoEvent.h"
15#include "AliFemtoPair.h"
16#include "AliFemtoCutMonitorHandler.h"
67427ff7 17
18class AliFemtoPairCut : public AliFemtoCutMonitorHandler {
19
20 friend class AliFemtoBaseAnalysis;
21
22public:
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
40protected:
41 AliFemtoBaseAnalysis* fyAnalysis; // Link to the base analysis class
42
43#ifdef __ROOT__
44 ClassDef(AliFemtoPairCut, 0)
45#endif
46};
47
48
0215f606 49inline AliFemtoPairCut::AliFemtoPairCut(const AliFemtoPairCut& c) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { }
67427ff7 50inline void AliFemtoPairCut::SetAnalysis(AliFemtoBaseAnalysis* analysis) { fyAnalysis = analysis; }
0215f606 51inline AliFemtoPairCut::AliFemtoPairCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0) {}; // default constructor. - Users should write their own
52inline AliFemtoPairCut& AliFemtoPairCut::operator=(const AliFemtoPairCut &aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; }
53
67427ff7 54#endif