12 #ifndef ROOT_TSelectorDraw
13 #define ROOT_TSelectorDraw
27 class TTreeFormulaManager;
29 class TEntryListArray;
31 class TSelectorDraw :
public TSelector {
34 enum EStatusBits { kWarn = BIT(12) };
38 TTreeFormula *fSelect;
39 TTreeFormulaManager *fManager;
41 TEntryListArray *fTreeElistArray;
48 Long64_t fSelectedRows;
49 Long64_t fOldEstimate;
59 Bool_t fSelectMultiple;
62 Long64_t fCurrentSubEntry;
65 virtual void ClearFormula();
66 virtual Bool_t CompileVariables(
const char *varexp=
"",
const char *selection=
"");
67 virtual void InitArrays(Int_t newsize);
70 TSelectorDraw(
const TSelectorDraw&);
71 TSelectorDraw& operator=(
const TSelectorDraw&);
75 virtual ~TSelectorDraw();
77 virtual void Begin(TTree *tree);
78 virtual Int_t GetAction()
const {
return fAction;}
79 virtual Bool_t GetCleanElist()
const {
return fCleanElist;}
80 virtual Int_t GetDimension()
const {
return fDimension;}
81 virtual Long64_t GetDrawFlag()
const {
return fDraw;}
82 TObject *GetObject()
const {
return fObject;}
83 Int_t GetMultiplicity()
const {
return fMultiplicity;}
84 virtual Int_t GetNfill()
const {
return fNfill;}
85 TH1 *GetOldHistogram()
const {
return fOldHistogram;}
86 TTreeFormula *GetSelect()
const {
return fSelect;}
87 virtual Long64_t GetSelectedRows()
const {
return fSelectedRows;}
88 TTree *GetTree()
const {
return fTree;}
89 TTreeFormula *GetVar(Int_t i)
const;
91 TTreeFormula *GetVar1()
const {
return GetVar(0);}
93 TTreeFormula *GetVar2()
const {
return GetVar(1);}
95 TTreeFormula *GetVar3()
const {
return GetVar(2);}
97 TTreeFormula *GetVar4()
const {
return GetVar(3);}
98 virtual Double_t *GetVal(Int_t i)
const;
100 virtual Double_t *GetV1()
const {
return GetVal(0);}
102 virtual Double_t *GetV2()
const {
return GetVal(1);}
104 virtual Double_t *GetV3()
const {
return GetVal(2);}
106 virtual Double_t *GetV4()
const {
return GetVal(3);}
107 virtual Double_t *GetW()
const {
return fW;}
108 virtual Bool_t Notify();
109 virtual Bool_t Process(Long64_t ) {
return kFALSE; }
110 virtual void ProcessFill(Long64_t entry);
111 virtual void ProcessFillMultiple(Long64_t entry);
112 virtual void ProcessFillObject(Long64_t entry);
113 virtual void SetEstimate(Long64_t n);
114 virtual UInt_t SplitNames(
const TString &varexp, std::vector<TString> &names);
115 virtual void TakeAction();
116 virtual void TakeEstimate();
117 virtual void Terminate();
119 ClassDef(TSelectorDraw,1);