Warning, file /include/root/TSelectorDraw.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TSelectorDraw
0013 #define ROOT_TSelectorDraw
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "TSelector.h"
0025
0026 #include <vector>
0027
0028 class TTreeFormula;
0029 class TTreeFormulaManager;
0030 class TH1;
0031 class TEntryListArray;
0032
0033 class TSelectorDraw : public TSelector {
0034
0035 protected:
0036 enum EStatusBits { kWarn = BIT(12) };
0037
0038 TTree *fTree;
0039 TTreeFormula **fVar;
0040 TTreeFormula *fSelect;
0041 TTreeFormulaManager *fManager;
0042 TObject *fTreeElist;
0043 TEntryListArray *fTreeElistArray;
0044 TH1 *fOldHistogram;
0045 Int_t fAction;
0046 Long64_t fDraw;
0047 Int_t fNfill;
0048 Int_t fMultiplicity;
0049 Int_t fDimension;
0050 Long64_t fSelectedRows;
0051 Long64_t fOldEstimate;
0052 Int_t fForceRead;
0053 Int_t *fNbins;
0054 Double_t *fVmin;
0055 Double_t *fVmax;
0056 Double_t fWeight;
0057 Double_t **fVal;
0058 Int_t fValSize;
0059 Double_t *fW;
0060 bool *fVarMultiple;
0061 bool fSelectMultiple;
0062 bool fCleanElist;
0063 bool fObjEval;
0064 Long64_t fCurrentSubEntry;
0065
0066 protected:
0067 virtual void ClearFormula();
0068 virtual bool CompileVariables(const char *varexp="", const char *selection="");
0069 virtual void InitArrays(Int_t newsize);
0070
0071 private:
0072 TSelectorDraw(const TSelectorDraw&);
0073 TSelectorDraw& operator=(const TSelectorDraw&);
0074
0075 public:
0076 TSelectorDraw();
0077 ~TSelectorDraw() override;
0078
0079 void Begin(TTree *tree) override;
0080 virtual Int_t GetAction() const {return fAction;}
0081 virtual bool GetCleanElist() const {return fCleanElist;}
0082 virtual Int_t GetDimension() const {return fDimension;}
0083 virtual Long64_t GetDrawFlag() const {return fDraw;}
0084 TObject *GetObject() const {return fObject;}
0085 Int_t GetMultiplicity() const {return fMultiplicity;}
0086 virtual Int_t GetNfill() const {return fNfill;}
0087 TH1 *GetOldHistogram() const {return fOldHistogram;}
0088 TTreeFormula *GetSelect() const {return fSelect;}
0089 virtual Long64_t GetSelectedRows() const {return fSelectedRows;}
0090 TTree *GetTree() const {return fTree;}
0091 TTreeFormula *GetVar(Int_t i) const;
0092
0093 TTreeFormula *GetVar1() const {return GetVar(0);}
0094
0095 TTreeFormula *GetVar2() const {return GetVar(1);}
0096
0097 TTreeFormula *GetVar3() const {return GetVar(2);}
0098
0099 TTreeFormula *GetVar4() const {return GetVar(3);}
0100 virtual Double_t *GetVal(Int_t i) const;
0101
0102 virtual Double_t *GetV1() const {return GetVal(0);}
0103
0104 virtual Double_t *GetV2() const {return GetVal(1);}
0105
0106 virtual Double_t *GetV3() const {return GetVal(2);}
0107
0108 virtual Double_t *GetV4() const {return GetVal(3);}
0109 virtual Double_t *GetW() const {return fW;}
0110 bool Notify() override;
0111 bool Process(Long64_t ) override { return false; }
0112 void ProcessFill(Long64_t entry) override;
0113 virtual void ProcessFillMultiple(Long64_t entry);
0114 virtual void ProcessFillObject(Long64_t entry);
0115 virtual void SetEstimate(Long64_t n);
0116 virtual UInt_t SplitNames(const TString &varexp, std::vector<TString> &names);
0117 virtual void TakeAction();
0118 virtual void TakeEstimate();
0119 void Terminate() override;
0120
0121 ClassDefOverride(TSelectorDraw,1);
0122 };
0123
0124 #endif