library: libTreePlayer #include "TChainIndex.h"

# TChainIndex

class description - source file - inheritance tree (.pdf)

## class TChainIndex : public TVirtualIndex

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TVirtualIndex`
| <- | `TChainIndex` |

        protected:

                                void DeleteIndices()
          pair<TVirtualIndex*,Int_t> GetSubTreeIndex(Int_t major, Int_t minor) const
                                void ReleaseSubTreeIndex(TVirtualIndex* index, Int_t treeNo) const

        public:

                                TChainIndex()
                                TChainIndex(const TTree* T, const char* majorname, const char* minorname)
                                TChainIndex(const TChainIndex&)
                        virtual ~TChainIndex()
                 static TClass* Class()
                  virtual Int_t GetEntryNumberFriend(const TTree* T)
               virtual Long64_t GetEntryNumberWithBestIndex(Int_t major, Int_t minor) const
               virtual Long64_t GetEntryNumberWithIndex(Int_t major, Int_t minor) const
          virtual TTreeFormula* GetMajorFormulaParent(const TTree* T)
            virtual const char* GetMajorName() const
          virtual TTreeFormula* GetMinorFormulaParent(const TTree* T)
            virtual const char* GetMinorName() const
               virtual Long64_t GetN() const
                virtual TClass* IsA() const
                   TChainIndex& operator=(const TChainIndex&)
                   virtual void SetTree(const TTree* T)
                   virtual void ShowMembers(TMemberInspector& insp, char* parent)
                   virtual void Streamer(TBuffer& b)
                           void StreamerNVirtual(TBuffer& b)
                   virtual void UpdateFormulaLeaves()

### Data Members

        protected:

                            TString fMajorName           Index major name
                            TString fMinorName           Index minor name
                      TTreeFormula* fMajorFormulaParent  ! Pointer to major TreeFormula in Parent tree (if any)
                      TTreeFormula* fMinorFormulaParent  ! Pointer to minor TreeFormula in Parent tree (if any)
          vector<ChainIndexEntry_t> fEntries             descriptions of indices of trees in the chain.

## Class Description

     A Chain Index

TChainIndex(): TVirtualIndex()

     Default constructor for TChainIndex

TChainIndex(const TTree *T, const char *majorname, const char *minorname) : TVirtualIndex()

     Normal constructor for TChainIndex. See TTreeIndex::TTreeIndex for the description of the
     parameters.
     The tree must be a TChain.
     All the index values in the first tree of the chain must be
     less then any index value in the second one, and so on.
     If any of those requirements isn't met the object becomes a zombie.
     If some subtrees don't have indices the indices are created and stored inside this
     TChainIndex.

void DeleteIndices()

     Delete all the indices which were built by this object

~TChainIndex()

     The destructor.

void ReleaseSubTreeIndex(TVirtualIndex* index, int treeNo) const

     Releases the tree index got using GetSubTreeIndex. If the index was
     created by this object it is removed from the current tree, so that it isn't
     deleted in its destructor.

Int_t GetEntryNumberFriend(const TTree *T)

     see TTreeIndex::GetEntryNumberFriend for description

Long64_t GetEntryNumberWithBestIndex(Int_t major, Int_t minor) const

     See TTreeIndex::GetEntryNumberWithBestIndex for details.

Long64_t GetEntryNumberWithIndex(Int_t major, Int_t minor) const

     Returns the entry number with given index values.
     See TTreeIndex::GetEntryNumberWithIndex for details.

TTreeFormula* GetMajorFormulaParent(const TTree *T)

     return a pointer to the TreeFormula corresponding to the majorname in parent tree T

TTreeFormula* GetMinorFormulaParent(const TTree *T)

     return a pointer to the TreeFormula corresponding to the minorname in parent tree T

void UpdateFormulaLeaves()

     Updates the parent formulae.
     Called by TChain::LoadTree when the parent chain changes it's tree.

void SetTree(const TTree *T)

     See TTreeIndex::SetTree.
     Used only by the streamer.

### Inline Functions

            pair<TVirtualIndex*,Int_t> GetSubTreeIndex(Int_t major, Int_t minor) const
                           const char* GetMajorName() const
                           const char* GetMinorName() const
                              Long64_t GetN() const
                               TClass* Class()
                               TClass* IsA() const
                                  void ShowMembers(TMemberInspector& insp, char* parent)
                                  void Streamer(TBuffer& b)
                                  void StreamerNVirtual(TBuffer& b)
                           TChainIndex TChainIndex(const TChainIndex&)
                          TChainIndex& operator=(const TChainIndex&)

Author: Marek Biskup 07/06/2005
Last update: root/tree:$Name: $:$Id: TChainIndex.cxx,v 1.3 2005/06/28 16:49:45 brun Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *