ID |
Date |
Author |
Topic |
Subject |
77
|
01 Dec 2004 |
Konstantin Olchanski | Suggestion | Histogram zeroing, and extended histogram display manipulation |
> > We would also like the histogram view to be unaffected by refreshing.
> > Currently the y axis is autoscaled after a refresh.
>
> I thought this was fixed a long time ago...
Never mind that.
Vertical scale of online histograms *has* to change after a refresh- the number of
counts in an online histogram increases as it accumulates more data and the histogram
would grow up out of the visual range unless it is rescaled.
Now, we can be smart about this: for a zoomed histogram, we can freeze the "y" scaling
or we can maintain the zoom ratio while rescaling.
K.O. |
147
|
23 Feb 2012 |
Exaos Lee | Forum | How to access the SVN repo anonymously? |
I found that the SVN repo is forbidden for anonymous users now. |
148
|
13 May 2012 |
Konstantin Olchanski | Forum | How to access the SVN repo anonymously? |
> I found that the SVN repo is forbidden for anonymous users now.
Please use username "svn", password "svn", per instructions here:
http://www.triumf.info/wiki/DAQwiki/index.php/DaqSvn
K.O. |
149
|
24 May 2012 |
Konstantin Olchanski | Forum | How to access the SVN repo anonymously? |
> I found that the SVN repo is forbidden for anonymous users now.
It is possible that you are referencing the SVN repo using the "svn:" access method. This access method was recently
disabled.
Please switch to the "https:" method (username/password svn/svn) using this command:
cd .../roody
svn switch --relocate svn://ladd00.triumf.ca/roody https://ladd00.triumf.ca/svn/roody
K.O. |
31
|
01 Jan 2004 |
Konstantin | | Implement "Draw in next pad" and ilk |
I commited fixes for a few annoying problems:
1) get rid of useless "delete/create TCanvas"
2) make the "zones" actually work
3) implement "draw in new canvas", "draw in current pad", "draw in next pad"
and "overplot in current pad"
4) consolidate all drawing into a single "DrawObject()" function.
K.O. |
22
|
30 Jul 2003 |
Greg | | List of Development Components for MIROODAS |
Here is the list of components that must/should be developed for MIROODAS:
1. Peak Finding Panel (1D w/ TSpectrum, 2D w/ TSpectrum2 ... note 2D is not
functional yet)
*THIS is a new feature*
2. Fit Panel
*This will be a remake of the old feature ... with some improvements*
3. Draw Options Panel
*This will be a remake of the old feature ... with some improvements*
4. Stat Option Panel
*THIS is a new feature*
5. TCanvas
including: custum context menus which will associate with the new features
6. TTreeViewer
including: necessary bug fixes and developments as discussd in the meeting
7. Attributes Panel
*Remake all Attributes Panels and combine into one panel* |
23
|
30 Jul 2003 |
Greg | | List of Development Components for MIROODAS |
> 2. Improved Fit Panel
> 3. Improved Draw Options Panel
> 5. TCanvas updates
> 6. TTreeViewer updates
> 7. Improve Attributes Panel
What are these "improvements" and "updates"? We cannot plan without good data.
K.O. |
38
|
05 Mar 2004 |
Joe | | MIDASviewer update |
Committed MainFrame.cxx/.h with a fix for the problem of segmentation faults
while updating online histograms. The problem was the pointers to the
histograms needed to be changed in the TGLVContainers when the histograms
were deleted and recreated due to being updated. The main difficulty was
getting a handle on which TGLVEntry matched which histogram, when the
histogram pointers were obtained from the TPad and not the TGLVContainer.
Anyway, you can now view online histograms without the program crashing. |
25
|
14 Aug 2003 |
Greg | | Miroodas |
MAIN GUI
========
Invocation:
TTriumfFileGUI -h
->Displays Usage message
TTriumfFileGUI host
->Opens GUI and connects to host on default port 9090
TTriumfFileGUI host:port
->Opens GUI and connects to host on port (to be implemented)
TTriumfFileGUI file.root
->Opens GUI and opens file.root for browsing
TTriumfFileGUI file.hbook
->Opens GUI and opens file.hbook for browsing (to be implemented)
TTriumfFileGUI
->Opens GUI
File Menu
-> Open .root
Opens file selection dialog to find and open a ROOT file
-> Open .hbook
Opens file selection dialog to find and open an HBOOK file
-> Online
Opens hostname entry dialog ... Will try and access that host on
port 9090 (currently using 9090 as default port)
If hostname:port, will try and access hostname on proper port
(Not Yet Implemented)
-> Save
Not Yet Implemented -> Idea:
Will bring up a save dialog which will allow user to save
all opened histograms
-> Exit
Closes the program
Refresh Menu
->Not Yet Implemented -> Idea: (Radio Buttons)
->Stop Refresh
Stops the refreshing of online histograms by stopping the TTimer
->Refresh 1 sec \
->Refresh 3 sec |
->Refresh 5 sec |-- Change TTimer time length (and start it)
->Refresh 10 sec /
Zones Menu
->Not Yet Implemented -> Idea: (Radio Button)
->1x1
->1x2
->2x1
->2x2
->3x3
-> ...
Each of these will changes force all the new TCanvas() created to be
divided into zones
If double clicked (TGListTree or TGListView) will create new canvas,
unless option is changed in AddHist to Menu.
If from context menu -> can overlay in current pad
-> can plot in current pad (removes old hist)
-> can create new canvas
-> can plot in next pad (if last pad ... plot
in first pad)
AddHist to Menu:
->Not Yet Implemented -> Idea: (Radio Button)
-> 4 Options:
-> plot in new canvas
-> plot in current pad
-> plot in next pad
-> overlay in current pad
-> Depending on which one is checked the double click functionality
will change
Open Files Panel (TGListTree)
->Shows open files (offline and online) as well as TH*, TProfile*, TTree ...
->Need to add ContextMenus
ContextMenu (depends on UserData)
->Close Files (remove file from list)
->Plot Options (for histograms) ->see AddHist to menu options
->Need to have: when item selected in TGListTree, items in TGListView
are deselected
Open Histograms Panel (TGListView)
->Shows open histograms (i.e. goes over gROOT->GetListOfCanvases())
->Need to add ContextMenus
->Histogram stuff ->see AddHist to menu options
->Need to have: when item selected in TGListView, itesms in TGListTree
are deselected
Buttons
->Not yet Implemented
->Refresh (goes over all open histograms)
->Banish
->if histogram selected ... removes from associated Pad and
deletes from list (in TGListView)
->if file is selected in TGListTree ... removes file (may need to close
TTreeViewer ... but histograms are made persistent so no need to
close)
->Save same functionality as the File->Save
->Clear (clears currently selected histogram) |
142
|
22 Nov 2009 |
Exaos Lee | Suggestion | New main.cxx for roody |
The original "main.cxx" always produced "segmentation fault" on my system. So I
rewrite a new one as the attached "main_el.cxx". It works stable on my systems. I
use "getopt.h" to parse the command line options. Also, the options are altered
as the following:
-------------------
--mhost, -M <mhost> connect to MIDAS server <mhost>
--rhost, -R <rhost> connect to ROOT server <rhost>
--port, -p <port> connect to port <port>
--config, -c <xml> Using config file <xml> in XML format
-------------------
The main_el.cxx doesn't pass options to TApplication except root file names.
Please see the source in detail. I hope it may help. |
Attachment 1: main_el.cxx
|
//
// main.cxx
//
// $Id$
//
#include <cstdlib>
#include <iostream>
#include <string>
#include <getopt.h>
using std::cout;
using std::endl;
using std::cerr;
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#ifdef OS_UNIX
#include <unistd.h>
#endif
#ifdef OS_WINNT
#include <process.h>
#endif
#include "Roody.h"
#include "TApplication.h"
#include "rootsys.h"
//******** Command line options *************
static char* pname = NULL;
static const char* optStr = "M:R:p:c:h?";
static const struct option opts[] = {
{"mhost", required_argument, NULL, 'M'},
{"rhost", required_argument, NULL, 'R'},
{"port", required_argument, NULL, 'p'},
{"config",required_argument, NULL, 'c'},
};
void usage()
{
cout << "Usage:\n " << pname
<< " [options] [file1.root] [file2.root] .. [filen.hbook]" << endl
<< endl
<< "Options:" << endl
<< " --mhost" << endl
<< " -M <mhost> -- Connect to MIDAS server <mhost>" << endl
<< " --rhost" << endl
<< " -R <rhost> -- Connect to ROOT server <rhost>" << endl
<< " --port" << endl
<< " -p <port> -- Connect to port <port>" << endl
<< " --config" << endl
<< " -c <xmlfile> -- Using config file in XML format" << endl << endl
<< " [files.root] -- Load .root files" << endl
<< " [files.hbook] -- Load .hbook files" << endl << endl;
}
//******** Main procedure *******************
int main(int argc, char *argv[])
{
setbuf(stdout, 0);
setbuf(stderr, 0);
pname = argv[0];
#ifndef OS_WINNT
signal(SIGBUS, SIG_DFL);
signal(SIGSEGV, SIG_DFL);
signal(SIGPIPE, SIG_IGN);
char const *env = getenv("ROOTSYS"); // enforce compiled-in ROOTSYS settings
if (!env || strcmp(env,rootsys)) {
struct stat st;
int status = stat(rootsys,&st);
if (status != 0) {
cerr << "main.cxx: Cannot use compiled-in ROOTSYS=\'"
<< rootsys << "\': stat() error "
<< errno << " (" << strerror(errno) << ")\n";
} else if (st.st_mode&S_IFDIR == 0) {
cerr << "main.cxx: Cannot use compiled-in ROOTSYS=\'"
<< rootsys << "\', st_mode is 0"
<< st.st_mode << ", probably not a directory\n";
} else {
cerr << "main.cxx: Re-executing \'" << argv[0]
<< "\' with compiled-in ROOTSYS=\'" << rootsys << "\'\n";
setenv( "ROOTSYS", rootsys, 1);
execvp( argv[0], argv ); // does not return
cerr << "execv(" << argv[0] << ") error " << errno
<< " (" << strerror(errno) << ")\n";
exit(1);
}
printf("main.cxx: Continuing with ROOTSYS=\'%s\' from local environment\n", env);
}
#endif
char** filenames = NULL;
char* hostname = NULL;
char* nhostname = NULL;
char* xmlname = NULL;
int port = 0;
int fileCount = 0;
int longIdx = 0;
int opt;
std::string temp;
do {
opt = getopt_long(argc, argv, optStr, opts, &longIdx);
switch(opt) {
case 'M': hostname = optarg; break;
case 'R': nhostname = optarg; break;
case 'p': port = atoi(optarg); break;
case 'c':
temp = optarg;
if(temp.find(".xml") == temp.npos) temp += ".xml";
strcpy(xmlname, temp.c_str());
break;
case 'h':
case '?':
case 0: usage(); return 0;
break;
default: break;
}
} while( opt != -1 );
fileCount = argc - optind;
if(fileCount > 0)
filenames = argv + optind;
TApplication* app = new TApplication( "App", 0, NULL );
Roody* roody = new Roody();
if (xmlname)
roody->RestoreFile(xmlname);
else
roody->RestoreFile(NULL);
if (hostname)
roody->ConnectServer(hostname);
if (nhostname)
roody->ConnectNetDirectory(nhostname);
for (int i=0; i<fileCount; i++)
roody->OpenFile(filenames[i]);
app->Run(kTRUE);
return 0;
}
// end of file
|
122
|
27 Aug 2006 |
Konstantin Olchanski | Info | New version coming up... |
FYI, I am presently working in an updated version of roody.
The user interface, GUI and user-visible functionality I am leaving alone. The under-the-hood handling of
histogram data I am reworking using our latest understanding of the workings of ROOT (object ownership,
etc) and C++ (hey, with STL std::map, C++ is as easy as perl!).
The updated version may also fix some of the existing problems- crashes caused by confused object
ownership rules, long startup times (current code has to look at every existing histogram before starting-
slow if many histograms in an online folder) and inability to display TGraph objects (that is what started
me working on the code).
While at it, we will move the Roody code repository from CVS to SVN.
K.O. |
125
|
26 Sep 2006 |
Konstantin Olchanski | Info | New version coming up... |
> FYI, I am presently working in an updated version of roody.
The new version of Roody has been commited.
It has been tested only on Linux (SL4.3) and while we are shaking out the new bugs,
all are welcome to try it and report any problems. It should not eat your data.
If the new version does not work for you at all, the old version was preserved as
an SVN branch, accessible using this SVN command:
svn checkout svn://ladd00.triumf.ca/roody/branches/roody-v1 roody-v1
K.O. |
128
|
26 Sep 2006 |
Konstantin Olchanski | Info | New version coming up... |
> > FYI, I am presently working in an updated version of roody.
>
> The new version of Roody has been commited.
>
> It has been tested only on Linux (SL4.3) and while we are shaking out the new bugs,
> all are welcome to try it and report any problems. It should not eat your data.
>
> If the new version does not work for you at all, the old version was preserved as
> an SVN branch, accessible using this SVN command:
> svn checkout svn://ladd00.triumf.ca/roody/branches/roody-v1 roody-v1
(the email notification for this message did not work at first, trying again)
K.O. |
113
|
18 Apr 2006 |
Joe Chuma | Bug Fix | Pause/Restart Refresh button added |
A Pause/restart refresh button has been added to the Roody frame so users may quickly pause and restart online histogram refreshing. |
39
|
10 Mar 2004 |
Joe | | Peak finding added to MIDASviewer |
The peak find panel has been added to MIDASviewer. Click on the speed
button to open the panel. Click the Find button to find peaks, and do a fit
if the attempt to fit check box is checked. Fitting seems slow, but that is
all internal to ROOT. |
134
|
02 Mar 2008 |
Exaos Lee | Bug Report | ROODY kills analyzer too!! |
I compiled roody svn231 with ROOT 5.18.00 and gcc 4.1 on Debain Linux 4.0 (AMD64).
I tested the roody with the "examples/experiment" in MIDAS svn4124 and
encountered the following error:
Error in <TFile::TFile>: file /last.root does not exist
*** Break *** segmentation violation
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1090525536 (LWP 17985)]
0x00000000004114e6 in root_server_thread (arg=<value optimized out>) at src/mana.c:5333
Current language: auto; currently c++
(gdb) next
[midas.c:2416:bm_validate_client_index,ERROR] Invalid client index 1 in buffer 'SYSMSG'. Client name '', pid 0 should be 17973
0x00002b800b8a5460 in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
(gdb) next
Single stepping until exit from function _Z10sighandleri,
which has no line number information.
Cannot remove breakpoints because program is no longer writable.
It might be running in another process.
Further execution is probably impossible.
0x00002b800b8a546e in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
ptrace: 娌℃湁閭d釜杩涚▼.
(gdb) next
Single stepping until exit from function _Z10sighandleri,
which has no line number information.
Cannot remove breakpoints because program is no longer writable.
It might be running in another process.
Further execution is probably impossible.
0x00002b800b8a546e in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
ptrace: 娌℃湁閭d釜杩涚▼.
(gdb) next
Single stepping until exit from function _Z10sighandleri,
which has no line number information.
Cannot remove breakpoints because program is no longer writable.
It might be running in another process.
Further execution is probably impossible.
0x00002b800b8a546e in sighandler () from /opt/ROOT/Versions/Current/lib/libCore.so.5.18
The system information is as the following:
$ uname -a
Linux daq-heg 2.6.18-5-amd64 #1 SMP Sat Dec 22 20:43:59 UTC 2007 x86_64 GNU/Linux
$ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release
x86_64-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
$ root-config --config
linuxx8664gcc --prefix=/opt/ROOT/Versions/5.18.00-gcc
--datadir=/opt/ROOT/Versions/5.18.00-gcc/share
--docdir=/opt/ROOT/Versions/5.18.00-gcc/doc
--incdir=/opt/ROOT/Versions/5.18.00-gcc/include
--libdir=/opt/ROOT/Versions/5.18.00-gcc/lib
--etcdir=/opt/ROOT/Versions/5.18.00-gcc/etc
--elispdir=/opt/ROOT/Versions/5.18.00-gcc/share/emacs/site-lisp --enable-cern
--with-cern-libdir=/usr/lib --enable-fftw3 --enable-gdml --enable-mathcore
--enable-mathmore --enable-opengl --enable-python --enable-qt --enable-roofit
--enable-ruby --enable-shared --enable-soversion --enable-ssl --enable-xml
--enable-xft --enable-xrootd --enable-g4root
--with-g4-incdir=/opt/GEANT4/Versions/9.0.p01/include
--with-g4-libdir=/opt/GEANT4/Versions/9.0.p01/lib/Linux-g++
Any idea to fix this problem? |
135
|
03 Mar 2008 |
Randolf Pohl | Bug Report | ROODY kills analyzer too!! |
Hi,
I had the very same problem last summer during our beam time. Don't know the revision, but it was the tarball I downloaded around mid-July.
Symptom: The MIDAS (online) analyzer crashed as soon as roody was started. Started, i.e. before any user interaction became even possible. And the crash happened always. 100.0%.
My workaround was: Use roody rev. 220.
No crashes, beam time saved.
I attach 2 outputs I saved at that time.
Oh, yes: I still have the sources and such. Last modified date is July 9 and earlier (see attachment 3). I can send them around if you want to find the revision and bracket the offending commits. (I wish you were using "git". Ever read about git-bisect?)
Cheers,
Randolf
PS: Konstantin, I had promised you to try and pin down the problem after the run. Obviously I forgot, sorry. Please tell me if I can be of any help now. |
Attachment 1: crash-analyzer.txt
|
Lamb_be>./bin/analyzer -e lamb07
Connect to experiment lamb07...OK
Loading previous online histos from /data/lamb/2007/data/last.root
Root server listening on port 9090...
Running analyzer online. Stop with "!"
*** Break *** segmentation violation
Using host libthread_db library "/lib64/libthread_db.so.1".
Attaching to program: /proc/2785/exe, process 2785
[Thread debugging using libthread_db enabled]
[New Thread 46971434529216 (LWP 2785)]
[New Thread 1090525504 (LWP 2789)]
[New Thread 1082132800 (LWP 2786)]
0x00002ab8635f5302 in __select_nocancel () from /lib64/libc.so.6
Thread 3 (Thread 1082132800 (LWP 2786)):
#0 0x00002ab85ecde0ab in __accept_nocancel () from /lib64/libpthread.so.0
#1 0x00002ab85f82d510 in TUnixSystem::AcceptConnection ()
from /usr/local/root/lib/root/libCore.so.5.14
#2 0x00002ab85f822592 in TServerSocket::Accept ()
from /usr/local/root/lib/root/libCore.so.5.14
#3 0x000000000041a9ff in root_socket_server (arg=<value optimized out>)
at src/mana.c:5454
#4 0x00002ab862df728a in TThread::Function ()
from /usr/local/root/lib/root/libThread.so.5.14
#5 0x00002ab85ecd709e in start_thread () from /lib64/libpthread.so.0
#6 0x00002ab8635fb4cd in clone () from /lib64/libc.so.6
#7 0x0000000000000000 in ?? ()
Thread 2 (Thread 1090525504 (LWP 2789)):
#0 0x00002ab8635cce1f in waitpid () from /lib64/libc.so.6
#1 0x00002ab863575491 in do_system () from /lib64/libc.so.6
#2 0x00002ab863575817 in system () from /lib64/libc.so.6
#3 0x00002ab85f831851 in TUnixSystem::StackTrace ()
from /usr/local/root/lib/root/libCore.so.5.14
#4 0x00002ab85f830a4a in TUnixSystem::DispatchSignals ()
from /usr/local/root/lib/root/libCore.so.5.14
#5 <signal handler called>
#6 0x000000000041b339 in root_server_thread (arg=<value optimized out>)
at src/mana.c:5333
#7 0x00002ab862df728a in TThread::Function ()
from /usr/local/root/lib/root/libThread.so.5.14
#8 0x00002ab85ecd709e in start_thread () from /lib64/libpthread.so.0
#9 0x00002ab8635fb4cd in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()
Thread 1 (Thread 46971434529216 (LWP 2785)):
#0 0x00002ab8635f5302 in __select_nocancel () from /lib64/libc.so.6
#1 0x00000000004449e7 in ss_suspend (millisec=1000, msg=0)
at src/system.c:3285
#2 0x000000000043acf3 in cm_yield (millisec=1000) at src/midas.c:3607
#3 0x000000000041afea in loop_online () at src/mana.c:3785
#4 0x000000000041dfba in main (argc=<value optimized out>,
argv=<value optimized out>) at src/mana.c:5756
#0 0x00002ab8635f5302 in __select_nocancel () from /lib64/libc.so.6
[midas.c:1592:] cm_disconnect_experiment not called at end of program
Lamb_be>
|
Attachment 2: crash-roody.txt
|
Lamb_be>roody -h localhost
main.cxx: Re-executing 'roody' with compiled-in ROOTSYS='/usr/local/root'
SetOptStat("nemri") got 1001111
Unable to open file "default.xml": No such file or directory
ReadRemoteObject trig_start from folder histos
Folder histos pointer 0
ReadRemoteObject trig_pattern from folder histos
ReadRemoteObject trig_tdc from folder histos
SysError in <TUnixSystem::UnixSend>: send (Broken pipe)
ReadRemoteObject trig_adc from folder histos
ReadRemoteObject trig_detector from folder histos
ReadRemoteObject trig_fadc from folder histos
ReadRemoteObject trig_cool from folder histos
ReadRemoteObject trig_display from folder histos
ReadRemoteObject lambdameter from folder histos
|
Attachment 3: roody-tarball-dir.txt
|
Lamb_be>l include/
total 68
-rw-r--r-- 1 root root 815 Sep 27 2006 CanvasLimits.h
-rw-r--r-- 1 root root 1453 Sep 27 2006 DataSourceBase.h
-rw-r--r-- 1 root root 833 Jul 9 2007 DataSourceNetDirectory.h
-rw-r--r-- 1 root root 683 Oct 7 2006 DataSourceTDirectory.h
-rw-r--r-- 1 root root 6016 Jul 8 2007 DataSourceTNetFolder.h
-rw-r--r-- 1 root root 1091 Jul 9 2007 MTGListTree.h
-rw-r--r-- 1 root root 7068 Jul 9 2007 Roody.h
-rw-r--r-- 1 root root 1112 Sep 27 2006 RoodyXML.h
-rw-r--r-- 1 root root 1883 Dec 5 2006 TAxisLimitsDialog.h
-rw-r--r-- 1 root root 1664 Sep 27 2006 TGTextDialog.h
-rw-r--r-- 1 root root 2519 Sep 27 2006 TPeakFindPanel.h
-rw-r--r-- 1 root root 4599 Sep 27 2006 mxml.h
-rw-r--r-- 1 root root 41 Jul 30 2007 rootsys.h
-rw-r--r-- 1 root root 558 Sep 27 2006 strlcpy.h
Lamb_be>l src/*.c*
-rw-r--r-- 1 root root 18 Aug 21 2006 src/.cvsignore
-rw-r--r-- 1 root root 4064 Jul 9 2007 src/DataSourceTDirectory.cxx
-rw-r--r-- 1 root root 5222 Jul 9 2007 src/MTGListTree.cxx
-rw-r--r-- 1 root root 75044 Jul 9 2007 src/Roody.cxx
-rw-r--r-- 1 root root 3587 Sep 27 2006 src/RoodyXML.cxx
-rw-r--r-- 1 root root 6798 Dec 5 2006 src/TAxisLimitsDialog.cxx
-rw-r--r-- 1 root root 4949 Sep 27 2006 src/TGTextDialog.cxx
-rw-r--r-- 1 root root 22120 Jul 25 2007 src/TPeakFindPanel.cxx
-rw-r--r-- 1 root root 22097 Sep 27 2006 src/TPeakFindPanel.cxx~
-rw-r--r-- 1 root root 3552 Jul 9 2007 src/main.cxx
-rw-r--r-- 1 root root 62288 Sep 27 2006 src/mxml.c
-rw-r--r-- 1 root root 2120 Sep 27 2006 src/strlcpy.c
|
57
|
20 Jul 2004 |
Pierre | | Re-framing effort on Miroodas continues... |
Requirement List:
================
- To be done SW : Selection window
= Done GW : Graphic window
> Problem
1) Online capability
====================
- Socket connection to the Midas analyzer for histogram display.
- The Tree is not yet to be considered as yet not implemented in Root (Circular
buffer, NetTDirectory).
= done - Option of specifying the host name AND port number has to be present to
allow multiple parallel Miroodas session connected to different analyzer.
= done - Multiple Miroodas connecting to a given Midas experiment is already
available through the Midas analyzer local Root server.
= Retain the host:serverport for reconnection due to lost of possible communication
with the analyzer.
- Add RBclick for online disconnect.
2) Histogram update
===================
- While in online mode, simple mean of switching on/off the histogram update
with options such as: Single shot update, pause/resume update, change update
frequency need to be implemented.
- The update frequency is global to the application and therefore appears in a
pull-down menu in the SW.
- While the "Refresh", "Off", "On" are in the menu bar, should also be present in the
RBClick menu in either the SW or GW.
3) Open Offline Files
=====================
Possibility of concurrently open multiple files of the .root AND .hbook
file type. So far only the histogram part of the content of the files are
retrieved for display.
= The histogram list appears in a unique window and can be mixed with the
Online histogram (SW).
= The mode of histogram reference display may be using a tree listing.
= In that case the description string should merge information such as the
file name or run number in order to distinguish from the similar open files
containing equivalent histogram name.
> the Tree structure branch provide the open file name.
4) Multiple Selection buttons
=============================
> From the SW possibility of multiple selection using the standard Ctl/Alt
key should be available. Currently ROOT may not provide such option (contact
with René Brun for confirmation of this lack of flexibility).
Appears not possible, KO will look into ROOT code for implementation.
5) Grouping Histogram
=====================
Grouping is a feature allowing the display in a single operation of a
predefined set of histograms. Inital thoughts on that subject tend to suggest
that a group must be reference to the histogram name or histogram title only.
In the ONLINE mode this reference is correct as the histogram are re-used over
the multiple runs (the saving of the histograms themselves is done through
the analyzer, Miroodas doesn't have knowledge of the run state at this point
of development). For OFFLINE use, the group should also be only referenced to
the histogram name or title as the same group name could be used for
retrieving the same set of histograms from different files (different run).
The implementation of the manipulation of the group list (creation/add/remove)
is not yet defined.
= Jun 2004: main development topic (GROUPING).
= RULE: All histos of a given group cone from the same source.
6) Selection display option
===========================
= Once the selection from the SW is performed, option for the destination
selection display should permit "new canvas", "Overlay", "Replace" actions.
- Option to maintain Xscaling on different histo display.
- In the "Overlay" case option for color cycling should be available.
7) Save/Restore Configuration
=============================
= Possible save-set of the current SW is required for later quick restore
of the application state.
- The saved configuration could also include the graphical canvas characteristics.
8) Save/Restore selected histogram
==================================
- Possibility of saving a group to a file (.root) should be available.
- Possible automatic "group save" request during application termination may
be foreseen.
9) Zooming option
=================
= Zooming should survive the Online update (keep the associated zooming
parameter at the histogram level).
- hold refresh while selecting zoom option (prevent redisplay).
10) Offline file update
======================
- Possible update of the opened file can be investigated. This would allow
external application to update .root file opened by Miroodas.
11) PeakFinder() option
=======================
= done - Greg King PeakFinder() method should be part of the Miroodas.
= invoked by RBClick on the GW.
12) Pre-programmed fit
======================
- Possible extension of the list of pre-program fit function. This could be
part of the configuration file.
13) TreeViewer invocation
=========================
While Histogram is so far the only object handled by the online Miroodas
application, the offline file may contain Tree objects.
= Option for launching TTreeViewer() is beneficial.
14) Application argument option
===============================
- The Miroodas application should be able to take multiple combination of
command line arguments such as:
= initial .root, .hbook file
= Argument option -Rfile.save for configuration (include groups).
= host name and port number for ONLINE access (-Hhost:port).
- log file description for debugging purpose.
---------------------------------------------------------------------
Current state of options:
> TTriumfFileGUI -h
USAGE:
TTriumfFileGUI [-h] [-Hhost[:port]] [file.root ...] [file.hbook ...]
Options :
-h - display usage
-Hhost[:port] - connect to midas analyzer on given host and port
file.root - load .root files
file.hbook - load .hbook files
-Rsavefile - restore savefile
---------------------------------------------------------------------
15) Zone option
===============
= Predefine set of Zone should be available.
16) Block incrementation
=========================
In the case of a multiple CONSECUTIVE histogram selection, the Right Button
Click (RBClick) should provide option for displaying the "next block" of
histograms. The "next block" refers to the immediate following consecutive "not
yet selected" set of histograms. This option should follow the previous display
setting (ie: override canvas/new canvas, etc ). This permits a quick scan of
histogram before the block is referenced as a group by assigning a name to the
histogram set (RBClick option).
> Depend on the mouse selection option... (see pt4).
17) Group naming in graphical canvas
====================================
- When in GW for group or block, RBClick should provide respectively the
renaming/naming of the group/block.
18) Persistence of the Xscale
=============================
- In the GW the RBClick should provide the option to freeze the last Xscale or
Yscale setting for later application to newer GW display.
19) Xscale applied to whole canvas
==================================
- In the case of a multiple histogram display (group or block), RBClick should
allow an option to apply automatically the last Xscale (or Yscale) setting to
the whole GW set of histograms.
20) Histogram Clear
===================
As for the 2) the clear action should be available at all the different CS
levels in either the SW or GW.
21) Histogram info box
======================
= Add run number extracted from the opened file name in the GW below the histogram name.
- Add possible run number extracted from online in the GW below the histogram name.
22) Temporary folder
====================
- Implement Temporary Tree for snapshot of any GW histogram content.
. |
59
|
27 Jul 2004 |
Konstantin | | Readd the peak finder context menu item |
The peak finder context menu item was present only for TH1D histograms and
absent in all other histograms. I fixed this by explicitely adding this item
to the class menu of all TH1X classes. K.O. |
146
|
25 May 2011 |
Jackie Glister | Forum | Refresh problem when drawing groups |
I'm having a Roody refresh problem: when I draw groups in online mode the entire
canvas is refreshed with the most recently selected single histogram, instead of
the group. I used svn to install the most recent version (svn checkout
svn://ladd00.triumf.ca/roody/trunk roody). Any help would be greatly appreciated! |