Logo ROOT  
Reference Guide
TTreeIndex.h
Go to the documentation of this file.
1// @(#)root/treeplayer:$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_TTreeIndex
13#define ROOT_TTreeIndex
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TTreeIndex //
19// //
20// A Tree Index with majorname and minorname. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24
25#include "TVirtualIndex.h"
26
27class TTreeFormula;
28
29class TTreeIndex : public TVirtualIndex {
30
31protected:
32 TString fMajorName; // Index major name
33 TString fMinorName; // Index minor name
34 Long64_t fN; // Number of entries
35 Long64_t *fIndexValues; //[fN] Sorted index values, higher 64bits
36 Long64_t *fIndexValuesMinor; //[fN] Sorted index values, lower 64bits
37 Long64_t *fIndex; //[fN] Index of sorted values
38 TTreeFormula *fMajorFormula; //! Pointer to major TreeFormula
39 TTreeFormula *fMinorFormula; //! Pointer to minor TreeFormula
40 TTreeFormula *fMajorFormulaParent; //! Pointer to major TreeFormula in Parent tree (if any)
41 TTreeFormula *fMinorFormulaParent; //! Pointer to minor TreeFormula in Parent tree (if any)
42
43private:
44 TTreeIndex(const TTreeIndex&) = delete; // Not implemented.
45 TTreeIndex &operator=(const TTreeIndex&) = delete; // Not implemented.
46
47public:
48 TTreeIndex();
49 TTreeIndex(const TTree *T, const char *majorname, const char *minorname);
50 virtual ~TTreeIndex();
51 virtual void Append(const TVirtualIndex *,Bool_t delaySort = kFALSE);
52 bool ConvertOldToNew();
53 Long64_t FindValues(Long64_t major, Long64_t minor) const;
54 virtual Long64_t GetEntryNumberFriend(const TTree *parent);
55 virtual Long64_t GetEntryNumberWithIndex(Long64_t major, Long64_t minor) const;
56 virtual Long64_t GetEntryNumberWithBestIndex(Long64_t major, Long64_t minor) const;
57 virtual Long64_t *GetIndex() const {return fIndex;}
58 virtual Long64_t *GetIndexValues() const {return fIndexValues;}
59 virtual Long64_t *GetIndexValuesMinor() const;
60 const char *GetMajorName() const {return fMajorName.Data();}
61 const char *GetMinorName() const {return fMinorName.Data();}
62 virtual Long64_t GetN() const {return fN;}
65 virtual TTreeFormula *GetMajorFormulaParent(const TTree *parent);
66 virtual TTreeFormula *GetMinorFormulaParent(const TTree *parent);
67 virtual Bool_t IsValidFor(const TTree *parent);
68 virtual void Print(Option_t *option="") const;
69 virtual void UpdateFormulaLeaves(const TTree *parent);
70 virtual void SetTree(const TTree *T);
71
72 ClassDef(TTreeIndex,2); //A Tree Index with majorname and minorname.
73};
74
75#endif
76
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:69
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
Used to pass a selection expression to the Tree drawing routine.
Definition: TTreeFormula.h:58
A Tree Index with majorname and minorname.
Definition: TTreeIndex.h:29
TTreeIndex()
Default constructor for TTreeIndex.
Definition: TTreeIndex.cxx:48
virtual Long64_t * GetIndexValues() const
Definition: TTreeIndex.h:58
virtual Long64_t * GetIndexValuesMinor() const
Definition: TTreeIndex.cxx:429
TTreeFormula * fMajorFormula
Definition: TTreeIndex.h:38
TTreeFormula * fMajorFormulaParent
Pointer to minor TreeFormula.
Definition: TTreeIndex.h:40
Long64_t * fIndex
Definition: TTreeIndex.h:37
virtual TTreeFormula * GetMajorFormulaParent(const TTree *parent)
Return a pointer to the TreeFormula corresponding to the majorname in parent tree.
Definition: TTreeIndex.cxx:463
virtual ~TTreeIndex()
Destructor.
Definition: TTreeIndex.cxx:201
virtual Long64_t GetN() const
Definition: TTreeIndex.h:62
Long64_t fN
Definition: TTreeIndex.h:34
virtual Long64_t * GetIndex() const
Definition: TTreeIndex.h:57
const char * GetMinorName() const
Definition: TTreeIndex.h:61
bool ConvertOldToNew()
conversion from old 64bit indexes return true if index was converted
Definition: TTreeIndex.cxx:299
TTreeFormula * fMinorFormula
Pointer to major TreeFormula.
Definition: TTreeIndex.h:39
virtual Bool_t IsValidFor(const TTree *parent)
Return kTRUE if index can be applied to the TTree.
Definition: TTreeIndex.cxx:501
virtual TTreeFormula * GetMajorFormula()
Return a pointer to the TreeFormula corresponding to the majorname.
Definition: TTreeIndex.cxx:439
virtual Long64_t GetEntryNumberWithBestIndex(Long64_t major, Long64_t minor) const
Return entry number corresponding to major and minor number.
Definition: TTreeIndex.cxx:391
virtual void Print(Option_t *option="") const
Print the table with : serial number, majorname, minorname.
Definition: TTreeIndex.cxx:517
virtual TTreeFormula * GetMinorFormulaParent(const TTree *parent)
Return a pointer to the TreeFormula corresponding to the minorname in parent tree.
Definition: TTreeIndex.cxx:482
TString fMinorName
Definition: TTreeIndex.h:33
virtual TTreeFormula * GetMinorFormula()
Return a pointer to the TreeFormula corresponding to the minorname.
Definition: TTreeIndex.cxx:451
TTreeIndex(const TTreeIndex &)=delete
Pointer to minor TreeFormula in Parent tree (if any)
virtual void Append(const TVirtualIndex *, Bool_t delaySort=kFALSE)
Append 'add' to this index.
Definition: TTreeIndex.cxx:218
Long64_t * fIndexValues
Definition: TTreeIndex.h:35
const char * GetMajorName() const
Definition: TTreeIndex.h:60
virtual Long64_t GetEntryNumberWithIndex(Long64_t major, Long64_t minor) const
Return entry number corresponding to major and minor number.
Definition: TTreeIndex.cxx:416
TString fMajorName
Definition: TTreeIndex.h:32
Long64_t * fIndexValuesMinor
Definition: TTreeIndex.h:36
TTreeIndex & operator=(const TTreeIndex &)=delete
TTreeFormula * fMinorFormulaParent
Pointer to major TreeFormula in Parent tree (if any)
Definition: TTreeIndex.h:41
Long64_t FindValues(Long64_t major, Long64_t minor) const
find position where major|minor values are in the IndexValues tables this is the index in IndexValues...
Definition: TTreeIndex.cxx:356
virtual void SetTree(const TTree *T)
this function is called by TChain::LoadTree and TTreePlayer::UpdateFormulaLeaves when a new Tree is l...
Definition: TTreeIndex.cxx:613
virtual Long64_t GetEntryNumberFriend(const TTree *parent)
Returns the entry number in this (friend) Tree corresponding to entry in the master Tree 'parent'.
Definition: TTreeIndex.cxx:321
virtual void UpdateFormulaLeaves(const TTree *parent)
Called by TChain::LoadTree when the parent chain changes it's tree.
Definition: TTreeIndex.cxx:594
A TTree represents a columnar dataset.
Definition: TTree.h:72
Abstract interface for Tree Index.
Definition: TVirtualIndex.h:30
double T(double x)
Definition: ChebyshevPol.h:34