7278bbed7e9524e1b49cfe738b16e0fc80432ff7
[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 <TNamed.h>
14 class TList;
15 class TCollection;
16
17 class AliAnalysisCuts : public TNamed
18 {
19  public:
20     AliAnalysisCuts();
21     AliAnalysisCuts(const char* name, const char* title);
22     AliAnalysisCuts(const AliAnalysisCuts& obj);  
23     virtual ~AliAnalysisCuts() {;}
24     virtual Bool_t IsSelected(TObject* /* obj */)  = 0;
25     virtual Bool_t IsSelected(TList* /* list */)  = 0;
26     virtual void   Init() {;}
27     virtual void   SetFilterMask(UInt_t mask) {fFilterMask = mask;}
28     virtual UInt_t GetFilterMask()   const    {return fFilterMask;}
29     virtual void   SetSelected(Bool_t dec)    {fSelected = dec;}
30     virtual UInt_t Selected()        const    {return fSelected;}           
31     virtual Long64_t Merge(TCollection* /* list */)      { return 0; }
32     virtual TList* GetOutput()                { return 0; }
33  private:
34     UInt_t fFilterMask; // Mask to use one of the previous decisions inside a filter
35     Bool_t fSelected;   // Final decision on selction
36     ClassDef(AliAnalysisCuts, 4); // Base class for filter decisions on ESD objects
37 };
38  
39 #endif