177#include "RConfigure.h"
233 "",
"AXIS",
"HIST",
"SAME",
"CYL",
"POL",
"SPH",
"PSR",
"LEGO",
"LEGO1",
"LEGO2",
234 "SURF",
"SURF1",
"SURF2",
"SURF3",
"SURF4"
238 "",
"AH",
"B",
"C",
"E",
"E1",
"E2",
"E3",
"E4",
"L",
"P",
"*H"
242 "",
"ARR",
"BOX",
"COL",
"COL2",
"CONT",
"CONT0",
"CONT1",
"CONT2",
"CONT3",
243 "FB",
"BB",
"SCAT",
"PROF"
316 fDimension(0), fVarDraw(0), fScanMode(0),
317 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
318 fCounting(0), fStopMapping(0), fEnableCut(0),fNexpressions(0)
323 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
324 TTreeViewer *gTV = 0;\n\
325 TTree *tv__tree = 0;\n\
326 TList *tv__tree_list = 0;\n\
327 TFile *tv__tree_file = 0;\n\
328 #define GTV_DEFINED\n\
331 gROOT->ProcessLine(command);
333 gROOT->ProcessLine(
"tv__tree_list = new TList;");
344 fDimension(0), fVarDraw(0), fScanMode(0),
345 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
346 fCounting(0), fStopMapping(0), fEnableCut(0),fNexpressions(0)
353 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
354 TTreeViewer *gTV = 0;\n\
355 TTree *tv__tree = 0;\n\
356 TList *tv__tree_list = 0;\n\
357 TFile *tv__tree_file = 0;\n\
358 #define GTV_DEFINED\n\
361 gROOT->ProcessLine(command);
364 gROOT->ProcessLine(
"tv__tree_list = new TList;");
370 if (cdir) cdir->
cd();
375 cdir =
tree->GetDirectory();
379 if (dirsav) dirsav->
cd();
390 printf(
"Tree found\n");
393 while ((ftree = (
TTree*)next())) {
394 if (ftree==
tree) {printf(
"found at index %i\n", index);
break;}
433 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
452 if (diff <= 0)
return;
497 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
515 if (!treeName)
return;
519 printf(
"Tree found\n");
523 if (!strcmp(treeName,
tree->GetName())) {printf(
"found at index %i\n", index);
break;}
562 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
586 while ((obj=next())) {
592 std::cout <<
"File name : "<<
fFilename << std::endl;
618 gClient->GetColorByName(
"blue",color);
797 fBarOption->
SetToolTipText(
"Histogram graphics option. Type option here and click <Draw> (or <ENTER> to update current histogram).");
902 fSPIDER->
Connect(
"Clicked()",
"TTreeViewer",
this,
"ExecuteSpider()");
923 fREFR->
Connect(
"Clicked()",
"TTreeViewer",
this,
"DoRefresh()");
1079 entry->
SetToolTipText(
"X expression. Drag and drop expressions here");
1088 entry->
SetToolTipText(
"Y expression. Drag and drop expressions here");
1097 entry->
SetToolTipText(
"Z expression. Drag and drop expressions here");
1103 pic =
gClient->GetPicture(
"cut_t.xpm");
1104 spic =
gClient->GetPicture(
"cut_t.xpm");
1107 entry->
SetToolTipText(
"Active cut. Double-click to enable/disable");
1113 pic =
gClient->GetPicture(
"pack_t.xpm");
1114 spic =
gClient->GetPicture(
"pack-empty_t.xpm");
1117 entry->
SetToolTipText(
"Drag and drop expressions/leaves here. Double-click to scan. Check <Scan> to redirect on file.");
1126 pic =
gClient->GetPicture(
"expression_t.xpm");
1127 spic =
gClient->GetPicture(
"expression_t.xpm");
1130 entry->
SetToolTipText(
"User defined expression/cut. Double-click to edit");
1295 if (!stripped.Contains(
"["))
return name;
1299 while (stripped.Index(
"[", index) !=
kNPOS) {
1300 Int_t start = stripped.Index(
"[", index);
1301 Int_t end = stripped.Index(
"]", index);
1305 return (objstr->
String()).Data();
1308 retstr = stripped.Remove(start+1, end-start-1);
1313 return (objstr->
String()).Data();
1332 Warning(
"Empty",
"No item selected.");
1337 Warning(
"Empty",
"Not expression type.");
1383 Int_t dimension = 0;
1396 if (
Ez() && strlen(
Ez())) {
1403 if ((
Ez() && strlen(
Ez())) && ((
Ex() &&strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1404 if (
Ey() && strlen(
Ey())) {
1411 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1412 if (
Ex () && strlen(
Ex())) {
1421 Warning(
"ExecuteDraw",
"Nothing to draw on X,Y,Z.");
1446 const char *cut =
"";
1459 command =
TString::Format(
"tv__tree->Scan(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1482 if (current == last) {
1486 if (dimension == 3 && strlen(gopt)) {
1487 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1490 std::cout <<
" Graphics option for current histogram changed to " << gopt << std::endl;
1504 if (dimension == 3 && strlen(gopt)) {
1505 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1509 command =
TString::Format(
"tv__tree->Draw(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1526 for (i=0; i<3; i++) {
1527 if (alias[i].Length()) {
1529 alias[current] = alias[i];
1540 for (
Int_t ind=0; ind<3; ind++) axis[ind]->SetTitle(alias[ind].Data());
1551 Int_t dimension = 0;
1556 if (
Ez() && strlen(
Ez())) {
1557 previousexp =
kTRUE;
1564 if ((
Ez() && strlen(
Ez())) && ((
Ex() && strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1565 if (
Ey() && strlen(
Ey())) {
1566 previousexp =
kTRUE;
1573 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1574 if (
Ex() && strlen(
Ex())) {
1575 previousexp =
kTRUE;
1582 for(
Int_t i=0;i<10;++i){
1583 if(
En(i+5) && strlen(
En(i+5))){
1588 }
else varexp =
En(i+5);
1589 previousexp =
kTRUE;
1593 Warning(
"ExecuteSpider",
"Need at least 3 variables");
1613 const char *cut =
"";
1659 if(
e)
return e->ConvertAliases();
1672 Warning(
"EditExpression",
"No item selected.");
1678 Warning(
"EditExpression",
"Not expression type.");
1702 if (!
fTree)
return 0;
1711 if (!
fTree)
return 0;
1748 Warning(
"RemoveItem",
"No item selected.");
1754 Warning(
"RemoveItem",
"Not removable type.");
1969 Warning(
"ProcessMessage",
"Edit expressions first.");
1973 Warning(
"ProcessMessage",
"You have only one expression active.");
1977 Warning(
"ProcessMessage",
"1D drawing options not apply to 2D histograms.");
1986 gROOT->MakeDefCanvas();
2001 std::cout <<
"Use SetTreeName() from context menu and supply a tree name" << std::endl;
2002 std::cout <<
"The context menu is activated by right-clicking the panel from right" << std::endl;
2011 event.fX =
event.fY = 1;
2029 snprintf(command,1024,
"open_session((void*)0x%lx);", (
Long_t)
this);
2111 hd =
new TRootHelpDialog(
this,
"Executing user commands...", 600, 400);
2154 if (trueName.Contains(
"[]")) {
2157 while((leaf=(
TLeaf*)next())) {
2162 char* msg2 =
new char[2000];
2167 char symbol = (char)((*itemType) >> 8);
2168 snprintf(msg2,2000,
"%c expression : %s", symbol, vname);
2172 snprintf(msg2,2000,
"Cut : %s", vname);
2175 snprintf(msg2,2000,
"Box : %s", vname);
2179 snprintf(msg2,2000,
"Expression : %s", vname);
2182 snprintf(msg2,2000,
"Branch : %s", vname);
2184 snprintf(msg2,2000,
"Leaf : %s", vname);
2192 message = message(0,150);
2311 if (strlen(command) > 1999) {
2312 Warning(
"ExecuteCommand",
"Command too long: aborting.");
2315 snprintf(comm,2000,
"%s", command);
2321 gROOT->ProcessLineFast(command);
2323 gROOT->ProcessLine(command);
2414 if (!branches)
return;
2418 for (
id=0;
id<branches->
GetEntries();
id++) {
2422 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
continue;
2430 TIter nextf(
tree->GetTree()->GetListOfFriends() );
2435 for (
id=0;
id<branches->
GetEntries();
id++) {
2439 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
continue;
2458 if (!branch)
return;
2460 if (prefix && strlen(prefix) > 0) {
2462 if (!
name.EndsWith(
"."))
name +=
".";
2470 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
return;
2479 pic =
gClient->GetPicture(
"branch-ob_t.xpm");
2480 spic =
gClient->GetPicture(
"branch-ob_t.xpm");
2483 pic =
gClient->GetPicture(
"branch-cl_t.xpm");
2484 spic =
gClient->GetPicture(
"branch-cl_t.xpm");
2486 pic =
gClient->GetPicture(
"branch_t.xpm");
2487 spic =
gClient->GetPicture(
"branch_t.xpm");
2494 pic =
gClient->GetPicture(
"branch_t.xpm");
2495 spic =
gClient->GetPicture(
"branch_t.xpm");
2501 leaf = (
TLeaf *)leaves->
At(lf);
2506 pic =
gClient->GetPicture(
"leaf_t.xpm");
2507 spic =
gClient->GetPicture(
"leaf_t.xpm");
2512 pic =
gClient->GetPicture(
"leaf_t.xpm");
2513 spic =
gClient->GetPicture(
"leaf_t.xpm");
2535 pic =
gClient->GetPicture(
"branch-ob_t.xpm");
2536 spic =
gClient->GetPicture(
"branch-ob_t.xpm");
2539 pic =
gClient->GetPicture(
"branch-cl_t.xpm");
2540 spic =
gClient->GetPicture(
"branch-cl_t.xpm");
2542 pic =
gClient->GetPicture(
"branch_t.xpm");
2543 spic =
gClient->GetPicture(
"branch_t.xpm");
2548 entry->
SetToolTipText(
"Branch with sub-branches. Can not be dragged");
2554 if (textEntry)
delete textEntry;
2556 pic =
gClient->GetPicture(
"branch_t.xpm");
2557 spic =
gClient->GetPicture(
"branch_t.xpm");
2560 entry->
SetToolTipText(
"Branch with more than one leaf. Can not be dragged");
2569 leaf = (
TLeaf *)leaves->
At(lf);
2574 pic =
gClient->GetPicture(
"leaf_t.xpm");
2575 spic =
gClient->GetPicture(
"leaf_t.xpm");
2578 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2584 pic = (
gClient->GetMimeTypeList())->GetIcon(
"TLeaf",
kFALSE);
2585 if (!pic) pic =
gClient->GetPicture(
"leaf_t.xpm");
2586 spic =
gClient->GetMimeTypeList()->GetIcon(
"TLeaf",
kTRUE);
2587 if (!spic) spic =
gClient->GetPicture(
"leaf_t.xpm");
2590 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2603 for (ind=0; ind<branches->
GetEntries(); ind++) {
2606 MapBranch(branchDaughter,
"", branchItem, listIt);
2638 if (!itemType)
return;
2645 index = (
Int_t)(*itemType >> 8);
2667 static const int buf_size = 2048;
2668 char buf[buf_size], *bp;
2670 int n = vsnprintf(buf, buf_size, fmt, va);
2673 if (
n == -1 ||
n >= buf_size) {
2681 const char *title =
"";
2689 title =
"System Error";
2700 char * msg =
new char[100];
2701 snprintf(msg,100,
"First entry : %lld Last entry : %lld",
2715 Int_t lenfile = strlen(filename);
2719 lenfile = strlen(fname);
2721 fname = (
char*)filename;
2727 out.open(fname, std::ios::out);
2729 fname =
new char[13];
2730 strlcpy(fname,
"treeviewer.C",13);
2731 out.open(fname, std::ios::out);
2734 printf(
"SaveSource cannot open file : %s\n", fname);
2736 if (!lenfile)
delete [] fname;
2742 sname = sname.ReplaceAll(
".C",
"");
2743 out <<
"void open_session(void *p = 0);"<<std::endl<<std::endl;
2744 out <<
"void "<<sname.Data()<<
"() {"<<std::endl;
2745 out <<
"//=========Macro generated by ROOT version"<<
gROOT->GetVersion()<<std::endl;
2746 out <<
"//=========for tree "<<quote<<
fTree->
GetName()<<quote<<
" ("<<t.
AsString()<<
")"<<std::endl;
2747 out <<
"//===This macro can be opened from a TreeViewer session after loading"<<std::endl;
2748 out <<
"//===the corresponding tree, or by running root with the macro name argument"<<std::endl<<std::endl;
2749 out <<
" open_session();"<<std::endl;
2750 out <<
"}"<<std::endl<<std::endl;
2751 out <<
"void open_session(void *p = 0) {"<<std::endl;
2752 out <<
" gSystem->Load("<<quote<<
"libTreeViewer"<<quote<<
");"<<std::endl;
2753 out <<
" TTreeViewer *treeview = (TTreeViewer *) p;"<<std::endl;
2754 out <<
" if (!treeview) treeview = new TTreeViewer();"<<std::endl;
2755 out <<
" TTree *tv_tree = (TTree*)gROOT->FindObject("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2756 out <<
" TFile *tv_file = (TFile*)gROOT->GetListOfFiles()->FindObject("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2757 out <<
" if (!tv_tree) {"<<std::endl;
2758 out <<
" if (!tv_file) tv_file = new TFile("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2759 out <<
" if (tv_file) tv_tree = (TTree*)tv_file->Get("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2760 out <<
" if(!tv_tree) {"<<std::endl;
2761 out <<
" printf(\"Tree %s not found\", "<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2762 out <<
" return;"<<std::endl;
2763 out <<
" }"<<std::endl;
2764 out <<
" }"<<std::endl<<std::endl;
2765 out <<
" treeview->SetTreeName("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2766 out <<
" treeview->SetNexpressions("<<
fNexpressions<<
");"<<std::endl;
2769 out <<
"// Set expressions on axis and cut"<<std::endl;
2770 out <<
" TTVLVEntry *item;"<<std::endl;
2771 for (
Int_t i=0; i<4; i++) {
2774 out <<
"// X expression"<<std::endl;
2777 out <<
"// Y expression"<<std::endl;
2780 out <<
"// Z expression"<<std::endl;
2783 out <<
"// Cut expression"<<std::endl;
2789 out <<
" item = treeview->ExpressionItem("<<i<<
");"<<std::endl;
2790 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2791 <<
", "<<quote<<item->
GetAlias()<<quote<<
");"<<std::endl;
2793 out <<
"// Scan list"<<std::endl;
2795 out <<
" item = treeview->ExpressionItem(4);"<<std::endl;
2796 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2797 <<
", "<<quote<<
"Scan box"<<quote<<
");"<<std::endl;
2798 out <<
"// User defined expressions"<<std::endl;
2805 itemType =
"kFALSE";
2806 out <<
" item = treeview->ExpressionItem("<<crt<<
");"<<std::endl;
2807 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2808 <<
", "<<quote<<item->
GetAlias()<<quote<<
", "<<itemType.
Data()<<
");"<<std::endl;
2811 out <<
"}"<<std::endl;
2813 printf(
"C++ Macro file: %s has been generated\n", fname);
2814 if (!lenfile)
delete [] fname;
2824 Warning(
"SwitchTree",
"No tree found.");
2828 std::string command;
2830 command =
"tv__tree = (TTree *) tv__tree_list->At";
2831 command +=
Form(
"(%i)",index);
2838 command =
"Current Tree : ";
R__EXTERN const char gTVHelpLayout[]
R__EXTERN const char gTVHelpStart[]
R__EXTERN const char gTVHelpDrawing[]
R__EXTERN const char gTVHelpOpenSave[]
R__EXTERN const char gTVHelpMacros[]
R__EXTERN const char gTVHelpEditExpressions[]
R__EXTERN const char gTVHelpAbout[]
R__EXTERN const char gTVHelpDraggingItems[]
R__EXTERN const char gTVHelpUserCommands[]
R__EXTERN const char gTVHelpSession[]
R__EXTERN const char gTVHelpContext[]
R__EXTERN const char gHelpAbout[]
R__EXTERN TApplication * gApplication
const Int_t kDoNotProcess
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
static const char * gOpt2D[14]
static const char * gOptgen[16]
static const char * gOpenTypes[]
static const char * gOpt1D[12]
static const char * gMacroTypes[]
virtual void Terminate(Int_t status=0)
Terminate the application by call TSystem::Exit() unless application has been told to return from Run...
Class to manage histogram axis.
A TTree is a list of TBranches.
TObjArray * GetListOfBranches()
TObjArray * GetListOfLeaves()
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
const char * AsString() const
Return the date & time as a string (ctime() format).
Describe directory structure in memory.
virtual TFile * GetFile() const
virtual Bool_t cd(const char *path=nullptr)
Change current directory to "this" directory.
A TEventList object is a list of selected events (entries) in a TTree.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
A TFriendElement TF describes a TTree object TF in a file.
virtual TTree * GetTree()
Return pointer to friend TTree.
virtual void SetContainer(TGFrame *f)
TGViewPort * GetViewPort() const
const TGWindow * GetRoot() const
Returns current root (i.e.
const TGPicture * GetPicture(const char *name)
Get picture from the picture pool.
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
virtual void AddEntry(TGString *s, Int_t id)
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
TGCompositeFrame(const TGCompositeFrame &)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
virtual UInt_t GetDefaultWidth() const
virtual void Layout()
Layout the elements of the composite frame.
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
virtual UInt_t GetDefaultHeight() const
virtual void Associate(const TGWindow *w)
virtual void RemoveItem(TGFrame *item)
Remove item from container.
virtual const TGFrame * GetNextSelected(void **current)
Return the next selected item.
virtual Int_t NumSelected() const
virtual void RemoveAll()
Remove all items from the container.
virtual Float_t GetMaxPosition() const
virtual Float_t GetMinPosition() const
virtual void SetRange(Float_t min, Float_t max)
virtual void SetPosition(Float_t min, Float_t max)
void SetIniDir(const char *inidir)
Set directory name.
static Pixel_t GetWhitePixel()
Get white pixel value.
virtual UInt_t GetDefaultHeight() const
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
virtual void DeleteWindow()
Delete window.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
virtual void SetWidth(UInt_t w)
virtual void MapWindow()
map window
virtual void SetHeight(UInt_t h)
void ShowPosition(Bool_t set=kTRUE, Bool_t percent=kTRUE, const char *format="%.2f")
Show postion text, either in percent or formatted according format.
void * GetUserData() const
void SetUserData(void *userData)
virtual void SetText(TGString *newText)
Set new text in label.
virtual const char * GetText() const =0
TGListTreeItem * GetParent() const
virtual void * GetUserData() const =0
void ClearHighlighted()
Un highlight items.
void AddItem(TGListTreeItem *parent, TGListTreeItem *item)
Add given item to list tree.
void OpenItem(TGListTreeItem *item)
Open item in list tree (i.e. show child items).
TGListTreeItem * GetSelected() const
TGListTreeItem * FindChildByName(TGListTreeItem *item, const char *name)
Find child of item by name.
void HighlightItem(TGListTreeItem *item)
Highlight item.
virtual void Layout()
Layout list view components (container and contents of container).
virtual void SetViewMode(EListViewMode viewMode)
Set list view mode.
virtual void SetContainer(TGFrame *f)
Set list view container.
virtual void SendCloseMessage()
Send close message to self.
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
void SetPosition(Float_t pos)
Set progress position between [min,max].
void SetFillType(EFillType type)
Set fill type.
virtual void SetBarColor(Pixel_t color)
Set progress bar color.
This class represent a specialized expression editor for TTVLVEntry 'true name' and 'alias' data memb...
TTVLVEntry * EditedEntry()
void InsertText(const char *text)
Insert text in text entry.
void GrabPointer()
Just focus the cursor inside.
void SetLabel(const char *title)
Set label of selection box.
void SetEntry(TTVLVEntry *entry)
Connect one entry.
static TGSelectBox * GetInstance()
Return the pointer to the instantiated singleton.
void Draw3DCorner(Bool_t corner)
virtual void SetText(TGString *text, Int_t partidx=0)
Set text in partition partidx in status bar.
const char * GetString() const
virtual void SetDefaultSize(UInt_t w, UInt_t h)
Set the default / minimal size of the widget.
const char * GetText() const
virtual void SetCursorPosition(Int_t pos)
Set the cursor position to newPos.
virtual void AppendText(const char *text)
Appends text to the end of text entry, clears the selection and moves the cursor to the end of the li...
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
void Clear(Option_t *option="")
Clears up the text entry.
virtual Bool_t HandleButton(Event_t *event)
Handle mouse button event in text entry widget.
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
virtual void Draw(Option_t *option="")
Draw this histogram with options.
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
virtual void Add(TObject *obj)
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
Each ROOT class (see TClass) has a linked list of methods.
virtual const char * GetName() const
Returns name of object.
Int_t GetEntries() const
Return the number of objects in array (i.e.
TObject * UncheckedAt(Int_t i) const
TObject * At(Int_t idx) const
Collectable string class.
Mother of all ROOT objects.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual void DoError(int level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler (protected).
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
The most important graphics class in the ROOT system.
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
static const TString & GetBinDir()
Get the binary directory in the installation. Static utility function.
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
Sequenceable collection abstract base class.
virtual void Draw(Option_t *options="")
Draw the spider.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
const char * Data() const
TString & Remove(Ssiz_t pos)
TString & Append(const char *cs)
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
virtual Int_t Exec(const char *shellcmd)
Execute a command.
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
virtual const char * GetError()
Return system error string.
This class represent the list view container for the.
void SelectItem(const char *name)
Select an item.
void SetViewer(TTreeViewer *viewer)
TList * ExpressionList()
Return the list of user-defined expressions.
const char * Cut()
Return the cut entry.
const char * Ez()
Return the expression on Z.
const char * Ey()
Return the expression on Y.
const char * ScanList()
Return the cut entry.
virtual void AddThisItem(TTVLVEntry *item)
TTVLVEntry * ExpressionItem(Int_t index)
Return the expression item at specific position.
void SetListView(TGListView *lv)
const char * Ex()
Return the expression on X.
void EmptyAll()
Clear all names and aliases for expression type items.
void RemoveNonStatic()
Remove all non-static items from the list view, except expressions.
This class represent entries that goes into the TreeViewer listview container.
TGItemContext * GetContext()
void SetSmallPic(const TGPicture *spic)
Set small picture.
void SetAlias(const char *alias)
void SetToolTipText(const char *text, Long_t delayms=1000)
Set tool tip text associated with this item.
void SetTrueName(const char *name)
const char * ConvertAliases()
Convert all aliases into true names.
void Empty()
Clear all names and alias.
const char * GetTrueName()
I/O classes for TreeViewer session handling.
void SetUserCode(const char *code, Bool_t autoexec=kTRUE)
virtual const char * GetName() const
Returns name of object.
I/O classes for TreeViewer session handling.
void SaveSource(std::ofstream &out)
Save the TTVSession in a C++ macro file.
TTVRecord * GetRecord(Int_t i)
Return record at index i.
void SetRecordName(const char *name)
Set record name.
void Show(TTVRecord *rec)
Display record rec.
void RemoveLastRecord()
Remove current record from list.
TTVRecord * AddRecord(Bool_t fromFile=kFALSE)
Add a record.
void UpdateRecord(const char *name)
Updates current record according to new X, Y, Z settings.
Handles synchronous and a-synchronous timer events.
virtual void TurnOff()
Remove timer from system timer list.
virtual void TurnOn()
Add the timer to the system timer list.
void Reset()
Reset the timer.
Implement some of the functionality of the class TTree requiring access to extra libraries (Histogram...
A graphic user interface designed to handle ROOT trees and to take advantage of TTree class features.
void SetUserCode(const char *code, Bool_t autoexec=kTRUE)
void SetCurrentRecord(Long64_t entry)
TGHProgressBar * fProgressBar
void SetHistogramTitle(const char *title)
TTreeViewer(const char *treeName=0)
TTreeViewer default constructor.
Bool_t HandleTimer(TTimer *timer)
Execute action in response of a timer timing out.
void UpdateRecord(const char *name="new name")
TGTextEntry * fBarCommand
void SetNexpressions(Int_t expr)
TGPictureButton * fBGFirst
void MapOptions(Long_t parm1)
Bool_t IsScanRedirected()
virtual void CloseWindow()
Close and delete main frame.
void SaveSource(const char *filename="", Option_t *option="")
Save the GUI main frame widget in a C++ macro file.
void SetSession(TTVSession *session)
void SetParentTree(TGListTreeItem *item)
const char * EmptyBrackets(const char *name)
TTVLVEntry * ExpressionItem(Int_t index)
void AppendTree(TTree *tree)
void SetScanRedirect(Bool_t mode)
Long64_t Process(const char *filename, Option_t *option="", Long64_t nentries=TTree::kMaxEntries, Long64_t firstentry=0)
Bool_t SwitchTree(Int_t index)
const TGPicture * fPicRefr
void SetRecordName(const char *name)
TGLayoutHints * fBarLayout
TContextMenu * fContextMenu
TGPictureButton * fBGNext
void SetTreeName(const char *treeName)
TGLayoutHints * fMenuBarItemLayout
void Message(const char *msg)
void ExecuteCommand(const char *command, Bool_t fast=kFALSE)
TGCompositeFrame * fTreeHdr
Int_t MakeSelector(const char *selector=0)
void SetTree(TTree *tree)
TGDoubleVSlider * fSlider
const TGPicture * fPicDraw
TGPictureButton * fBGLast
const TGPicture * fPicStop
void ActivateButtons(Bool_t first, Bool_t previous, Bool_t next, Bool_t last)
void MapTree(TTree *tree, TGListTreeItem *parent=0, Bool_t listIt=kTRUE)
TGPopupMenu * fOptionsMenu
TGLayoutHints * fMenuBarHelpLayout
TGPictureButton * fBGPrevious
TTVLVContainer * fLVContainer
void SetGrOpt(const char *option)
TGPopupMenu * fOptionsGen
TGLayoutHints * fMenuBarLayout
TGHorizontalFrame * fBFrame
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
TGCompositeFrame * fListHdr
TGTextEntry * fBarListOut
TGPictureButton * fBGRecord
void MapBranch(TBranch *branch, const char *prefix="", TGListTreeItem *parent=0, Bool_t listIt=kTRUE)
void SetScanFileName(const char *name="")
void DoError(int level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler (protected).
A TTree represents a columnar dataset.
virtual void SetTimerInterval(Int_t msec=333)
virtual TBranch * GetBranch(const char *name)
Return pointer to the branch with the given name in this tree or its friends.
virtual TObjArray * GetListOfLeaves()
TVirtualTreePlayer * GetPlayer()
Load the TTreePlayer (if not already done).
virtual Long64_t Process(const char *filename, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
Process this tree executing the TSelector code in the specified filename.
virtual void SetEventList(TEventList *list)
This function transfroms the given TEventList into a TEntryList The new TEntryList is owned by the TT...
virtual Long64_t GetEntries() const
virtual Long64_t GetReadEntry() const
virtual TObjArray * GetListOfBranches()
virtual Int_t MakeSelector(const char *selector=0, Option_t *option="")
Generate skeleton selector class for this tree.
virtual void Refresh()
Refresh contents of this tree and its branches from the current status on disk.
UInt_t GetListOfMethods(TList &methods, TDirectory *dir=0)