1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * See cxx source for full Copyright notice *
4 **************************************************************************/
8 // Combination of simple cuts
11 #ifndef ALIRSNCUTSET_H
12 #define ALIRSNCUTSET_H
15 #include <TObjArray.h>
17 #include "AliRsnCut.h"
20 class AliRsnExpression;
21 class AliRsnPairParticle;
24 class AliRsnCutSet : public TNamed
29 AliRsnCutSet(TString name);
30 AliRsnCutSet(const AliRsnCutSet ©);
33 void AddCut(AliRsnCut* cut);
36 Int_t GetIndexByCutName(TString s);
38 Bool_t IsValidScheme();
39 TString ShowCutScheme();
40 Int_t TestExpression(TString opt="short");
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);
47 void SetBoolValue(Bool_t theValue,Int_t index) { fBoolValues[index] = theValue; }
48 Bool_t GetBoolValue(Int_t index) const { return fBoolValues[index]; }
50 void SetCutScheme(const TString& theValue);
51 TString GetCutScheme() const { return fCutScheme; }
53 void SetCutSchemeIndexed(TString theValue);
54 TString GetCutSchemeIndexed();
56 TObjArray *GetCuts() { return &fCuts; }
60 AliRsnCutSet& operator=(const AliRsnCutSet& /*copy*/) {return (*this);}
62 TObjArray fCuts; // array of cuts
63 Int_t fNumOfCuts; // number of cuts
64 TString fCutScheme; // cut scheme
65 TString fCutSchemeIndexed; // cut scheme indexed
67 Bool_t *fBoolValues; //[fNumOfCuts]
68 Bool_t fIsScheme; // is scheme
70 AliRsnExpression *fExpression; // pointer to AliRsnExpression
72 ClassDef(AliRsnCutSet,1); // ROOT dictionary