]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoCorrFctn.h
1 ////////////////////////////////////////////////////////////////////////////////
2 /// AliFemtoCorrFctn - the pure virtual base class for correlation function  ///
3 /// All correlation function classes must inherit from this one              ///
4 ////////////////////////////////////////////////////////////////////////////////
5 #ifndef AliFemtoCorrFctn_hh
6 #define AliFemtoCorrFctn_hh
7
8 #include "AliFemtoAnalysis.h"
9 #include "AliFemtoEvent.h"
10 #include "AliFemtoPair.h"
11 #include "AliFemtoPairCut.h"
12
13 class AliFemtoCorrFctn{
14
15   friend class AliFemtoAnalysis;
16
17 public:
18   AliFemtoCorrFctn();
19   AliFemtoCorrFctn(const AliFemtoCorrFctn& aCorrFctn);
20   virtual ~AliFemtoCorrFctn(){/* no-op */};
21   AliFemtoCorrFctn& operator=(const AliFemtoCorrFctn& aCorrFctn);
22
23   virtual AliFemtoString Report() = 0;
24
25   virtual void AddRealPair(AliFemtoPair* aPair);
26   virtual void AddMixedPair(AliFemtoPair* aPir);
27
28   virtual void EventBegin(const AliFemtoEvent* aEvent);
29   virtual void EventEnd(const AliFemtoEvent* aEvent);
30   virtual void Finish() = 0;
31
32   virtual TList* GetOutputList() = 0;
33
34   virtual AliFemtoCorrFctn* Clone() { return 0;}
35
36   AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;};
37   void SetAnalysis(AliFemtoAnalysis* aAnalysis);
38   void SetPairSelectionCut(AliFemtoPairCut* aCut);
39
40 protected:
41   AliFemtoAnalysis* fyAnalysis; //! link to the analysis
42   AliFemtoPairCut* fPairCut;    //! this is a PairSelection criteria for this Correlation Function
43
44   private:
45
46 #ifdef __ROOT__
47   ClassDef(AliFemtoCorrFctn, 1)
48 #endif
49 };
50
51 #endif