47 fNEntries(
nentries), fFirstEntry(firstentry), fManager(nullptr), fSelect(nullptr), fSelector(nullptr), fInput(nullptr),
48 fForceDim(false), fEntries(nullptr), fNRows(0), fNColumns(0)
50 if (
fTree ==
nullptr) {
51 Error(
"TTreeTableInterface",
"No tree supplied");
67 Info(
"TTreeTableInterface",
"nentries was 0, setting to maximum number"
68 " available in the tree");
76 Warning (
"TTreeTableInterface::TTreeTableInterface",
"nrows = 0");
79 Warning (
"TTreeTableInterface::TTreeTableInterface",
"ncolumns = 0");
107 if (!strcmp(varexp,
"*")) { allvar =
true; }
117 Error(
"TTreeTableInterface",
"No leaves in Tree");
127 std::vector<TString> cnames;
148 if (selection && strlen(selection)) {
212 while (entriesToDisplay != 0){
216 if (localEntry < 0)
break;
243 for (
Int_t inst = 0; inst < ndata; inst++){
252 entrylist->
Enter(entry);
270 if (row == prow + 1) {
278 Error(
"TTreeTableInterface",
"Row requested does not exist");
286 Warning(
"TTreeTableInterface::GetValue",
"Value requested is a "
287 "string, returning 0.");
291 Error(
"TTreeTableInterface",
"Column requested does not exist");
306 if (row == prow + 1) {
314 Error(
"TTreeTableInterface",
"Row requested does not exist");
325 Error(
"TTreeTableInterface",
"Column requested does not exist");
338 Error(
"TTreeTableInterface",
"Row requested does not exist");
352 Error(
"TTreeTableInterface",
"Column requested does not exist");
383 Error(
"TTreeTableInterface::AddColumn",
"Only 1 expression allowed.");
405 Error(
"TTreeTableInterface::AddColumn",
"Please specify a "
424 Error(
"TTreeTableInterface::RemoveColumn",
"Please specify a "
428 Error(
"TTreeTableInterface::RemoveColumn",
"Can't remove last column");
438 if (formula)
delete formula;
448 Error(
"TTreeTableInterface::SetFormula",
"Please specify a "
456 if (form)
delete form;
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
A List of entry numbers in a TTree or TChain.
virtual bool Enter(Long64_t entry, TTree *tree=nullptr)
Add entry #entry to the list.
virtual Long64_t Next()
Return the next non-zero entry index (next after fLastIndexQueried) this function is faster than GetE...
virtual Long64_t GetEntry(Long64_t index)
Return the number of the entry #index of this TEntryList in the TTree or TChain See also Next().
virtual Long64_t GetN() const
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
void AddAt(TObject *obj, Int_t idx) override
Insert object at position idx in the list.
void Add(TObject *obj) override
TObject * Remove(TObject *obj) override
Remove object from the list.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Int_t GetEntries() const override
Return the number of objects in array (i.e.
TObject * At(Int_t idx) const override
A specialized TSelector for TTree::Draw.
virtual UInt_t SplitNames(const TString &varexp, std::vector< TString > &names)
Build Index array for names in varexp.
virtual void SetInputList(TList *input)
virtual TObject * RemoveAt(Int_t idx)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
TTreeTableInterface is used to interface to data that is stored in a TTree.
const char * GetRowHeader(UInt_t row) override
Return a string to use as a label for rowheader at column.
~TTreeTableInterface() override
TTreeTableInterface destructor.
Long64_t fFirstEntry
First entry.
Long64_t fEntry
Present entry number in fTree.
const char * GetColumnHeader(UInt_t column) override
Return a string to use as a label for columnheader at column.
UInt_t GetNColumns() override
Return the amount of column available.
UInt_t fNRows
Amount of rows in the data.
virtual void SetFormula(TTreeFormula *formula, UInt_t position)
Set the TTreeFormula of position to formula.
const char * GetValueAsString(UInt_t row, UInt_t column) override
Return the content of row,column as string to use in a TGTableCell label.
void SyncFormulas()
Sync the formulas using the TTreeFormulaManager.
UInt_t fNColumns
Amount of columns in the data.
virtual void RemoveColumn(UInt_t position)
Remove column at position, TGTable->Update() is needed afterwards to apply the change to the TGTable.
UInt_t GetNRows() override
Return the amount of rows in the Tree.
TTreeFormula * fSelect
Selection condition.
TTreeFormulaManager * fManager
Coordinator for the formulas.
Double_t GetValue(UInt_t row, UInt_t column) override
Return the value of row,column.
virtual void SetEntryList(TEntryList *entrylist=nullptr)
Set the currently active entrylist.
void InitEntries()
Initialise the TEntryList with the entries that match the selection criterium.
TTree * fTree
Data in a TTree.
virtual void SetSelection(const char *selection)
Set the selection expression.
virtual void AddColumn(const char *expression, UInt_t position)
Add column according ot expression at position, TGTable->Update() is needed afterwards to apply the c...
TList * fFormulas
Array of TTreeFormulas to display values.
Long64_t fNEntries
Number of entries in the tree.
bool fForceDim
Force dimension.
void SetVariablesExpression(const char *varexp)
Compile the variables expression from the given varexp.
TEntryList * fEntries
Currently active entries.
TTreeTableInterface(TTree *tree=nullptr, const char *varexp=nullptr, const char *selection=nullptr, Option_t *option=nullptr, Long64_t nentries=0, Long64_t firstentry=0)
TTreeTableInterface constructor.
TSelectorDraw * fSelector
Selector.
TList * fInput
Used for fSelector.
A TTree represents a columnar dataset.
virtual TObjArray * GetListOfLeaves()
virtual Long64_t GetEntries() const
virtual void SetEntryList(TEntryList *list, Option_t *opt="")
Set an EntryList.
virtual Long64_t LoadTree(Long64_t entry)
Set current entry.
virtual Int_t GetTreeNumber() const