12 #ifndef ROOT_TVirtualTreePlayer
13 #define ROOT_TVirtualTreePlayer
38 class TVirtualTreePlayer :
public TObject {
41 static TClass *fgPlayer;
42 static TVirtualTreePlayer *fgCurrent;
45 static constexpr Long64_t kMaxEntries = std::numeric_limits<Long64_t>::max();
47 TVirtualTreePlayer() { }
48 virtual ~TVirtualTreePlayer();
49 virtual TVirtualIndex *BuildIndex(
const TTree *T,
const char *majorname,
const char *minorname) = 0;
50 virtual TTree *CopyTree(
const char *selection, Option_t *option=
""
51 ,Long64_t nentries=kMaxEntries, Long64_t firstentry=0) = 0;
52 virtual Long64_t DrawScript(
const char *wrapperPrefix,
53 const char *macrofilename,
const char *cutfilename,
54 Option_t *option, Long64_t nentries, Long64_t firstentry) = 0;
55 virtual Long64_t DrawSelect(
const char *varexp,
const char *selection, Option_t *option
56 ,Long64_t nentries, Long64_t firstentry) = 0;
57 virtual Int_t Fit(
const char *formula ,
const char *varexp,
const char *selection,Option_t *option ,Option_t *goption
58 ,Long64_t nentries, Long64_t firstentry) = 0;
59 virtual Int_t GetDimension()
const = 0;
60 virtual TH1 *GetHistogram()
const = 0;
61 virtual Int_t GetNfill()
const = 0;
62 virtual Long64_t GetEntries(
const char *) = 0;
63 virtual Long64_t GetSelectedRows()
const = 0;
64 virtual TTreeFormula *GetSelect()
const = 0;
65 virtual TTreeFormula *GetVar(Int_t)
const = 0;
66 virtual TTreeFormula *GetVar1()
const = 0;
67 virtual TTreeFormula *GetVar2()
const = 0;
68 virtual TTreeFormula *GetVar3()
const = 0;
69 virtual TTreeFormula *GetVar4()
const = 0;
70 virtual Double_t *GetVal(Int_t)
const = 0;
71 virtual Double_t *GetV1()
const = 0;
72 virtual Double_t *GetV2()
const = 0;
73 virtual Double_t *GetV3()
const = 0;
74 virtual Double_t *GetV4()
const = 0;
75 virtual Double_t *GetW()
const = 0;
76 virtual Int_t MakeClass(
const char *classname,
const char *option) = 0;
77 virtual Int_t MakeCode(
const char *filename) = 0;
78 virtual Int_t MakeProxy(
const char *classname,
79 const char *macrofilename = 0,
const char *cutfilename = 0,
80 const char *option = 0, Int_t maxUnrolling = 3) = 0;
81 virtual Int_t MakeReader(
const char *classname, Option_t *option) = 0;
82 virtual TPrincipal *Principal(
const char *varexp=
"",
const char *selection=
"", Option_t *option=
"np"
83 ,Long64_t nentries=kMaxEntries, Long64_t firstentry=0) = 0;
84 virtual Long64_t Process(
const char *filename,Option_t *option=
"", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) = 0;
85 virtual Long64_t Process(TSelector *selector,Option_t *option=
"", Long64_t nentries=kMaxEntries, Long64_t firstentry=0) = 0;
86 virtual Long64_t Scan(
const char *varexp,
const char *selection, Option_t *option
87 ,Long64_t nentries, Long64_t firstentry) = 0;
88 virtual TSQLResult *Query(
const char *varexp,
const char *selection, Option_t *option
89 ,Long64_t nentries, Long64_t firstentry) = 0;
90 virtual void SetEstimate(Long64_t n) = 0;
91 virtual void SetTree(TTree *t) = 0;
92 virtual void StartViewer(Int_t ww, Int_t wh) = 0;
93 virtual Int_t UnbinnedFit(
const char *formula ,
const char *varexp,
const char *selection,Option_t *option
94 ,Long64_t nentries, Long64_t firstentry) = 0;
95 virtual void UpdateFormulaLeaves() = 0;
97 static TVirtualTreePlayer *GetCurrentPlayer();
98 static TVirtualTreePlayer *TreePlayer(TTree *obj);
99 static void SetPlayer(
const char *player);
101 ClassDef(TVirtualTreePlayer,0);