Deriving from AliVCuts.cxx
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisCuts.h
1 #ifndef ALIANALYSISCUTS_H
2 #define ALIANALYSISCUTS_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 // Base class for analysis cuts
10 // Author Andreas Morsch
11 // andreas.morsch@cern.ch
12
13 #include "AliVCuts.h"
14
15 class TList;
16 class TCollection;
17
18 class AliAnalysisCuts : public AliVCuts
19 {
20  public:
21     AliAnalysisCuts();
22     AliAnalysisCuts(const char* name, const char* title);
23     AliAnalysisCuts(const AliAnalysisCuts& obj);  
24     virtual ~AliAnalysisCuts() {;}
25     virtual Bool_t IsSelected(TObject* /* obj  */)   {;}
26     virtual Bool_t IsSelected(TList*   /* list */ ) = 0;
27     virtual void   Init() {;}
28     virtual void   SetFilterMask(UInt_t mask) {fFilterMask = mask;}
29     virtual UInt_t GetFilterMask()   const    {return fFilterMask;}
30     virtual void   SetSelected(Bool_t dec)    {fSelected = dec;}
31     virtual UInt_t Selected()        const    {return fSelected;}           
32     virtual Long64_t Merge(TCollection* /* list */)      { return 0; }
33     virtual TList* GetOutput()                { return 0; }
34  private:
35     UInt_t fFilterMask; // Mask to use one of the previous decisions inside a filter
36     Bool_t fSelected;   // Final decision on selction
37     ClassDef(AliAnalysisCuts, 5); // Base class for filter decisions on ESD objects
38 };
39  
40 #endif