177#include "RConfigure.h"
236 "",
"AXIS",
"HIST",
"SAME",
"CYL",
"POL",
"SPH",
"PSR",
"LEGO",
"LEGO1",
"LEGO2",
237 "SURF",
"SURF1",
"SURF2",
"SURF3",
"SURF4"
241 "",
"AH",
"B",
"C",
"E",
"E1",
"E2",
"E3",
"E4",
"L",
"P",
"*H"
245 "",
"ARR",
"BOX",
"COL",
"COL2",
"CONT",
"CONT0",
"CONT1",
"CONT2",
"CONT3",
246 "FB",
"BB",
"SCAT",
"PROF"
319 fDimension(0), fVarDraw(0), fScanMode(0),
320 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
321 fCounting(0), fStopMapping(0), fEnableCut(0),fNexpressions(0)
326 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
327 TTreeViewer *gTV = 0;\n\
328 TTree *tv__tree = 0;\n\
329 TList *tv__tree_list = 0;\n\
330 TFile *tv__tree_file = 0;\n\
331 #define GTV_DEFINED\n\
334 gROOT->ProcessLine(command);
336 gROOT->ProcessLine(
"tv__tree_list = new TList;");
347 fDimension(0), fVarDraw(0), fScanMode(0),
348 fTreeIndex(0), fDefaultCursor(0), fWatchCursor(0),
349 fCounting(0), fStopMapping(0), fEnableCut(0),fNexpressions(0)
356 gROOT->ProcessLine(
"#ifndef GTV_DEFINED\n\
357 TTreeViewer *gTV = 0;\n\
358 TTree *tv__tree = 0;\n\
359 TList *tv__tree_list = 0;\n\
360 TFile *tv__tree_file = 0;\n\
361 #define GTV_DEFINED\n\
364 gROOT->ProcessLine(command);
367 gROOT->ProcessLine(
"tv__tree_list = new TList;");
373 if (cdir) cdir->
cd();
378 cdir =
tree->GetDirectory();
382 if (dirsav) dirsav->
cd();
393 printf(
"Tree found\n");
396 while ((ftree = (
TTree*)next())) {
397 if (ftree==
tree) {printf(
"found at index %i\n", index);
break;}
436 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
455 if (diff <= 0)
return;
500 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
518 if (!treeName)
return;
522 printf(
"Tree found\n");
526 if (!strcmp(treeName,
tree->GetName())) {printf(
"found at index %i\n", index);
break;}
565 gClient->GetPicture(
"tree_t.xpm"),
gClient->GetPicture(
"tree_t.xpm"));
589 while ((obj=next())) {
595 std::cout <<
"File name : "<<
fFilename << std::endl;
621 gClient->GetColorByName(
"blue",color);
800 fBarOption->
SetToolTipText(
"Histogram graphics option. Type option here and click <Draw> (or <ENTER> to update current histogram).");
905 fSPIDER->
Connect(
"Clicked()",
"TTreeViewer",
this,
"ExecuteSpider()");
926 fREFR->
Connect(
"Clicked()",
"TTreeViewer",
this,
"DoRefresh()");
1082 entry->
SetToolTipText(
"X expression. Drag and drop expressions here");
1091 entry->
SetToolTipText(
"Y expression. Drag and drop expressions here");
1100 entry->
SetToolTipText(
"Z expression. Drag and drop expressions here");
1110 entry->
SetToolTipText(
"Active cut. Double-click to enable/disable");
1120 entry->
SetToolTipText(
"Drag and drop expressions/leaves here. Double-click to scan. Check <Scan> to redirect on file.");
1133 entry->
SetToolTipText(
"User defined expression/cut. Double-click to edit");
1298 if (!stripped.Contains(
"["))
return name;
1302 while (stripped.Index(
"[", index) !=
kNPOS) {
1303 Int_t start = stripped.Index(
"[", index);
1304 Int_t end = stripped.Index(
"]", index);
1308 return (objstr->
String()).Data();
1311 retstr = stripped.Remove(start+1, end-start-1);
1316 return (objstr->
String()).Data();
1335 Warning(
"Empty",
"No item selected.");
1340 Warning(
"Empty",
"Not expression type.");
1386 Int_t dimension = 0;
1399 if (
Ez() && strlen(
Ez())) {
1406 if ((
Ez() && strlen(
Ez())) && ((
Ex() &&strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1407 if (
Ey() && strlen(
Ey())) {
1414 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1415 if (
Ex () && strlen(
Ex())) {
1424 Warning(
"ExecuteDraw",
"Nothing to draw on X,Y,Z.");
1442 auto pad =
gROOT->GetSelectedPad();
1449 const char *cut =
"";
1462 command =
TString::Format(
"tv__tree->Scan(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1485 if (current == last) {
1489 if (dimension == 3 && strlen(gopt)) {
1490 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1493 std::cout <<
" Graphics option for current histogram changed to " << gopt << std::endl;
1507 if (dimension == 3 && strlen(gopt)) {
1508 std::cout <<
"Graphics option " << gopt <<
" not valid for 3D histograms" << std::endl;
1512 command =
TString::Format(
"tv__tree->Draw(\"%s\",\"%s\",\"%s\", %lld, %lld);",
1529 for (i=0; i<3; i++) {
1530 if (alias[i].Length()) {
1532 alias[current] = alias[i];
1543 for (
Int_t ind=0; ind<3; ind++) axis[ind]->SetTitle(alias[ind].Data());
1554 Int_t dimension = 0;
1559 if (
Ez() && strlen(
Ez())) {
1560 previousexp =
kTRUE;
1567 if ((
Ez() && strlen(
Ez())) && ((
Ex() && strlen(
Ex())) || (
Ey() && strlen(
Ey())))) varexp +=
":";
1568 if (
Ey() && strlen(
Ey())) {
1569 previousexp =
kTRUE;
1576 if (
Ey() && strlen(
Ey()) &&
Ex() && strlen(
Ex())) varexp +=
":";
1577 if (
Ex() && strlen(
Ex())) {
1578 previousexp =
kTRUE;
1585 for(
Int_t i=0;i<10;++i){
1586 if(
En(i+5) && strlen(
En(i+5))){
1591 }
else varexp =
En(i+5);
1592 previousexp =
kTRUE;
1596 Warning(
"ExecuteSpider",
"Need at least 3 variables");
1609 auto pad =
gROOT->GetSelectedPad();
1616 const char *cut =
"";
1675 Warning(
"EditExpression",
"No item selected.");
1681 Warning(
"EditExpression",
"Not expression type.");
1705 if (!
fTree)
return 0;
1714 if (!
fTree)
return 0;
1751 Warning(
"RemoveItem",
"No item selected.");
1757 Warning(
"RemoveItem",
"Not removable type.");
1972 Warning(
"ProcessMessage",
"Edit expressions first.");
1976 Warning(
"ProcessMessage",
"You have only one expression active.");
1980 Warning(
"ProcessMessage",
"1D drawing options not apply to 2D histograms.");
1989 gROOT->MakeDefCanvas();
2004 std::cout <<
"Use SetTreeName() from context menu and supply a tree name" << std::endl;
2005 std::cout <<
"The context menu is activated by right-clicking the panel from right" << std::endl;
2014 event.fX =
event.fY = 1;
2032 snprintf(command,1024,
"open_session((void*)0x%lx);", (
Long_t)
this);
2114 hd =
new TRootHelpDialog(
this,
"Executing user commands...", 600, 400);
2157 if (trueName.Contains(
"[]")) {
2160 while((leaf=(
TLeaf*)next())) {
2165 char* msg2 =
new char[2000];
2170 char symbol = (char)((*itemType) >> 8);
2171 snprintf(msg2,2000,
"%c expression : %s", symbol, vname);
2175 snprintf(msg2,2000,
"Cut : %s", vname);
2178 snprintf(msg2,2000,
"Box : %s", vname);
2182 snprintf(msg2,2000,
"Expression : %s", vname);
2185 snprintf(msg2,2000,
"Branch : %s", vname);
2187 snprintf(msg2,2000,
"Leaf : %s", vname);
2195 message = message(0,150);
2314 if (strlen(command) > 1999) {
2315 Warning(
"ExecuteCommand",
"Command too long: aborting.");
2318 snprintf(comm,2000,
"%s", command);
2324 gROOT->ProcessLineFast(command);
2326 gROOT->ProcessLine(command);
2417 if (!branches)
return;
2421 for (
id=0;
id<branches->
GetEntries();
id++) {
2425 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
continue;
2433 TIter nextf(
tree->GetTree()->GetListOfFriends() );
2438 for (
id=0;
id<branches->
GetEntries();
id++) {
2442 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
continue;
2461 if (!branch)
return;
2463 if (prefix && strlen(prefix) > 0) {
2465 if (!
name.EndsWith(
"."))
name +=
".";
2473 if (
name.Contains(
"fBits") ||
name.Contains(
"fUniqueID"))
return;
2504 leaf = (
TLeaf *)leaves->
At(lf);
2551 entry->
SetToolTipText(
"Branch with sub-branches. Can not be dragged");
2557 if (textEntry)
delete textEntry;
2563 entry->
SetToolTipText(
"Branch with more than one leaf. Can not be dragged");
2572 leaf = (
TLeaf *)leaves->
At(lf);
2581 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2587 pic = (
gClient->GetMimeTypeList())->GetIcon(
"TLeaf",
kFALSE);
2589 spic =
gClient->GetMimeTypeList()->GetIcon(
"TLeaf",
kTRUE);
2593 entry->
SetToolTipText(
"Double-click to draw. Drag to X, Y, Z or scan box.");
2606 for (ind=0; ind<branches->
GetEntries(); ind++) {
2609 MapBranch(branchDaughter,
"", branchItem, listIt);
2641 if (!itemType)
return;
2648 index = (
Int_t)(*itemType >> 8);
2670 static const int buf_size = 2048;
2671 char buf[buf_size], *bp;
2673 int n = vsnprintf(buf, buf_size, fmt, va);
2676 if (
n == -1 ||
n >= buf_size) {
2684 const char *title =
"";
2692 title =
"System Error";
2703 char * msg =
new char[100];
2704 snprintf(msg,100,
"First entry : %lld Last entry : %lld",
2718 Int_t lenfile = strlen(filename);
2722 lenfile = strlen(fname);
2724 fname = (
char*)filename;
2730 out.open(fname, std::ios::out);
2732 fname =
new char[13];
2733 strlcpy(fname,
"treeviewer.C",13);
2734 out.open(fname, std::ios::out);
2737 printf(
"SaveSource cannot open file : %s\n", fname);
2739 if (!lenfile)
delete [] fname;
2745 sname = sname.ReplaceAll(
".C",
"");
2746 out <<
"void open_session(void *p = 0);"<<std::endl<<std::endl;
2747 out <<
"void "<<sname.Data()<<
"() {"<<std::endl;
2748 out <<
"//=========Macro generated by ROOT version"<<
gROOT->GetVersion()<<std::endl;
2749 out <<
"//=========for tree "<<quote<<
fTree->
GetName()<<quote<<
" ("<<t.
AsString()<<
")"<<std::endl;
2750 out <<
"//===This macro can be opened from a TreeViewer session after loading"<<std::endl;
2751 out <<
"//===the corresponding tree, or by running root with the macro name argument"<<std::endl<<std::endl;
2752 out <<
" open_session();"<<std::endl;
2753 out <<
"}"<<std::endl<<std::endl;
2754 out <<
"void open_session(void *p = 0) {"<<std::endl;
2755 out <<
" gSystem->Load("<<quote<<
"libTreeViewer"<<quote<<
");"<<std::endl;
2756 out <<
" TTreeViewer *treeview = (TTreeViewer *) p;"<<std::endl;
2757 out <<
" if (!treeview) treeview = new TTreeViewer();"<<std::endl;
2758 out <<
" TTree *tv_tree = (TTree*)gROOT->FindObject("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2759 out <<
" TFile *tv_file = (TFile*)gROOT->GetListOfFiles()->FindObject("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2760 out <<
" if (!tv_tree) {"<<std::endl;
2761 out <<
" if (!tv_file) tv_file = new TFile("<<quote<<
fFilename<<quote<<
");"<<std::endl;
2762 out <<
" if (tv_file) tv_tree = (TTree*)tv_file->Get("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2763 out <<
" if(!tv_tree) {"<<std::endl;
2764 out <<
" printf(\"Tree %s not found\", "<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2765 out <<
" return;"<<std::endl;
2766 out <<
" }"<<std::endl;
2767 out <<
" }"<<std::endl<<std::endl;
2768 out <<
" treeview->SetTreeName("<<quote<<
fTree->
GetName()<<quote<<
");"<<std::endl;
2769 out <<
" treeview->SetNexpressions("<<
fNexpressions<<
");"<<std::endl;
2772 out <<
"// Set expressions on axis and cut"<<std::endl;
2773 out <<
" TTVLVEntry *item;"<<std::endl;
2774 for (
Int_t i=0; i<4; i++) {
2777 out <<
"// X expression"<<std::endl;
2780 out <<
"// Y expression"<<std::endl;
2783 out <<
"// Z expression"<<std::endl;
2786 out <<
"// Cut expression"<<std::endl;
2792 out <<
" item = treeview->ExpressionItem("<<i<<
");"<<std::endl;
2793 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2794 <<
", "<<quote<<item->
GetAlias()<<quote<<
");"<<std::endl;
2796 out <<
"// Scan list"<<std::endl;
2798 out <<
" item = treeview->ExpressionItem(4);"<<std::endl;
2799 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2800 <<
", "<<quote<<
"Scan box"<<quote<<
");"<<std::endl;
2801 out <<
"// User defined expressions"<<std::endl;
2808 itemType =
"kFALSE";
2809 out <<
" item = treeview->ExpressionItem("<<crt<<
");"<<std::endl;
2810 out <<
" item->SetExpression("<<quote<<item->
GetTrueName()<<quote
2811 <<
", "<<quote<<item->
GetAlias()<<quote<<
", "<<itemType.
Data()<<
");"<<std::endl;
2814 out <<
"}"<<std::endl;
2816 printf(
"C++ Macro file: %s has been generated\n", fname);
2817 if (!lenfile)
delete [] fname;
2827 Warning(
"SwitchTree",
"No tree found.");
2831 std::string command;
2833 command =
"tv__tree = (TTree *) tv__tree_list->At";
2834 command +=
Form(
"(%i)",index);
2841 command =
"Current Tree : ";
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
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
static const char * gOpenTypes[]
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...
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 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)
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.
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.
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.
TH1 is the base class of all histogram classes in ROOT.
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 TObject * FindObject(const char *name) const
Search object named name in the list of functions.
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".
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)
EGEventType fType
of event (see EGEventType)