Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[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
a5b23aa6 11class 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
20class AliFemtoPairCut : public AliFemtoCutMonitorHandler {
21
a5b23aa6 22 friend class AliFemtoAnalysis;
67427ff7 23
24public:
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
43protected:
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 52inline AliFemtoPairCut::AliFemtoPairCut(const AliFemtoPairCut& /* c */) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { }
a5b23aa6 53inline void AliFemtoPairCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; }
ea77036b 54inline AliFemtoPairCut::AliFemtoPairCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0) {} // default constructor. - Users should write their own
0215f606 55inline AliFemtoPairCut& AliFemtoPairCut::operator=(const AliFemtoPairCut &aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; }
56
fcda1d4e 57inline void AliFemtoPairCut::EventBegin(const AliFemtoEvent* /* aEvent */ )
58{ /* no-op */ }
59inline void AliFemtoPairCut::EventEnd(const AliFemtoEvent* /* aEvent */ )
60{ /* no-op */ }
67427ff7 61#endif