12 #ifndef ROOT_TTreeIndex
13 #define ROOT_TTreeIndex
29 class TTreeIndex :
public TVirtualIndex {
35 Long64_t *fIndexValues;
36 Long64_t *fIndexValuesMinor;
38 TTreeFormula *fMajorFormula;
39 TTreeFormula *fMinorFormula;
40 TTreeFormula *fMajorFormulaParent;
41 TTreeFormula *fMinorFormulaParent;
44 TTreeIndex(
const TTreeIndex&) =
delete;
45 TTreeIndex &operator=(
const TTreeIndex&) =
delete;
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;}
63 virtual TTreeFormula *GetMajorFormula();
64 virtual TTreeFormula *GetMinorFormula();
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);
72 ClassDef(TTreeIndex,2);