177#include "RConfigure.h"
238 "",
"AXIS",
"HIST",
"SAME",
"CYL",
"POL",
"SPH",
"PSR",
"LEGO",
"LEGO1",
"LEGO2",
239 "SURF",
"SURF1",
"SURF2",
"SURF3",
"SURF4"
243 "",
"AH",
"B",
"C",
"E",
"E1",
"E2",
"E3",
"E4",
"L",
"P",
"*H"
247 "",
"ARR",
"BOX",
"COL",
"COL2",
"CONT",
"CONT0",
"CONT1",
"CONT2",
"CONT3",
248 "FB",
"BB",
"SCAT",
"PROF"
321 fDimension(0), fVarDraw(false), fScanMode(false),
322 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
323 fCounting(false), fStopMapping(false), fEnableCut(false),fNexpressions(0)
328 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
329 TTreeViewer *gTV = 0;\n\
330 TTree *tv__tree = 0;\n\
331 TList *tv__tree_list = 0;\n\
332 TFile *tv__tree_file = 0;\n\
333 #define GTV_DEFINED\n\
335 snprintf(command,128,
"gTV = (TTreeViewer*)0x%zx", (
size_t)
this);
336 gROOT->ProcessLine(command);
338 gROOT->ProcessLine(
"tv__tree_list = new TList;");
349 fDimension(0), fVarDraw(false), fScanMode(false),
350 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
351 fCounting(false), fStopMapping(false), fEnableCut(false),fNexpressions(0)
358 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
359 TTreeViewer *gTV = 0;\n\
360 TTree *tv__tree = 0;\n\
361 TList *tv__tree_list = 0;\n\
362 TFile *tv__tree_file = 0;\n\
363 #define GTV_DEFINED\n\
365 snprintf(command,128,
"gTV = (TTreeViewer*)0x%zx", (
size_t)
this);
366 gROOT->ProcessLine(command);
369 gROOT->ProcessLine(
"tv__tree_list = new TList;");
375 if (cdir) cdir->
cd();
380 cdir = tree->GetDirectory();
384 if (dirsav) dirsav->
cd();
395 printf(
"Tree found\n");
398 while ((ftree = (
TTree*)next())) {
399 if (ftree==tree) {printf(
"found at index %i\n",
index);
break;}
425 snprintf(command,100,
"tv__tree = (TTree *)0x%zx;", (
size_t)tree);
438 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
457 if (diff <= 0)
return;
502 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
520 if (!treeName)
return;
524 printf(
"Tree found\n");
527 while ((tree = (
TTree*)next())) {
528 if (!strcmp(treeName,
tree->GetName())) {printf(
"found at index %i\n",
index);
break;}
567 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
591 while ((obj=next())) {
597 std::cout <<
"File name : "<<
fFilename << std::endl;
623 gClient->GetColorByName(
"blue",color);
802 fBarOption->
SetToolTipText(
"Histogram graphics option. Type option here and click <Draw> (or <ENTER> to update current histogram).");
907 fSPIDER->
Connect(
"Clicked()",
"TTreeViewer",
this,
"ExecuteSpider()");
928 fREFR->
Connect(
"Clicked()",
"TTreeViewer",
this,
"DoRefresh()");
1084 entry->
SetToolTipText(
"X expression. Drag and drop expressions here");
1093 entry->
SetToolTipText(
"Y expression. Drag and drop expressions here");
1102 entry->
SetToolTipText(
"Z expression. Drag and drop expressions here");
1112 entry->
SetToolTipText(
"Active cut. Double-click to enable/disable");
1122 entry->
SetToolTipText(
"Drag and drop expressions/leaves here. Double-click to scan. Check <Scan> to redirect on file.");
1135 entry->
SetToolTipText(
"User defined expression/cut. Double-click to edit");
1255 bool next,
bool last)
1300 if (!stripped.Contains(
"["))
return name;
1304 while (stripped.Index(
"[",
index) !=
kNPOS) {
1310 return (objstr->
String()).Data();
1313 retstr = stripped.Remove(start+1, end-start-1);
1318 return (objstr->
String()).Data();
1337 Warning(
"Empty",
"No item selected.");
1342 Warning(
"Empty",
"Not expression type.");
1388 Int_t dimension = 0;
1401 if (
Ez() && strlen(
Ez())) {
1408 if ((
Ez() && strlen(
Ez())) && ((
Ex() &&strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1409 if (
Ey() && strlen(
Ey())) {
1416 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1417 if (
Ex () && strlen(
Ex())) {
1426 Warning(
"ExecuteDraw",
"Nothing to draw on X,Y,Z.");
1444 auto pad =
gROOT->GetSelectedPad();
1449 gROOT->SetInterrupt(
false);
1451 const char *cut =
"";
1464 command =
TString::Format(
"tv__tree->Scan(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1487 if (current == last) {
1491 if (dimension == 3 && strlen(gopt)) {
1492 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1495 std::cout <<
" Graphics option for current histogram changed to " << gopt << std::endl;
1509 if (dimension == 3 && strlen(gopt)) {
1510 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1514 command =
TString::Format(
"tv__tree->Draw(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1531 for (i=0; i<3; i++) {
1532 if (alias[i].Length()) {
1534 alias[current] = alias[i];
1545 for (
Int_t ind=0; ind<3; ind++) axis[ind]->SetTitle(alias[ind].Data());
1556 Int_t dimension = 0;
1559 bool previousexp =
false;
1561 if (
Ez() && strlen(
Ez())) {
1569 if ((
Ez() && strlen(
Ez())) && ((
Ex() && strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1570 if (
Ey() && strlen(
Ey())) {
1578 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1579 if (
Ex() && strlen(
Ex())) {
1587 for(
Int_t i=0;i<10;++i){
1588 if(
En(i+5) && strlen(
En(i+5))){
1593 }
else varexp =
En(i+5);
1598 Warning(
"ExecuteSpider",
"Need at least 3 variables");
1611 auto pad =
gROOT->GetSelectedPad();
1616 gROOT->SetInterrupt(
false);
1618 const char *cut =
"";
1677 Warning(
"EditExpression",
"No item selected.");
1683 Warning(
"EditExpression",
"Not expression type.");
1707 if (!
fTree)
return 0;
1716 if (!
fTree)
return 0;
1753 Warning(
"RemoveItem",
"No item selected.");
1759 Warning(
"RemoveItem",
"Not removable type.");
1940 gROOT->SetInterrupt(
true);
1974 Warning(
"ProcessMessage",
"Edit expressions first.");
1978 Warning(
"ProcessMessage",
"You have only one expression active.");
1982 Warning(
"ProcessMessage",
"1D drawing options not apply to 2D histograms.");
1991 gROOT->MakeDefCanvas();
2006 std::cout <<
"Use SetTreeName() from context menu and supply a tree name" << std::endl;
2007 std::cout <<
"The context menu is activated by right-clicking the panel from right" << std::endl;
2016 event.fX =
event.fY = 1;
2034 snprintf(command,1024,
"open_session((void*)0x%zx);", (
size_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;
2498 TLeaf *leaf =
nullptr;
2501 leaf = (
TLeaf *)leaves->
At(lf);
2548 entry->
SetToolTipText(
"Branch with sub-branches. Can not be dragged");
2554 if (textEntry)
delete textEntry;
2560 entry->
SetToolTipText(
"Branch with more than one leaf. Can not be dragged");
2566 TLeaf *leaf =
nullptr;
2569 leaf = (
TLeaf *)leaves->
At(lf);
2578 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2584 pic = (
gClient->GetMimeTypeList())->GetIcon(
"TLeaf",
false);
2586 spic =
gClient->GetMimeTypeList()->GetIcon(
"TLeaf",
true);
2590 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2600 TBranch *branchDaughter =
nullptr;
2603 for (ind=0; ind<branches->
GetEntries(); ind++) {
2606 MapBranch(branchDaughter,
"", branchItem, listIt);
2638 if (!itemType)
return;
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",
2719 lenfile = strlen(fname);
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;
2741 out <<
"void open_session(void *p = 0);"<<std::endl<<std::endl;
2742 out <<
"void "<<std::filesystem::path(fname).stem()<<
"() {"<<std::endl;
2743 out <<
"//=========Macro generated by ROOT version"<<
gROOT->GetVersion()<<std::endl;
2745 out <<
"//===This macro can be opened from a TreeViewer session after loading"<<std::endl;
2746 out <<
"//===the corresponding tree, or by running root with the macro name argument"<<std::endl<<std::endl;
2747 out <<
" open_session();"<<std::endl;
2748 out <<
"}"<<std::endl<<std::endl;
2749 out <<
"void open_session(void *p = 0) {"<<std::endl;
2750 out <<
" gSystem->Load("<<quote<<
"libTreeViewer"<<quote<<
");"<<std::endl;
2751 out <<
" TTreeViewer *treeview = (TTreeViewer *) p;"<<std::endl;
2752 out <<
" if (!treeview) treeview = new TTreeViewer();"<<std::endl;
2753 out <<
" TTree *tv_tree = (TTree*)gROOT->FindObject("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2754 out <<
" TFile *tv_file = (TFile*)gROOT->GetListOfFiles()->FindObject("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2755 out <<
" if (!tv_tree) {"<<std::endl;
2756 out <<
" if (!tv_file) tv_file = new TFile("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2757 out <<
" if (tv_file) tv_tree = (TTree*)tv_file->Get("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2758 out <<
" if(!tv_tree) {"<<std::endl;
2759 out <<
" printf(\"Tree %s not found\", "<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2760 out <<
" return;"<<std::endl;
2761 out <<
" }"<<std::endl;
2762 out <<
" }"<<std::endl<<std::endl;
2763 out <<
" treeview->SetTreeName("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2767 out <<
"// Set expressions on axis and cut"<<std::endl;
2768 out <<
" TTVLVEntry *item;"<<std::endl;
2769 for (
Int_t i=0; i<4; i++) {
2772 out <<
"// X expression"<<std::endl;
2775 out <<
"// Y expression"<<std::endl;
2778 out <<
"// Z expression"<<std::endl;
2781 out <<
"// Cut expression"<<std::endl;
2787 out <<
" item = treeview->ExpressionItem("<<i<<
");"<<std::endl;
2789 <<
", "<<quote<<item->
GetAlias()<<quote<<
");"<<std::endl;
2791 out <<
"// Scan list"<<std::endl;
2793 out <<
" item = treeview->ExpressionItem(4);"<<std::endl;
2795 <<
", "<<quote<<
"Scan box"<<quote<<
");"<<std::endl;
2796 out <<
"// User defined expressions"<<std::endl;
2804 out <<
" item = treeview->ExpressionItem("<<crt<<
");"<<std::endl;
2806 <<
", "<<quote<<item->
GetAlias()<<quote<<
", "<<itemType.
Data()<<
");"<<std::endl;
2809 out <<
"}"<<std::endl;
2811 printf(
"C++ Macro file: %s has been generated\n", fname);
2812 if (!lenfile)
delete [] fname;
2822 Warning(
"SwitchTree",
"No tree found.");
2826 std::string command;
2827 if (tree !=
fTree) {
2828 command =
"tv__tree = (TTree *) tv__tree_list->At";
2836 command =
"Current Tree : ";
2883 if (rec)
rec->SetUserCode(code, autoexec);
EMouseButton
Button names.
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
constexpr Int_t kSysError
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint percent
static const char * gOpenTypes[]
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
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).
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
Describe directory structure in memory.
virtual TFile * GetFile() const
virtual Bool_t cd()
Change current directory to "this" directory.
<div class="legacybox"><h2>Legacy Code</h2> TEventList is a legacy interface: there will be no bug fi...
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
A TFriendElement TF describes a TTree object TF in a file.
virtual TTree * GetTree()
Return pointer to friend TTree.
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
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.
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
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...
The base class for composite widgets (menu bars, list boxes, etc.).
TGDimension GetDefaultSize() const override
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
UInt_t GetDefaultWidth() const override
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
UInt_t GetDefaultHeight() const override
void Layout() override
Layout the elements of the composite frame.
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
void RemoveAll() override
Remove all items from the container.
virtual Double_t GetMaxPositionD() const
virtual Long64_t GetMinPositionL() const
virtual Double_t GetMinPositionD() const
virtual void SetRange(Float_t min, Float_t max)
virtual Long64_t GetMaxPositionL() const
virtual void SetPosition(Float_t min, Float_t max)
Dragging the slider will generate the event:
This class creates a file selection dialog.
char * fFilename
selected file name
const char ** fFileTypes
file types used to filter selectable files
char * fIniDir
on input: initial directory, on output: new directory
void SetIniDir(const char *inidir)
Set directory name.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
static Pixel_t GetWhitePixel()
Get white pixel value.
virtual UInt_t GetDefaultHeight() const
void SetBackgroundColor(Pixel_t back) override
Set background color (override from TGWindow base class).
void MapWindow() override
map window
virtual void DeleteWindow()
Delete window.
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.
A horizontal 3D line is a line that typically separates a toolbar from the menubar.
A composite frame that layout their children in horizontal way.
void * GetUserData() const
void SetUserData(void *userData)
This class handles GUI labels.
virtual void SetText(TGString *newText)
Set new text in label.
This class describes layout hints used by the layout classes.
virtual const char * GetText() const =0
TGListTreeItem * GetParent() const
virtual void * GetUserData() const =0
A list tree is a widget that can contain a number of items arranged in a tree structure.
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.
A list view is a widget that can contain a number of items arranged in a grid or list.
void Layout() override
Layout list view components (container and contents of container).
void SetContainer(TGFrame *f) override
Set list view container.
virtual void SetViewMode(EListViewMode viewMode)
Set list view mode.
Defines top level windows that interact with the system Window Manager.
virtual void SendCloseMessage()
Send close message to self.
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
TGClient * fClient
Connection to display server.
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
Pixmap_t GetPicture() const
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.
Provides a StatusBar widget.
void Draw3DCorner(Bool_t corner)
virtual void SetText(TGString *text, Int_t partidx=0)
Set text in partition partidx in status bar.
TGString wraps a TString and adds some graphics routines like drawing, size of string on screen depen...
const char * GetString() const
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Yield an action as soon as it is clicked.
A TGTextEntry is a one line text input widget.
virtual void SetDefaultSize(UInt_t w, UInt_t h)
Set the default / minimal size of the widget.
void Clear(Option_t *option="") override
Clears up the text entry.
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.
Bool_t HandleButton(Event_t *event) override
Handle mouse button event in text entry widget.
void SetFrame(TGFrame *frame, Bool_t left) override
Set frame to be resized.
A vertical 3D line is a line that can be used to separate groups of widgets.
A composite frame that layout their children in vertical way.
TH1 is the base class of all histogram classes in ROOT.
void SetTitle(const char *title) override
Change/set the title.
TObject * FindObject(const char *name) const override
Search object named name in the list of functions.
void Draw(Option_t *option="") override
Draw this histogram with options.
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
void Add(TObject *obj) override
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.
Each ROOT class (see TClass) has a linked list of methods.
const char * GetName() const override
Returns name of object.
Int_t GetEntries() const override
Return the number of objects in array (i.e.
TObject * At(Int_t idx) const override
TObject * UncheckedAt(Int_t i) 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".
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.
A TRootHelpDialog is used to display help text (or any text in a dialog window).
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
Sequenceable collection abstract base class.
void Draw(Option_t *options="") override
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 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 TreeView class.
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) override
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.
const char * GetName() const override
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.
TTVRecord * AddRecord(bool fromFile=false)
Add a record.
void RemoveLastRecord()
Remove current record from list.
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 SetScanRedirect(bool mode)
TGLabel * fBarLbl2
Label of option text entry.
TGSelectBox * fDialogBox
Expression editor.
void SetCurrentRecord(Long64_t entry)
TGCheckButton * fBarRec
Command recording toggle.
TGHProgressBar * fProgressBar
Progress bar.
bool HandleTimer(TTimer *timer) override
Execute action in response of a timer timing out.
void SetHistogramTitle(const char *title)
void UpdateRecord(const char *name="new name")
TGTextEntry * fBarOption
Histogram drawing option entry.
TGLabel * fBLbl4
Label for input list entry.
TGTextEntry * fBarCommand
User command entry.
TGListView * fListView
ListView with branches and leaves.
TGComboBox * fCombo
Combo box with session records.
TGListTree * fLt
ListTree with file and tree items.
TList * fWidgets
List of widgets to be deleted.
void SetNexpressions(Int_t expr)
TTreeViewer(const char *treeName=nullptr)
TTreeViewer default constructor.
TGCheckButton * fBarH
Checked for drawing current histogram with different graphic option.
TGPictureButton * fBGFirst
void SetUserCode(const char *code, bool autoexec=true)
Cursor_t fDefaultCursor
Default cursor.
void MapOptions(Long_t parm1)
TGLabel * fBLbl5
Label for output list entry.
TGCanvas * fTreeView
ListTree canvas container.
Int_t fTreeIndex
Index of current tree in list.
TGPictureButton * fSTOP
Interrupt current command (not yet)
void SetSession(TTVSession *session)
void SetParentTree(TGListTreeItem *item)
const char * EmptyBrackets(const char *name)
const TGPicture * fPicStop
Pictures for Stop buttons.
void CloseWindow() override
Close and delete main frame.
const TGPicture * fPicY
Pictures for Y expressions.
TGLabel * fLbl2
Label for list view.
TTVLVEntry * ExpressionItem(Int_t index)
Cursor_t fWatchCursor
Watch cursor.
void AppendTree(TTree *tree)
TGTextEntry * fBarListIn
Tree input event list name entry.
void ActivateButtons(bool first, bool previous, bool next, bool last)
TTimer * fTimer
Tree viewer timer.
void MapTree(TTree *tree, TGListTreeItem *parent=nullptr, bool listIt=true)
Long64_t Process(const char *filename, Option_t *option="", Long64_t nentries=TTree::kMaxEntries, Long64_t firstentry=0)
TGCheckButton * fBarScan
Checked for tree scan.
const TGPicture * fPicRefr
Pictures for Refresh buttons ///<ia.
const char * fSourceFile
Name of the C++ source file - default treeviewer.C.
Int_t MakeSelector(const char *selector=nullptr)
bool fCounting
True if timer is counting.
const TGPicture * fPicX
Pictures for X expressions.
bool fScanMode
Flag activated when Scan Box is double-clicked.
void DoError(int level, const char *location, const char *fmt, va_list va) const override
Interface to ErrorHandler (protected).
void SetRecordName(const char *name)
TGPictureButton * fDRAW
DRAW button.
TString fLastOption
Last graphic option.
TList * fTreeList
List of mapped trees.
const char * fFilename
Name of the file containing the tree.
TGTextEntry * fBarHist
Histogram name entry.
TGLayoutHints * fBarLayout
TContextMenu * fContextMenu
Context menu for tree viewer.
TGHorizontalFrame * fHpb
Progress bar frame.
TGPictureButton * fBGNext
Int_t fNexpressions
Number of expression widgets.
void SetTreeName(const char *treeName)
TGVerticalFrame * fV2
List view mother.
void MapBranch(TBranch *branch, const char *prefix="", TGListTreeItem *parent=nullptr, bool listIt=true)
TGLayoutHints * fMenuBarItemLayout
void SaveSource(const char *filename="", Option_t *option="") override
Save the GUI main frame widget in a C++ macro file.
TClass * IsA() const override
TTree * fTree
Selected tree.
TGCompositeFrame * fTreeHdr
Header for list tree.
TGLabel * fBarLbl3
Label of histogram name text entry.
bool fEnableCut
True if cuts are enabled.
bool SwitchTree(Int_t index)
void SetTree(TTree *tree)
bool fVarDraw
True if an item is double-clicked.
TGDoubleVSlider * fSlider
Vertical slider to select processed tree entries;.
TTree * fMappedTree
Listed tree.
TGVerticalFrame * fV1
List tree mother.
void Message(const char *msg) override
void ExecuteCommand(const char *command, bool fast=false)
const TGPicture * fPicDraw
Pictures for Draw buttons.
TGPictureButton * fBGLast
TGPopupMenu * fOptionsMenu
TGLayoutHints * fMenuBarHelpLayout
TGPictureButton * fBGPrevious
TTVLVContainer * fLVContainer
Container for listview.
TGLabel * fLbl1
Label for list tree.
void SetGrOpt(const char *option)
TGPopupMenu * fOptionsGen
TGLayoutHints * fMenuBarLayout
TGLabel * fBarLbl1
Label of command text entry.
TGPictureButton * fREFR
REFRESH button ///<ia.
TGHorizontalFrame * fHf
Main horizontal frame.
const TGPicture * fPicZ
Pictures for Z expressions.
TGHorizontalFrame * fBFrame
Button frame.
TBranch * fMappedBranch
Listed branch.
TTVSession * fSession
Current tree-viewer session.
Int_t fDimension
Histogram dimension.
TGCompositeFrame * fListHdr
Header for list view.
bool fStopMapping
True if branch don't need remapping.
TGTextEntry * fBarListOut
Pree output event list name entry.
TGTextButton * fReset
clear expression's entries
bool ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override
TGPictureButton * fBGRecord
void SetScanFileName(const char *name="")
TGStatusBar * fStatusBar
Status bar.
TGTextButton * fSPIDER
SPIDER button.
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 Int_t MakeSelector(const char *selector=nullptr, Option_t *option="")
Generate skeleton selector class for this tree.
virtual Long64_t GetReadEntry() const
virtual TObjArray * GetListOfBranches()
virtual void Refresh()
Refresh contents of this tree and its branches from the current status on disk.
__device__ AFloat max(AFloat x, AFloat y)
UInt_t GetListOfMethods(TList &methods, TDirectory *dir=nullptr)
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
EGEventType fType
of event (see EGEventType)