00001 // @(#)root/tree:$Id: TVirtualIndex.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Rene Brun 05/07/2004 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TVirtualIndex 00013 #define ROOT_TVirtualIndex 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TVirtualIndex // 00019 // // 00020 // Abstract interface for Tree Index // 00021 // // 00022 ////////////////////////////////////////////////////////////////////////// 00023 00024 00025 #ifndef ROOT_TNamed 00026 #include "TNamed.h" 00027 #endif 00028 00029 class TTree; 00030 00031 class TVirtualIndex : public TNamed { 00032 00033 protected: 00034 TTree *fTree; //! pointer to Tree 00035 00036 public: 00037 TVirtualIndex(); 00038 virtual ~TVirtualIndex(); 00039 virtual void Append(const TVirtualIndex *,Bool_t delaySort = kFALSE) = 0; 00040 virtual Int_t GetEntryNumberFriend(const TTree * /*T*/) = 0; 00041 virtual Long64_t GetEntryNumberWithIndex(Int_t major, Int_t minor) const = 0; 00042 virtual Long64_t GetEntryNumberWithBestIndex(Int_t major, Int_t minor) const = 0; 00043 virtual const char *GetMajorName() const = 0; 00044 virtual const char *GetMinorName() const = 0; 00045 virtual Long64_t GetN() const = 0; 00046 virtual TTree *GetTree() const {return fTree;} 00047 virtual void UpdateFormulaLeaves(const TTree *parent) = 0; 00048 virtual void SetTree(const TTree *T) = 0; 00049 00050 ClassDef(TVirtualIndex,1); //Abstract interface for Tree Index 00051 }; 00052 00053 #endif 00054