]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventCut.h
Merge branch 'master_patch'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventCut.h
CommitLineData
76ce4b5b 1////////////////////////////////////////////////////////////////////////////////
2/// AliFemtoEventCut - the pure virtual base class for the event cut ///
3/// All event cuts must inherit from this one ///
4////////////////////////////////////////////////////////////////////////////////
5#ifndef AliFemtoEventCut_hh
6#define AliFemtoEventCut_hh
7
8class AliFemtoEvent;
9class AliFemtoAnalysis;
10
11#include "AliFemtoCutMonitorHandler.h"
12#include "AliFemtoString.h"
13
14class AliFemtoEventCut : public AliFemtoCutMonitorHandler {
15
16 friend class AliFemtoAnalysis;
17
18public:
19
20 AliFemtoEventCut(); // default constructor. - Users should write their own
21 AliFemtoEventCut(const AliFemtoEventCut& c); // copy constructor
22 virtual ~AliFemtoEventCut(){/* no-op */}; // destructor
23 AliFemtoEventCut& operator=(const AliFemtoEventCut& aCut);
24
25 virtual bool Pass(const AliFemtoEvent* event) =0; // true if passes, false if not
26
27 virtual AliFemtoString Report() =0; // user-written method to return string describing cuts
28 virtual AliFemtoEventCut* Clone() { return 0;}
29
30
31 AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;};
32 void SetAnalysis(AliFemtoAnalysis* aAnalysis);
33
34protected:
35 AliFemtoAnalysis* fyAnalysis;
36
37#ifdef __ROOT__
38 ClassDef(AliFemtoEventCut, 0)
39#endif
40};
41
42inline AliFemtoEventCut::AliFemtoEventCut(const AliFemtoEventCut& /* c */) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { }
43inline void AliFemtoEventCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; }
44inline AliFemtoEventCut::AliFemtoEventCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0){} // default constructor. - Users should write their own
45inline AliFemtoEventCut& AliFemtoEventCut::operator=(const AliFemtoEventCut& aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; }
46#endif