]>
Commit | Line | Data |
---|---|---|
e2bafbbc | 1 | // |
e0baff8c | 2 | // Class AliRsnCutSet |
3 | // | |
4 | // This is the front-end for cut management and checking. | |
5 | // It must be prepared by adding all required single cuts, | |
6 | // and then with a logical expression which combines all cuts | |
7 | // with the "AND", "OR" and "NOT" operators. | |
8 | // | |
9 | // author: M. Vala (martin.vala@cern.ch) | |
e2bafbbc | 10 | // |
11 | ||
06351446 | 12 | #ifndef ALIRSNCUTSET_H |
13 | #define ALIRSNCUTSET_H | |
14 | ||
15 | #include <TNamed.h> | |
16 | #include <TObjArray.h> | |
17 | ||
18 | #include "AliRsnCut.h" | |
06351446 | 19 | |
20 | class AliRsnDaughter; | |
21 | class AliRsnExpression; | |
22 | class AliRsnPairParticle; | |
e2bafbbc | 23 | class AliRsnEvent; |
06351446 | 24 | |
25 | class AliRsnCutSet : public TNamed | |
26 | { | |
aec0ec32 | 27 | public: |
8ecf98c4 | 28 | |
2dab9030 | 29 | AliRsnCutSet(AliRsnCut::ETarget target = AliRsnCut::kLastCutTarget); |
30 | AliRsnCutSet(TString name, AliRsnCut::ETarget target); | |
aec0ec32 | 31 | AliRsnCutSet(const AliRsnCutSet ©); |
4fbb2459 | 32 | AliRsnCutSet& operator=(const AliRsnCutSet& /*copy*/) {return (*this);} |
06351446 | 33 | ~AliRsnCutSet(); |
34 | ||
aec0ec32 | 35 | void AddCut(AliRsnCut* cut); |
06351446 | 36 | |
4fbb2459 | 37 | void ShowCuts() const; |
aec0ec32 | 38 | Int_t GetIndexByCutName(TString s); |
06351446 | 39 | Bool_t Passed(); |
40 | Bool_t IsValidScheme(); | |
41 | TString ShowCutScheme(); | |
aec0ec32 | 42 | Int_t TestExpression(TString opt="short"); |
06351446 | 43 | void PrintSetInfo(); |
44 | ||
2dab9030 | 45 | Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0); |
06351446 | 46 | |
aec0ec32 | 47 | void SetBoolValue(Bool_t theValue,Int_t index) { fBoolValues[index] = theValue; } |
48 | Bool_t GetBoolValue(Int_t index) const { return fBoolValues[index]; } | |
06351446 | 49 | |
aec0ec32 | 50 | void SetCutScheme(const TString& theValue); |
06351446 | 51 | TString GetCutScheme() const { return fCutScheme; } |
52 | ||
aec0ec32 | 53 | void SetCutSchemeIndexed(TString theValue); |
06351446 | 54 | TString GetCutSchemeIndexed(); |
55 | ||
56 | TObjArray *GetCuts() { return &fCuts; } | |
57 | ||
413bbf44 | 58 | void SetEvent(AliRsnEvent *event); |
59 | ||
aec0ec32 | 60 | private: |
8ecf98c4 | 61 | |
2dab9030 | 62 | AliRsnCut::ETarget fTarget; // cut target |
06351446 | 63 | TObjArray fCuts; // array of cuts |
64 | Int_t fNumOfCuts; // number of cuts | |
65 | TString fCutScheme; // cut scheme | |
66 | TString fCutSchemeIndexed; // cut scheme indexed | |
67 | ||
e2bafbbc | 68 | Bool_t *fBoolValues; //[fNumOfCuts] |
06351446 | 69 | Bool_t fIsScheme; // is scheme |
aec0ec32 | 70 | |
e2bafbbc | 71 | AliRsnExpression *fExpression; // pointer to AliRsnExpression |
06351446 | 72 | |
e0baff8c | 73 | ClassDef(AliRsnCutSet,1) // ROOT dictionary |
06351446 | 74 | }; |
75 | ||
76 | #endif |