177#include "RConfigure.h"
234 "",
"AXIS",
"HIST",
"SAME",
"CYL",
"POL",
"SPH",
"PSR",
"LEGO",
"LEGO1",
"LEGO2",
235 "SURF",
"SURF1",
"SURF2",
"SURF3",
"SURF4"
239 "",
"AH",
"B",
"C",
"E",
"E1",
"E2",
"E3",
"E4",
"L",
"P",
"*H"
243 "",
"ARR",
"BOX",
"COL",
"COL2",
"CONT",
"CONT0",
"CONT1",
"CONT2",
"CONT3",
244 "FB",
"BB",
"SCAT",
"PROF"
317 fDimension(0), fVarDraw(0), fScanMode(0),
318 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
319 fCounting(0), fStopMapping(0), fEnableCut(0),fNexpressions(0)
324 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
325 TTreeViewer *gTV = 0;\n\
326 TTree *tv__tree = 0;\n\
327 TList *tv__tree_list = 0;\n\
328 TFile *tv__tree_file = 0;\n\
329 #define GTV_DEFINED\n\
332 gROOT->ProcessLine(command);
334 gROOT->ProcessLine(
"tv__tree_list = new TList;");
345 fDimension(0), fVarDraw(0), fScanMode(0),
346 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
347 fCounting(0), fStopMapping(0), fEnableCut(0),fNexpressions(0)
354 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
355 TTreeViewer *gTV = 0;\n\
356 TTree *tv__tree = 0;\n\
357 TList *tv__tree_list = 0;\n\
358 TFile *tv__tree_file = 0;\n\
359 #define GTV_DEFINED\n\
362 gROOT->ProcessLine(command);
365 gROOT->ProcessLine(
"tv__tree_list = new TList;");
371 if (cdir) cdir->
cd();
376 cdir =
tree->GetDirectory();
380 if (dirsav) dirsav->
cd();
391 printf(
"Tree found\n");
394 while ((ftree = (
TTree*)next())) {
395 if (ftree==
tree) {printf(
"found at index %i\n", index);
break;}
434 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
453 if (diff <= 0)
return;
498 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
516 if (!treeName)
return;
520 printf(
"Tree found\n");
524 if (!strcmp(treeName,
tree->GetName())) {printf(
"found at index %i\n", index);
break;}
563 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
587 while ((obj=next())) {
593 std::cout <<
"File name : "<<
fFilename << std::endl;
619 gClient->GetColorByName(
"blue",color);
798 fBarOption->
SetToolTipText(
"Histogram graphics option. Type option here and click <Draw> (or <ENTER> to update current histogram).");
903 fSPIDER->
Connect(
"Clicked()",
"TTreeViewer",
this,
"ExecuteSpider()");
924 fREFR->
Connect(
"Clicked()",
"TTreeViewer",
this,
"DoRefresh()");
1080 entry->
SetToolTipText(
"X expression. Drag and drop expressions here");
1089 entry->
SetToolTipText(
"Y expression. Drag and drop expressions here");
1098 entry->
SetToolTipText(
"Z expression. Drag and drop expressions here");
1104 pic =
gClient->GetPicture(
"cut_t.xpm");
1105 spic =
gClient->GetPicture(
"cut_t.xpm");
1108 entry->
SetToolTipText(
"Active cut. Double-click to enable/disable");
1114 pic =
gClient->GetPicture(
"pack_t.xpm");
1115 spic =
gClient->GetPicture(
"pack-empty_t.xpm");
1118 entry->
SetToolTipText(
"Drag and drop expressions/leaves here. Double-click to scan. Check <Scan> to redirect on file.");
1127 pic =
gClient->GetPicture(
"expression_t.xpm");
1128 spic =
gClient->GetPicture(
"expression_t.xpm");
1131 entry->
SetToolTipText(
"User defined expression/cut. Double-click to edit");
1296 if (!stripped.Contains(
"["))
return name;
1300 while (stripped.Index(
"[", index) !=
kNPOS) {
1301 Int_t start = stripped.Index(
"[", index);
1302 Int_t end = stripped.Index(
"]", index);
1306 return (objstr->
String()).Data();
1309 retstr = stripped.Remove(start+1, end-start-1);
1314 return (objstr->
String()).Data();
1333 Warning(
"Empty",
"No item selected.");
1338 Warning(
"Empty",
"Not expression type.");
1384 Int_t dimension = 0;
1394 if (alias[0].BeginsWith(
"~")) alias[0].
Remove(0, 1);
1397 if (
Ez() && strlen(
Ez())) {
1402 if (alias[2].BeginsWith(
"~")) alias[2].
Remove(0, 1);
1404 if ((
Ez() && strlen(
Ez())) && ((
Ex() &&strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1405 if (
Ey() && strlen(
Ey())) {
1410 if (alias[1].BeginsWith(
"~")) alias[1].
Remove(0, 1);
1412 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1413 if (
Ex () && strlen(
Ex())) {
1418 if (alias[0].BeginsWith(
"~")) alias[0].
Remove(0, 1);
1422 Warning(
"ExecuteDraw",
"Nothing to draw on X,Y,Z.");
1447 const char *cut =
"";
1460 command =
TString::Format(
"tv__tree->Scan(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1483 if (current == last) {
1487 if (dimension == 3 && strlen(gopt)) {
1488 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1491 std::cout <<
" Graphics option for current histogram changed to " << gopt << std::endl;
1505 if (dimension == 3 && strlen(gopt)) {
1506 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1510 command =
TString::Format(
"tv__tree->Draw(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1527 for (i=0; i<3; i++) {
1528 if (alias[i].Length()) {
1530 alias[current] = alias[i];
1541 for (
Int_t ind=0; ind<3; ind++) axis[ind]->SetTitle(alias[ind].Data());
1552 Int_t dimension = 0;
1557 if (
Ez() && strlen(
Ez())) {
1558 previousexp =
kTRUE;
1563 if (alias[2].BeginsWith(
"~")) alias[2].
Remove(0, 1);
1565 if ((
Ez() && strlen(
Ez())) && ((
Ex() && strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1566 if (
Ey() && strlen(
Ey())) {
1567 previousexp =
kTRUE;
1572 if (alias[1].BeginsWith(
"~")) alias[1].
Remove(0, 1);
1574 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1575 if (
Ex() && strlen(
Ex())) {
1576 previousexp =
kTRUE;
1581 if (alias[0].BeginsWith(
"~")) alias[0].
Remove(0, 1);
1583 for(
Int_t i=0;i<10;++i){
1584 if(
En(i+5) && strlen(
En(i+5))){
1589 }
else varexp =
En(i+5);
1590 previousexp =
kTRUE;
1594 Warning(
"ExecuteSpider",
"Need at least 3 variables");
1614 const char *cut =
"";
1660 if(
e)
return e->ConvertAliases();
1673 Warning(
"EditExpression",
"No item selected.");
1679 Warning(
"EditExpression",
"Not expression type.");
1703 if (!
fTree)
return 0;
1712 if (!
fTree)
return 0;
1749 Warning(
"RemoveItem",
"No item selected.");
1755 Warning(
"RemoveItem",
"Not removable type.");
1970 Warning(
"ProcessMessage",
"Edit expressions first.");
1974 Warning(
"ProcessMessage",
"You have only one expression active.");
1978 Warning(
"ProcessMessage",
"1D drawing options not apply to 2D histograms.");
1987 gROOT->MakeDefCanvas();
2002 std::cout <<
"Use SetTreeName() from context menu and supply a tree name" << std::endl;
2003 std::cout <<
"The context menu is activated by right-clicking the panel from right" << std::endl;
2012 event.fX =
event.fY = 1;
2030 snprintf(command,1024,
"open_session((void*)0x%lx);", (
Long_t)
this);
2112 hd =
new TRootHelpDialog(
this,
"Executing user commands...", 600, 400);
2155 if (trueName.Contains(
"[]")) {
2158 while((leaf=(
TLeaf*)next())) {
2163 char* msg2 =
new char[2000];
2168 char symbol = (char)((*itemType) >> 8);
2169 snprintf(msg2,2000,
"%c expression : %s", symbol, vname);
2173 snprintf(msg2,2000,
"Cut : %s", vname);
2176 snprintf(msg2,2000,
"Box : %s", vname);
2180 snprintf(msg2,2000,
"Expression : %s", vname);
2183 snprintf(msg2,2000,
"Branch : %s", vname);
2185 snprintf(msg2,2000,
"Leaf : %s", vname);
2193 message = message(0,150);
2312 if (strlen(command) > 1999) {
2313 Warning(
"ExecuteCommand",
"Command too long: aborting.");
2316 snprintf(comm,2000,
"%s", command);
2322 gROOT->ProcessLineFast(command);
2324 gROOT->ProcessLine(command);
2415 if (!branches)
return;
2419 for (
id=0;
id<branches->
GetEntries();
id++) {
2423 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
continue;
2431 TIter nextf(
tree->GetTree()->GetListOfFriends() );
2436 for (
id=0;
id<branches->
GetEntries();
id++) {
2440 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
continue;
2459 if (!branch)
return;
2461 if (prefix && strlen(prefix) > 0) {
2463 if (!
name.EndsWith(
"."))
name +=
".";
2471 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
return;
2480 pic =
gClient->GetPicture(
"branch-ob_t.xpm");
2481 spic =
gClient->GetPicture(
"branch-ob_t.xpm");
2484 pic =
gClient->GetPicture(
"branch-cl_t.xpm");
2485 spic =
gClient->GetPicture(
"branch-cl_t.xpm");
2487 pic =
gClient->GetPicture(
"branch_t.xpm");
2488 spic =
gClient->GetPicture(
"branch_t.xpm");
2495 pic =
gClient->GetPicture(
"branch_t.xpm");
2496 spic =
gClient->GetPicture(
"branch_t.xpm");
2502 leaf = (
TLeaf *)leaves->
At(lf);
2507 pic =
gClient->GetPicture(
"leaf_t.xpm");
2508 spic =
gClient->GetPicture(
"leaf_t.xpm");
2513 pic =
gClient->GetPicture(
"leaf_t.xpm");
2514 spic =
gClient->GetPicture(
"leaf_t.xpm");
2536 pic =
gClient->GetPicture(
"branch-ob_t.xpm");
2537 spic =
gClient->GetPicture(
"branch-ob_t.xpm");
2540 pic =
gClient->GetPicture(
"branch-cl_t.xpm");
2541 spic =
gClient->GetPicture(
"branch-cl_t.xpm");
2543 pic =
gClient->GetPicture(
"branch_t.xpm");
2544 spic =
gClient->GetPicture(
"branch_t.xpm");
2549 entry->
SetToolTipText(
"Branch with sub-branches. Can not be dragged");
2555 if (textEntry)
delete textEntry;
2557 pic =
gClient->GetPicture(
"branch_t.xpm");
2558 spic =
gClient->GetPicture(
"branch_t.xpm");
2561 entry->
SetToolTipText(
"Branch with more than one leaf. Can not be dragged");
2570 leaf = (
TLeaf *)leaves->
At(lf);
2575 pic =
gClient->GetPicture(
"leaf_t.xpm");
2576 spic =
gClient->GetPicture(
"leaf_t.xpm");
2579 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2585 pic = (
gClient->GetMimeTypeList())->GetIcon(
"TLeaf",
kFALSE);
2586 if (!pic) pic =
gClient->GetPicture(
"leaf_t.xpm");
2587 spic =
gClient->GetMimeTypeList()->GetIcon(
"TLeaf",
kTRUE);
2588 if (!spic) spic =
gClient->GetPicture(
"leaf_t.xpm");
2591 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2604 for (ind=0; ind<branches->
GetEntries(); ind++) {
2607 MapBranch(branchDaughter,
"", branchItem, listIt);
2639 if (!itemType)
return;
2646 index = (
Int_t)(*itemType >> 8);
2668 static const int buf_size = 2048;
2669 char buf[buf_size], *bp;
2671 int n = vsnprintf(buf, buf_size, fmt, va);
2674 if (
n == -1 ||
n >= buf_size) {
2682 const char *title =
"";
2690 title =
"System Error";
2701 char * msg =
new char[100];
2702 snprintf(msg,100,
"First entry : %lld Last entry : %lld",
2716 Int_t lenfile = strlen(filename);
2720 lenfile = strlen(fname);
2722 fname = (
char*)filename;
2728 out.open(fname, std::ios::out);
2730 fname =
new char[13];
2731 strlcpy(fname,
"treeviewer.C",13);
2732 out.open(fname, std::ios::out);
2735 printf(
"SaveSource cannot open file : %s\n", fname);
2737 if (!lenfile)
delete [] fname;
2743 sname = sname.ReplaceAll(
".C",
"");
2744 out <<
"void open_session(void *p = 0);"<<std::endl<<std::endl;
2745 out <<
"void "<<sname.Data()<<
"() {"<<std::endl;
2746 out <<
"//=========Macro generated by ROOT version"<<
gROOT->GetVersion()<<std::endl;
2747 out <<
"//=========for tree "<<quote<<
fTree->
GetName()<<quote<<
" ("<<t.
AsString()<<
")"<<std::endl;
2748 out <<
"//===This macro can be opened from a TreeViewer session after loading"<<std::endl;
2749 out <<
"//===the corresponding tree, or by running root with the macro name argument"<<std::endl<<std::endl;
2750 out <<
" open_session();"<<std::endl;
2751 out <<
"}"<<std::endl<<std::endl;
2752 out <<
"void open_session(void *p = 0) {"<<std::endl;
2753 out <<
" gSystem->Load("<<quote<<
"libTreeViewer"<<quote<<
");"<<std::endl;
2754 out <<
" TTreeViewer *treeview = (TTreeViewer *) p;"<<std::endl;
2755 out <<
" if (!treeview) treeview = new TTreeViewer();"<<std::endl;
2756 out <<
" TTree *tv_tree = (TTree*)gROOT->FindObject("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2757 out <<
" TFile *tv_file = (TFile*)gROOT->GetListOfFiles()->FindObject("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2758 out <<
" if (!tv_tree) {"<<std::endl;
2759 out <<
" if (!tv_file) tv_file = new TFile("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2760 out <<
" if (tv_file) tv_tree = (TTree*)tv_file->Get("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2761 out <<
" if(!tv_tree) {"<<std::endl;
2762 out <<
" printf(\"Tree %s not found\", "<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2763 out <<
" return;"<<std::endl;
2764 out <<
" }"<<std::endl;
2765 out <<
" }"<<std::endl<<std::endl;
2766 out <<
" treeview->SetTreeName("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2767 out <<
" treeview->SetNexpressions("<<
fNexpressions<<
");"<<std::endl;
2770 out <<
"// Set expressions on axis and cut"<<std::endl;
2771 out <<
" TTVLVEntry *item;"<<std::endl;
2772 for (
Int_t i=0; i<4; i++) {
2775 out <<
"// X expression"<<std::endl;
2778 out <<
"// Y expression"<<std::endl;
2781 out <<
"// Z expression"<<std::endl;
2784 out <<
"// Cut expression"<<std::endl;
2790 out <<
" item = treeview->ExpressionItem("<<i<<
");"<<std::endl;
2791 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2792 <<
", "<<quote<<item->
GetAlias()<<quote<<
");"<<std::endl;
2794 out <<
"// Scan list"<<std::endl;
2796 out <<
" item = treeview->ExpressionItem(4);"<<std::endl;
2797 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2798 <<
", "<<quote<<
"Scan box"<<quote<<
");"<<std::endl;
2799 out <<
"// User defined expressions"<<std::endl;
2806 itemType =
"kFALSE";
2807 out <<
" item = treeview->ExpressionItem("<<crt<<
");"<<std::endl;
2808 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2809 <<
", "<<quote<<item->
GetAlias()<<quote<<
", "<<itemType.
Data()<<
");"<<std::endl;
2812 out <<
"}"<<std::endl;
2814 printf(
"C++ Macro file: %s has been generated\n", fname);
2815 if (!lenfile)
delete [] fname;
2825 Warning(
"SwitchTree",
"No tree found.");
2829 std::string command;
2831 command =
"tv__tree = (TTree *) tv__tree_list->At";
2832 command +=
Form(
"(%i)",index);
2839 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,...)
char * StrDup(const char *str)
Duplicate the string str.
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)
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 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 Unix pathname to a local 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)