New base class.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisCuts.h
CommitLineData
7c38d6ee 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
1b398ab4 7/* $Id$ */
8
7c38d6ee 9// Base class for analysis cuts
10// Author Andreas Morsch
11// andreas.morsch@cern.ch
12
13#include <TNamed.h>
264ebaac 14class TList;
65c32554 15class TCollection;
7c38d6ee 16
17class AliAnalysisCuts : public TNamed
18{
19 public:
20 AliAnalysisCuts();
21 AliAnalysisCuts(const char* name, const char* title);
22 AliAnalysisCuts(const AliAnalysisCuts& obj);
23 virtual ~AliAnalysisCuts() {;}
65c32554 24 virtual Bool_t IsSelected(TObject* /* obj */) = 0;
25 virtual Bool_t IsSelected(TList* /* list */) = 0;
1b398ab4 26 virtual void Init() {;}
c54360e6 27 virtual void SetFilterMask(UInt_t mask) {fFilterMask = mask;}
a710e44a 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;}
65c32554 31 virtual Long64_t Merge(TCollection* /* list */) { return 0; }
32 virtual TList* GetOutput() { return 0; }
7c38d6ee 33 private:
c54360e6 34 UInt_t fFilterMask; // Mask to use one of the previous decisions inside a filter
a710e44a 35 Bool_t fSelected; // Final decision on selction
c54360e6 36 ClassDef(AliAnalysisCuts, 4); // Base class for filter decisions on ESD objects
7c38d6ee 37};
38
39#endif