]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutSet.h
Package revised - New AnalysisTask's - Added more functions
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutSet.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * See cxx source for full Copyright notice                               *
4  **************************************************************************/
5
6 //
7 // class AliRsnCutSet
8 // Combination of simple cuts
9 //
10
11 #ifndef ALIRSNCUTSET_H
12 #define ALIRSNCUTSET_H
13
14 #include <TNamed.h>
15 #include <TObjArray.h>
16
17 #include "AliRsnCut.h"
18
19 class AliRsnDaughter;
20 class AliRsnExpression;
21 class AliRsnPairParticle;
22 class AliRsnEvent;
23
24 class AliRsnCutSet : public TNamed
25 {
26   public:
27
28     AliRsnCutSet();
29     AliRsnCutSet(TString name);
30     AliRsnCutSet(const AliRsnCutSet &copy);
31     ~AliRsnCutSet();
32
33     void      AddCut(AliRsnCut* cut);
34
35     void      ShowCuts();
36     Int_t     GetIndexByCutName(TString s);
37     Bool_t    Passed();
38     Bool_t    IsValidScheme();
39     TString   ShowCutScheme();
40     Int_t     TestExpression(TString opt="short");
41     void      PrintSetInfo();
42
43     Bool_t    IsSelected(AliRsnCut::ETarget type, AliRsnDaughter *daughter);
44     Bool_t    IsSelected(AliRsnCut::ETarget type, AliRsnPairParticle *pair);
45     Bool_t    IsSelected(AliRsnCut::ETarget type, AliRsnEvent *event);
46
47     void SetBoolValue(Bool_t theValue,Int_t index) { fBoolValues[index] = theValue; }
48     Bool_t GetBoolValue(Int_t index) const { return fBoolValues[index]; }
49
50     void SetCutScheme(const TString& theValue);
51     TString GetCutScheme() const { return fCutScheme; }
52
53     void SetCutSchemeIndexed(TString theValue);
54     TString   GetCutSchemeIndexed();
55
56     TObjArray *GetCuts() { return &fCuts; }
57
58   private:
59
60     AliRsnCutSet& operator=(const AliRsnCutSet& /*copy*/) {return (*this);}
61
62     TObjArray     fCuts;                  // array of cuts
63     Int_t         fNumOfCuts;             // number of cuts
64     TString       fCutScheme;             // cut scheme
65     TString       fCutSchemeIndexed;      // cut scheme indexed
66
67     Bool_t       *fBoolValues;            //[fNumOfCuts]
68     Bool_t        fIsScheme;              // is scheme
69
70     AliRsnExpression  *fExpression;       // pointer to AliRsnExpression
71
72     ClassDef(AliRsnCutSet,1);    // ROOT dictionary
73 };
74
75 #endif