]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutSet.h
Introducing a new AOD class: AliAODcascade (A.Maire)
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutSet.h
1 #ifndef ALIRSNCUTSET_H
2 #define ALIRSNCUTSET_H
3
4 #include <TNamed.h>
5 #include <TObjArray.h>
6
7 #include "AliRsnCut.h"
8 // class AliRsnCut;
9 class AliRsnCutMgr;
10
11 class AliRsnDaughter;
12 class AliRsnExpression;
13 class AliRsnPairParticle;
14
15 class AliRsnCutSet : public TNamed
16 {
17
18   public:
19     AliRsnCutSet();
20     AliRsnCutSet ( TString name );
21     AliRsnCutSet ( const AliRsnCutSet &copy );
22
23     ~AliRsnCutSet();
24
25     void      AddCut ( AliRsnCut* cut );
26 //     void      SetCutScheme ( TString sheme ) {fCutScheme = sheme;}
27
28     void      ShowCuts();
29     Int_t     GetIndexByCutName ( TString s );
30     Bool_t    Passed();
31     Bool_t    IsValidScheme();
32     TString   ShowCutScheme();
33     Int_t     TestExpression ( TString opt="short" );
34     void      PrintSetInfo();
35
36     Bool_t    IsSelected (AliRsnCut::ECutSetType type, AliRsnDaughter *daughter );
37     Bool_t    IsSelected (AliRsnCut::ECutSetType type, AliRsnPairParticle *pair );
38 //     Bool_t    IsSelected ( AliRsnEffectiveParticle *pair );
39 //     Bool_t    IsSelected(TObject*obj);
40
41     void SetBoolValue ( Bool_t theValue,Int_t index ) { fBoolValues[index] = theValue; }
42     Bool_t GetBoolValue ( Int_t index ) const { return fBoolValues[index]; }
43
44     void SetCutScheme ( const TString& theValue );
45     TString GetCutScheme() const { return fCutScheme; }
46
47     void SetCutSchemeIndexed ( TString theValue );
48     TString   GetCutSchemeIndexed();
49
50     TObjArray *GetCuts() { return &fCuts; }
51
52
53   private:
54
55     AliRsnCutSet& operator=(const AliRsnCutSet& /*copy*/) {return (*this);}
56
57     TObjArray     fCuts;                  // array of cuts
58     Int_t         fNumOfCuts;             // number of cuts
59     TString       fCutScheme;             // cut scheme
60     TString       fCutSchemeIndexed;      // cut scheme indexed
61
62     Bool_t        *fBoolValues;           //[fNumOfCuts]
63     Bool_t        fIsScheme;              // is scheme
64     AliRsnExpression  *fExpression;     // pointer to AliRsnExpression
65
66     ClassDef ( AliRsnCutSet,1 );
67 };
68
69 #endif