Back Midas Rome Roody Rootana
  Root Display GUI, Page 5 of 7  Not logged in ELOG logo
ID Date Author Topic Subjectup
  78   20 Dec 2004 John M O'DonnellBug Fixdisplaying cuts implementation
Attached is a cvs patch to allow roody to display graphical cuts (TCutG).

Does somebody have the permissions to commit this patch to the cvs repository?

It also includes some hooks where code for updating a cut will be implmented.
Updating cuts will be done with another patch, to both roody and midas.  This same
mechanism can be used for creating new cuts and sending them to the analyzer.

The final part of this project will be a change to midas to allow cuts to be booked
into (sub)folders.  I have some code which I am using for testing purposes, but I
don't like where it stores the cuts for persistence between different invocations of
the analyzer.  I'm thinking that cuts should be stored in last.root, and retrieved
from there.

John.
Attachment 1: cut_display.patch
? MTGListTreeDict.cxx
? MTGListTreeDict.h
? RoodyDict.cxx
? RoodyDict.h
? TGTextDialogDict.cxx
? TGTextDialogDict.h
? TNetFolderDict.cxx
? TNetFolderDict.h
? TPeakFindPanelDict.cxx
? TPeakFindPanelDict.h
? TXaxisLimitsDialogDict.cxx
? TXaxisLimitsDialogDict.h
? roody
Index: Roody.cxx
===================================================================
RCS file: /usr/local/cvsroot/roody/src/Roody.cxx,v
retrieving revision 1.42
diff -r1.42 Roody.cxx
284a285
>   AddSetCut();
673a675,689
> void Roody::AddSetCut()
> {
>   TClassMenuItem *menuItem = new TClassMenuItem( TClassMenuItem::kPopupUserFunction,
> 		                                 Roody::Class(),
> 						 "Send to Analyzer", "SetCut", this,
> 						 "TObject*", 0);
>   TCutG::Class()->GetMenuList()->AddFirst(menuItem);
> }
> 
> void Roody::SetCut(TObject *o)
> {
>   TCutG *cut = static_cast<TCutG*>(o);
> cout << "SetCut callback for " << cut->GetName() << " not yet implemented" << endl;
> }
> 
989a1006,1010
>   else if( obj->InheritsFrom(TCutG::Class()) )
>   {
>     TCutG *c = static_cast<TCutG*>(obj);
>     c->Draw();
>   }
2354a2376,2382
>     else if( type && type->Contains("TCutG") && !found )
>     {
>       fFileOnlineContents->AddItem( item, itemDescription.c_str(),
> 		                    (void*)new TObjString(name.c_str()),
> 				    gClient->GetPicture("cut_t.xpm"),
> 				    gClient->GetPicture("cut_t.xpm") );
>     }
2410a2439,2443
>   else if (object->InheritsFrom(TCutG::Class()) )
>   {
>     TCutG *cut = static_cast<TCutG*>(object);
>     DrawObject( dest, cut);
>   }
Index: Roody.h
===================================================================
RCS file: /usr/local/cvsroot/roody/src/Roody.h,v
retrieving revision 1.36
diff -r1.36 Roody.h
259a260
> #include "TCutG.h"
305a307
>   void SetCut(TObject *cut);
464a467
>   void AddSetCut();
Index: TNetFolder.cpp
===================================================================
RCS file: /usr/local/cvsroot/roody/src/TNetFolder.cpp,v
retrieving revision 1.1
diff -r1.1 TNetFolder.cpp
49,51c49,54
<   TObjArray *list = (TObjArray*) m->ReadObject(m->GetClass());
<   delete m;
<   return list;
---
>   if (m) {
>     TObjArray *list = (TObjArray*) m->ReadObject(m->GetClass());
>     delete m;
>     return list;
>   }
>   return 0;
  79   07 Jan 2005 John M O'DonnellBug Fixdisplaying cuts implementation
> Attached is a cvs patch to allow roody to display graphical cuts (TCutG).
> 
> Does somebody have the permissions to commit this patch to the cvs repository?
> 
> It also includes some hooks where code for updating a cut will be implmented.
> Updating cuts will be done with another patch, to both roody and midas.  This same
> mechanism can be used for creating new cuts and sending them to the analyzer.
> 
> The final part of this project will be a change to midas to allow cuts to be booked
> into (sub)folders.  I have some code which I am using for testing purposes, but I
> don't like where it stores the cuts for persistence between different invocations of
> the analyzer.  I'm thinking that cuts should be stored in last.root, and retrieved
> from there.
> 
> John.

cvs commit made today to support display of polygons, and sending polygons an analyzer.
A patch for mana.c so that MIDAS analyzers receive polygons has been sent to Stefan.

John.
  80   10 Jan 2005 Stefan RittBug Fixdisplaying cuts implementation
> A patch for mana.c so that MIDAS analyzers receive polygons has been sent to Stefan.

Patch has been submitted to CVS so mana.c is up-to-date.

- Stefan
  81   13 Jan 2005 John M O'DonnellBug Fixdisplaying cuts implementation
I have just sent a MIDAS patch to Stefan so that:

(1) cuts should be booked using TCutG *cut_book( const char *name).
    Usage is similar to h1_book etc.

(2) cuts are saved in last.root.

(3) cuts are restored from last.root.

I also fixed a bug in receiving cuts from ROODY.  The search for
cuts should be made only in gManaHistosFolder, not from gROOT.
Should this also be the case for GetPointer etc.?

I believe this implements a first pass at handling TCutG for MIDAS and ROODY.
To create a cut from scratch, one declares it in the analyzer init functions
using cut_book, and saves the pointer for use in the event-by-event code.
Then in ROODY, create a polygon, name it and send it to the analyzer (right click
on the polygon).

I believe the patchs which I have made should also be applied to ROME.

John.
  32   09 Jan 2004 Joe draw in first pad
Modified TTriumfFileGUI to draw in the first pad when the canvas
is divided into zones.  Also, a few cosmetic changes.
  33   12 Jan 2004 Joe drop down menu changes
Modified TTriumfFileGui.h and .cxx to fix up drop down menus, putting in
check marks to denote which option is currently in effect.  Also, a few more
cosmetic changes.
  88   01 Feb 2005 Joe ChumaBug Fixfixed 2 problems introduced with yesterdays changes
Two bugs were introduced yesterday...
 -- program crashes when trying to connect online via  roody -h nodename
    (uninitialized pointer)
 -- program crashes when restoring an xml file which tries to use the
    external dtd file (unchecked error condition)
Both problems are now fixed.
  86   28 Jan 2005 Joe ChumaBug Fixfixing y-axis scales
The y-axis scales can now be fixed just like the x-axis scales.  Choose
YaxisLimits from the context menu when right-clicking on a histogram frame and a
small dialog box will open in which you can enter the min and max values.  If
the frame is part of a multipad canvas, all pads on that canvas will be redrawn
with the new scales.  Choose YaxisLimits again and click on the Unzoom button to
unzoom all pads on that canvas.
  42   31 Mar 2004 Joe latest version of the root viewer gui
The bottom canvas window has been removed.  The superfluous buttons have
been removed.  No response, yet, to my question in the ROOT forums regarding
inserting PeakFind in the pre-defined context menu when right-clicking on a
histogram.
  18   21 Jul 2003 Konstantin meeting this Tuesday!
We will have our regular meeting this Tuesday at 10am in the ISAC2 2nd 
floor kitchen. 
 
Agenda: 
 -review of assigned homework (I did most of mine!). 
 -layout of our cvs repository 
 
K.O. 
 
  95   12 Apr 2005 Joe ChumaBug Fixmemory leak fix
A memory leak was fixed in Roody.cxx, which occurred when updating a histogram
from a NetFolder object.
  56   19 Jul 2004 Joe minor bug fixes in TTriumfFileGUI and TGTextDialog
Fixed: do not make a group named "-1" when TGTextDialog returns "-1" when
canceled; rationalize the host name and port number code; do not use hot
keys "O" and "C" in TGTextDialog as I could not enter an "O" or a "C" into
the text area (probably some conflict with X-Win32, but just as well to get
rid of it).
  107   19 Dec 2005 Konstantin OlchanskiBug Fixminor fixes
Minor fixes that escaped quality assurance by previous commiters:
1) remove include/rootsys.h from cvs - it is a generated file
2) have "make clean" remove obsolete stuff from src (src/roody, src/rootsys.h, etc)
3) fix completely nonfunctional enforcement of setting ROOTSYS to the compiled-in value: execv() should have been execvp() (my bug), actually do call setenv("ROOTSYS","blah...") (OS_UNIX was not defined in the Makefile, bug by previous committer).
4) fix an mxml bug imported from MIDAs land (xml output into a string buffer was corrupted).
K.O.
  109   19 Dec 2005 Stefan RittBug Fixminor fixes

Konstantin Olchanski wrote:
Minor fixes that escaped quality assurance by previous commiters


ROODY is again broken under Windows, can someone look into this:

c:\roody\include\Roody.h(364) : error C2143: syntax error : missing ';' before '
'template<''
c:\roody\include\Roody.h(364) : error C2501: 'export' : missing storage-class or
type specifiers
c:\roody\include\Roody.h(397) : error C2143: syntax error : missing ';' before '
'template<''
c:\roody\include\Roody.h(397) : error C2501: 'export' : missing storage-class or
type specifiers
c:\roody\include\Roody.h(397) : error C2086: 'int export' : redefinition
c:\roody\include\Roody.h(364) : see declaration of 'export'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.

Regards,

Stefan
  110   19 Dec 2005 Stefan RittBug Fixminor fixes

Konstantin Olchanski wrote:
4) fix an mxml bug imported from MIDAs land (xml output into a string buffer was corrupted).


That bug has already been fixed long time ago. The problem is that the mxml.c file now lives twice in repositories, once in standalone mxml package and once in roody, and they will always diverge if one does not properly apply changes from one repository to the other. Since we use mxml in midas, rome and elog, we use a separate repository "mxml", which you can access through subversion at

http://savannah.psi.ch/websvn/listing.php?repname=mxml&path=%2Ftrunk%2F

I would recommend to do the same for roody. The disadvantage will be that one has to check out two packages to build roody, the advantage will be that there will be only one mxml, and if one fixes/extends this one, it will be to the benefit of all projects. The current one has for example the new mxml_parse_entity function, so that one can make includes in XML files. And I plan to have a fast transparent binary XML cache for large XML files in the near future.

- Stefan
  117   06 Jun 2006 Konstantin OlchanskiBug Fixminor fixes

Konstantin Olchanski wrote:
Minor fixes that escaped quality assurance by previous commiters:
2) have "make clean" remove obsolete stuff from src (src/roody, src/rootsys.h, etc)
3) fix completely nonfunctional enforcement of setting ROOTSYS to the compiled-in value: execv() should have been execvp() (my bug), actually do call setenv("ROOTSYS","blah...") (OS_UNIX was not defined in the Makefile, bug by previous committer).


Restored fixes (2) and (3) that were removed by a careless previous committer.

(Note this assumes windows has "setenv()", which I believe it does have, please test compilation on Windows ASAP and let me know).

K.O.
  118   06 Jun 2006 Konstantin OlchanskiBug Fixminor fixes
> Minor fixes that escaped quality assurance by previous commiters:
> 2) have "make clean" remove obsolete stuff from src (src/roody, src/rootsys.h,
etc)
> 3) fix completely nonfunctional enforcement of setting ROOTSYS to the
compiled-in value: execv() should have been execvp() (my bug), actually do call
setenv("ROOTSYS","blah...") (OS_UNIX was not defined in the Makefile, bug by
previous committer).


(previous message was completely garbled by the Elog "ELCode" whatever it is)


Restored fixes (2) and (3) that were removed by a careless previous committer.

(Note this assumes windows has "setenv()", which I believe it does have, please
test compilation on Windows ASAP and let me know).

K.O.
  17   21 Jul 2003 Konstantin miroodas forum
The URL for the MIROODAS forum is: http://daq.triumf.ca:8085/MIROODAS 
K.O. 
 
  94   12 Apr 2005 Joe ChumaBug Fixmodified reset option implementation
The reset option has been modified to use the new "Command" option in mana.c
instead of the "Reset" option in mana.c, which has been removed.
  66   30 Sep 2004 Joe ChumaInfomore right click features
Right click on Offline folder opens the file dialog.

Right click on Online folder opens the hostname dialog.

If only one group exists, you will not be asked to choose the group when adding items to a group.
ELOG V3.1.4-2e1708b5