Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TVirtualTreePlayer.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Rene Brun 30/08/99
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TVirtualTreePlayer
13 #define ROOT_TVirtualTreePlayer
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TVirtualTreePlayer //
19 // //
20 // Abstract base class for Tree players. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TObject.h"
25 
26 #include <limits>
27 
28 class TClass;
29 class TTree;
30 class TH1;
31 class TTreeFormula;
32 class TSQLResult;
33 class TSelector;
34 class TPrincipal;
35 class TVirtualIndex;
36 
37 
38 class TVirtualTreePlayer : public TObject {
39 
40 private:
41  static TClass *fgPlayer; ///< Pointer to class of Tree player
42  static TVirtualTreePlayer *fgCurrent; ///< Pointer to current Tree player
43 
44 public:
45  static constexpr Long64_t kMaxEntries = std::numeric_limits<Long64_t>::max();
46 
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;
96 
97  static TVirtualTreePlayer *GetCurrentPlayer();
98  static TVirtualTreePlayer *TreePlayer(TTree *obj);
99  static void SetPlayer(const char *player);
100 
101  ClassDef(TVirtualTreePlayer,0); //Abstract interface for Tree players
102 };
103 
104 #endif