Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TVirtualIndex.h
Go to the documentation of this file.
1 // @(#)root/tree:$Id$
2 // Author: Rene Brun 05/07/2004
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, 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_TVirtualIndex
13 #define ROOT_TVirtualIndex
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TVirtualIndex //
19 // //
20 // Abstract interface for Tree Index //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 
25 #include "TNamed.h"
26 
27 class TTree;
28 class TTreeFormula;
29 
30 class TVirtualIndex : public TNamed {
31 
32 protected:
33  TTree *fTree; //! pointer to Tree
34 
35 public:
36  TVirtualIndex();
37  virtual ~TVirtualIndex();
38  virtual void Append(const TVirtualIndex *,Bool_t delaySort = kFALSE) = 0;
39  virtual Long64_t GetEntryNumberFriend(const TTree * /*parent*/) = 0;
40  virtual Long64_t GetEntryNumberWithIndex(Long64_t major, Long64_t minor) const = 0;
41  virtual Long64_t GetEntryNumberWithBestIndex(Long64_t major, Long64_t minor) const = 0;
42  virtual const char *GetMajorName() const = 0;
43  virtual const char *GetMinorName() const = 0;
44  virtual Bool_t IsValidFor(const TTree *parent) = 0;
45  virtual Long64_t GetN() const = 0;
46  virtual TTree *GetTree() const {return fTree;}
47  virtual void UpdateFormulaLeaves(const TTree *parent) = 0;
48  virtual void SetTree(const TTree *T) = 0;
49 
50  ClassDef(TVirtualIndex,1); //Abstract interface for Tree Index
51 };
52 
53 #endif
54