ROOT logo
////////////////////////////////////////////////////////////////////////////////
/// AliFemtoEventCut - the pure virtual base class for the event cut         ///
/// All event cuts must inherit from this one                                ///
////////////////////////////////////////////////////////////////////////////////
#ifndef AliFemtoEventCut_hh
#define AliFemtoEventCut_hh

class AliFemtoEvent;
class AliFemtoAnalysis;

#include "AliFemtoCutMonitorHandler.h"
#include "AliFemtoString.h"

class AliFemtoEventCut : public AliFemtoCutMonitorHandler {

  friend class AliFemtoAnalysis;

public:

  AliFemtoEventCut();                // default constructor. - Users should write their own
  AliFemtoEventCut(const AliFemtoEventCut& c); // copy constructor
  virtual ~AliFemtoEventCut(){/* no-op */};       // destructor
  AliFemtoEventCut& operator=(const AliFemtoEventCut& aCut);

  virtual bool Pass(const AliFemtoEvent* event) =0;  // true if passes, false if not

  virtual AliFemtoString Report() =0;    // user-written method to return string describing cuts
  virtual AliFemtoEventCut* Clone() { return 0;}


  AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;};
  void SetAnalysis(AliFemtoAnalysis* aAnalysis);

protected:
  AliFemtoAnalysis* fyAnalysis;

#ifdef __ROOT__
  ClassDef(AliFemtoEventCut, 0)
#endif
};

inline AliFemtoEventCut::AliFemtoEventCut(const AliFemtoEventCut& /* c */) : AliFemtoCutMonitorHandler(), fyAnalysis(0) { }
inline void AliFemtoEventCut::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; }
inline AliFemtoEventCut::AliFemtoEventCut(): AliFemtoCutMonitorHandler(), fyAnalysis(0){}                // default constructor. - Users should write their own
inline AliFemtoEventCut& AliFemtoEventCut::operator=(const AliFemtoEventCut& aCut) { if (this == &aCut) return *this; fyAnalysis = aCut.fyAnalysis; return *this; }
#endif
 AliFemtoEventCut.h:1
 AliFemtoEventCut.h:2
 AliFemtoEventCut.h:3
 AliFemtoEventCut.h:4
 AliFemtoEventCut.h:5
 AliFemtoEventCut.h:6
 AliFemtoEventCut.h:7
 AliFemtoEventCut.h:8
 AliFemtoEventCut.h:9
 AliFemtoEventCut.h:10
 AliFemtoEventCut.h:11
 AliFemtoEventCut.h:12
 AliFemtoEventCut.h:13
 AliFemtoEventCut.h:14
 AliFemtoEventCut.h:15
 AliFemtoEventCut.h:16
 AliFemtoEventCut.h:17
 AliFemtoEventCut.h:18
 AliFemtoEventCut.h:19
 AliFemtoEventCut.h:20
 AliFemtoEventCut.h:21
 AliFemtoEventCut.h:22
 AliFemtoEventCut.h:23
 AliFemtoEventCut.h:24
 AliFemtoEventCut.h:25
 AliFemtoEventCut.h:26
 AliFemtoEventCut.h:27
 AliFemtoEventCut.h:28
 AliFemtoEventCut.h:29
 AliFemtoEventCut.h:30
 AliFemtoEventCut.h:31
 AliFemtoEventCut.h:32
 AliFemtoEventCut.h:33
 AliFemtoEventCut.h:34
 AliFemtoEventCut.h:35
 AliFemtoEventCut.h:36
 AliFemtoEventCut.h:37
 AliFemtoEventCut.h:38
 AliFemtoEventCut.h:39
 AliFemtoEventCut.h:40
 AliFemtoEventCut.h:41
 AliFemtoEventCut.h:42
 AliFemtoEventCut.h:43
 AliFemtoEventCut.h:44
 AliFemtoEventCut.h:45
 AliFemtoEventCut.h:46