1 2007-03-25 Matevz Tadel <matevz.tadel@cern.ch>
5 Improve handling of multi-level track containers for kinematic
8 2007-03-24 Matevz Tadel <matevz.tadel@cern.ch>
11 * RenderElementEditor.cxx:
12 * RenderElementEditor.h:
13 Add virtual interface allowing sub-classes to request editor for
14 transparency and transformation-matrix via RenderElement.
18 Added method SetGeoHMatrix(), initializing TGeoHMatrix from
23 Use transparency/transf-matrix service from RenderElement for
24 classes GeoTopNodeRnrEl and GeoShapeRnrEl; use ZTrans for storage
25 of transforamtion matrix in class GeoTopNodeRnrEl.
27 * RGeoNodeEditors.cxx:
28 Removed unneeded widget association.
30 2007-03-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
33 Add getter for fValueIsColor.
35 2007-03-22 Matevz Tadel <matevz.tadel@cern.ch>
37 * TGeoShapeExtract.cxx:
39 New files: class TGeoShapeExtract that allows import of exact
40 image of geometry as exported from gled.
45 New classes TGeoShapeExtract and Reve::GeoShapeRnrEl.
48 Disable ROOT's auto-update of TGListTree's checkboxes.
51 Setup check-box pictures when inserting in a list-tree.
54 Fix typo, swap of R/Z.
58 Add ctors/setters from float/double arrays.
61 Align position, rotation and scale widgets.
68 2007-03-15 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
73 New class GridStepper.
76 Check ownership of quad-ids in Reset().
78 2007-03-15 Matevz Tadel <matevz.tadel@cern.ch>
82 Add an optional flag to Redraw3D() issuing a request for dropping
83 of logical-shapes on this redraw (temporary hack until we get new
84 gl stuff and can do it right). Fix in RemoveRenderElement() where
85 wrong argument was used when unregistering the item from the
88 2007-03-08 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
92 Added method SortPathMarksByTime().
95 Fix for checking boundaries of path-marks.
97 2007-03-08 Matevz Tadel <matevz.tadel@cern.ch>
100 Missing initialization; fiddle with the track marker-style a bit
103 2007-03-06 Matevz Tadel <matevz.tadel@cern.ch>
106 In PadPrimitive::Paint() test fRnrChildren instead of fRnrSelf.
107 Some formatting changes while searching for the above bug.
109 2007-03-04 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
114 Classes RenderElement and RenderElementListBase have been merged,
115 RenderElementListBase class is removed.
117 Since RenderElement supports hierarchical structure fRnrElement is
118 replaced to fRnrSelf and fRnrChildren. RnrSelf/RnrDaughters
119 callbacks from editor set check box picture according to the for
122 New class PadPrimitve. Objects of the classes enable recursive
123 rendering as they are added in TPad fListOfPrimitives.
127 Changes from RenderElement. Added Bool_t fKeepEmptyCont
128 determining behaviour of zero-count rnr-element imports.
132 Added function to create 4 check box pictures which mark fRnrSelf
133 and fRnrChildren state of RenderElement.
137 Inherit from PadPrimitve instead of from RenderElementList.
139 * RenderElementEditor.cxx:
140 * RenderElementEditor.h:
150 Changes from RenderElement.
154 Changes from RenderElement; change import functions to
155 add hits, clusters, kinematic to selected object.
157 2007-02-26 Matevz Tadel <matevz.tadel@cern.ch>
161 In class Track: renamed ImportDaughters() to ImportKine(), added
162 ImportKineWithArgs(), both accessible from ctx-menu.
164 2007-02-26 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
169 TrackRnrStyle: add pt-range memebers.
171 2007-02-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
175 Add function to return PathMark type-name.
178 Call redraw after Enable/DisableListElements.
182 Two new items for context menu: PrintPathMarks and
186 Make consistent alignment.
188 2007-02-20 Matevz Tadel <matevz.tadel@cern.ch>
194 Fix Ludovic's strange const-method syntax.
196 2007-02-19 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
199 Add member time to class PathMark. Set values in enum
203 Add callbacks to set path marks. In Track::MakeTrack() implement
204 fitting of track references and daughter particles.
207 Add Getters and Setters in TrackRnrStyle and TrackList to define
208 rendering of path marks.
212 Add widgets to control rendering and fiting of pathmarks.
216 Override LineGL::DirectDraw() to draw path marks.
218 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
221 Added nested class RedrawDisabler allowing exception-safe
222 disabling of 3d-redraw.
224 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
228 TrackCounterEditor: add number-entry to directly set the event
231 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
235 TrackCounter: added method OutputEventTracks() for storing
240 TrackCounterEditor: added buttons to print/file scanning results
241 and to display current histograms.
243 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
247 Added method Track::PrintKineStack(); added global TrackCounter
248 pointer to overcome resets of CINT globals in macros.
250 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
253 Added getters for frame-point details.
256 If frame-box is set, use it for determination of bounding-box.
258 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
261 Subclass from ReferenceBackPtr instead of ReferenceCount.
268 Moved declaration/definition of ReferenceBackPtr from
269 RenderElement.h/cxx to Reve.h/cxx.
272 Added index data-member to MC/RecTrack.
276 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
277 fEmitSignals' that controls if signals are emitted on secondary
279 Fixed handling of main-color which is in fact
280 forwarded to shared frame.
284 Added method 'void ImportClustersFromIndex()' and data-member
288 Increase range of track extrapolation precision.
290 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
294 Added per-quad TRef, implemented virtual callback QuadSelected()
295 for secondary selection from GL.
299 Added support for secondary selection. Sacrificed some speed for
300 simplicity / clarity.
302 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
306 Added inner struct VoidCPlex::iterator; increase constness.
311 Slight simplification of heavy-duty loops over elements.
313 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
319 Added support for rendering hexagons (needed by PMD).
321 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
325 Renamed typedef lpRE_t/i to List_t/i.
326 Added method groups Begin/End/GetN-Parents/Children().
332 Renamed typedef lpRE_t/i to List_t/i.
335 New class TrackCounter[Editor]; added RenderElement typedefs.
338 Render frame before checking if QuadSet is empty and exiting.
342 Added a hack that restores CINT state if macro execution ends with
347 Added class TrackCounter;
348 Track now inherits from TQObject and emits a Clicked() signal;
349 Renamed typedef lpRE_t/i to List_t/i.
353 Added class TrackCounterEditor.
356 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
358 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
366 New files: line representation with per-point selection.
370 New files: allow interaction with the track, more configurability
371 (render as line, points or both).
375 Derive Track from Line (before was TPolyLine3D, RenderElement);
376 this allowed me to remove a lot of code actually shared with
380 Register new classes.
383 Some points were duplicated during track construction.
390 Use better names for QuadTypes (enum and internal structs).
394 Style/comment changes.
396 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
400 Removed unnecessary constructor.
402 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
405 Bugfix: loop variable was not increased in case of a continue
410 Rename over/undershoot to over/underflow.
412 * RGBAPaletteEditor.cxx:
413 * RGBAPaletteEditor.h:
414 Beautify editor; rename over/undershoot to over/underflow.
416 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
420 * CascadeEditors.cxx:
422 From Ludovic, new files for visualization of cascades.
425 From Ludovic: register new classes. Reorganize some entries so
426 that a class, editor and gl-renderer are listed together.
431 From Ludovic: updates for V0 visualization.
435 Main color now set from frame-box (instead of default palette
439 Use new color-query function from RGBAPalette; validity of digit
440 value was not honoured in line-drawing modes.
444 * RGBAPaletteEditor.cxx:
445 * RGBAPaletteEditor.h:
446 Reimplementation of over/undershoot handling with separate modes
447 for both ends (cut, mark, clip and wrap); this works marvelously.
451 New files, editor for QuadSet gluing together translation and
456 Added int version of SetLimits for RGDoubleValuator; added
457 getters for value limits (Ludovic).
463 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
471 * RGBAPaletteEditor.cxx:
485 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
488 Added getters for limits of the RGValuator.
490 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
493 Removed support for old ROOT versions.
497 Added base-interface ReferenceBackPtr (reference-counted object
498 with back references to render elements); to be used for shared
499 markup classes (color-palettes, frames) that need to update their
500 consumers once their state is changed.
504 Removed code for RGBAPalette; now in its own file.
508 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
514 Very optimized in sense of speed / memory usage as it supports
515 several orientations of rectangles and all possible variants of
516 default sizes / third coordinate; also added pointers to
517 color-palette and frame-box/rectangle so that these elements can
518 be shared among instances of the same type (eg. silicon strip
519 detectors). Means more code in this class ... but hopefully much
523 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
529 New files: provide a surrounding box/rectangle with a given
530 size/color; can be shared among many instances of render-elements
531 (eg. silicon strip detectors).
535 New files: container with chunked memory allocation (to avoid
536 frequent re-allocation on creation time) and ability to refit
537 itself into a contiguous array.
541 * RGBAPaletteEditor.cxx:
542 * RGBAPaletteEditor.h:
543 New files: a generic color palette with value to color mapping; to
544 be used by most digit/raw-data classes; can be shared among many
545 instances of render-elements (eg. silicon strip detectors).
551 From Ludovic: new files for visualization of V0s.
553 * RenderElementEditor.cxx:
557 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
564 Started to work on reimplementation of the quad-set, renamed the
565 old one to OldQuadSet; i'm checking this in because another change is
566 needed for the new muon code and i already changed several things.
568 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
572 In Line render-mode really render boxes as lines to allow
573 selection to proceed through the box walls; removed pre-processor
574 ifs for old root version.
576 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
579 Fixed operator+ functions for exceptions (forgot to change them
580 when migrated from std::string to TString as exception base-class).
582 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
586 Changed inheritance to include Reve::RenderElement;
587 use ZTrans to store transformation matrix;
588 added render-mode state (to force line/fill drawing).
590 In class Box added ctor and function MakeAxisAlignedBox() to
591 facilitate creation of regular boxes.
594 Support different render modes.
599 New class Reve::RGBAPalette: allow easier creation of color
600 paletts mapped to integer-value range.
606 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
607 change width of all tracks in TrackList.
611 Added method method GenerateZNormalColors() that uses
612 Reve::RGBAPalette to set-up triangle color based on z-component of
615 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
621 New files: implementation of homogeneous transformation matrix
622 with accompanying geditor.
626 * TriangleSetEditor.cxx:
627 * TriangleSetEditor.h:
630 New files: arbitrary triangulated surface.
633 Create a dummy event directory if none exists on AddRenderElement.
637 Added class RGTriVecValuator, a composite widget for editing
638 three-vectors. Used by ZTransEditor.
643 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
647 Added contructor from TPartice.
649 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
654 Fix wrong numerical constant in transformation assignment.
657 Added comment about problems with getting context-menu for
662 Added data-members for important GUI elements (master-frame,
663 master-tab); added method 'AddCanvasTab(const char* name)'.
667 Use TString as exception base instead of std::string.
671 Brought in sync with changes in render-element
672 management/conventions.
674 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
680 Made RenderElement::ExportToCINT() virtual and reimplemented it in
685 Added optional TrackRnrStyle* argument to TrackList constructors;
686 renamed mRnrStyle to fRnrStyle.
688 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
697 Changes for new geditor and gl two-level selection; added
698 delarations of private copy-ctor and assignment-op.
701 Added method GetRnrElement().
706 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
707 it checks if the object is being displayed in the editor but can
708 in principle check other things as well.
710 * RenderElementEditor.cxx:
711 Assgined RenderElementEditor fPriority 0 (to appear on top).
713 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
718 Made GLCanvas un-editable to prevent users from drawing things
719 over 3D scene; renamed the canvas data member from fCC to
720 fGLCanvas. Renamed local variables not to dress-up as
723 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
726 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
731 Properly update items of render-elements; call gReve::Redraw3D()
732 instead of pad modified/update. Added separate method
733 DisplayRenderElement() that caches the render-element in a
734 data-member to update it on change (needed for RenderElementObjPtr).
737 Use RGEditor::DisplayRenderElement() instead of
738 DisplayObject(). Removed some never-used static structures.
741 Removed Redraw3D() from UpdateItems() as it can now be called from
742 RGEditor::Update(); optimized item-updates in SetRnrElement() and
745 * PointSetArrayEditor.cxx:
747 Added call to Update() in SetRange() methods.
749 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
754 Use new functionality from TGedEditor.
756 * PointSetArrayEditor.cxx:
757 * PointSetArrayEditor.h:
758 * RGeoNodeEditors.cxx:
760 * RenderElementEditor.cxx:
761 * RenderElementEditor.h:
764 Conform to new TGedFrame paradigm in ROOT.
766 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
769 Fix effc++ warnings and most blatant coding-convention violations.
771 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
777 * PointSetArrayEditor.cxx:
778 * PointSetArrayEditor.h:
784 * RGeoNodeEditors.cxx:
788 * RenderElementEditor.cxx:
789 * RenderElementEditor.h:
807 Removed code for gled-like object editors (obsolete, somewhat
808 decayed); fix effc++ warnings.
810 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
816 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
819 In Reset: added call to PointSet3D::ClearIds().
823 Added support for control of camera-reset to Redraw3D(); when
824 opening GL window disable automatic camera reset on update and on
827 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
831 Commented-out info print statements.
833 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
837 Bypass buggy TMacro ctor (caused problems on paths including '.',
840 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
844 Added method RenderElementListBase::DestroyElements().
846 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
850 Removed files: the contents moved to VSDEvent and renamed
855 New files: common base class for an event object (VSDEvent and
860 New files: rename of class Reve::Event, now subclassed from
864 Reflect changes in event classes.
867 Added include TError.h.
871 Changed current-event pointer from TObject to EventBase; made
872 global-store and event-stores render elements; improved interface
873 for adding/removing render-elements.
877 Implemented proper reference management accross render-elements,
878 render-element-lists and tree-items; implemented methods for
879 removal and destruction of render-elements.
885 * RGeoNodeEditors.cxx:
888 Proper management of dependent render-elements, renamed
889 FullUpdate() to UpdateItems() and changed inheritance order
890 (derive RenderElement first).
892 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
897 Added new classes TPointSelector and TPointSelectorConsumer
898 allowing more natural extraction of point-data from trees.
902 Implemented the TPointSelectorConsumer interface for PointSet and
903 PointSetArray; in PointSetArray removed obsolete methods
904 MakeScrollbar() and HandleScrollEvent().
906 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
909 Skip render-state initialization if no boxes present.
913 Added option to render GeoTopNodeRnrEl at a given global position
914 (requires ROOT > 5.11.7).
919 Fixed creation of editor frame so that it uses X client's
920 SetRoot() functionality. This should (finally) close the issue.
923 Check for macro via full-path (fTitle); save macro as '.C' not
927 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
928 searching the list of global functions.
931 Fixed code for hit and cluster import to work with 'new' render
932 element registration mechanism.
934 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
939 New class Reve::RMacro: a sub-class of TMacro that tries to unload
940 the macros properly before/after the operation.
944 Provide TFoler fMacroFolder to all consumers, register
945 Reve::RMacro mime type on start-up.
949 Added global function Bool_t Reve:CheckMacro().
951 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
955 In TrackList: added ImportHits/Clusters(); removed obsolete
958 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
962 In PointSetArray: added member for default daughter PointSet
963 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
964 daughter polymarker stuff in InitBins() instead of CloseBins().
968 Consistently use nuber of slider positions in RGValuator.
971 Added method RenderElementListBase::RemoveElements().
973 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
976 Added non-protected wrapper Render() for DirectDraw().
980 Subclassed point-set-array from TAttMarker, propagate changes to
983 * PointSetArrayEditor.cxx:
984 Removed stale printout.
987 Print exceptions to terminal also.
989 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
992 Draw charged tracks as straight lines when magnetic field is near
995 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
1000 * RenderElement.cxx:
1002 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
1003 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
1004 when dependencies were not generated properly.
1008 Added methods Track::ImportHits() and Track::ImportClusters();
1009 fixed a charge value inconsistency yielding reconstructed
1010 track charge to be 1/3.
1012 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
1015 Added friend PointSetArrayEditor.
1017 * PointSetArrayEditor.cxx:
1018 * PointSetArrayEditor.h:
1021 Use RGDoubleValuator for range-selection widget.
1024 Accept -mode cmd-line option as an alias for -revemode.
1027 Added some padding for labels.
1029 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
1033 Added method UndrawRenderElement().
1035 * RenderElement.cxx:
1037 Implemented dtor for RenderElement removing all instances from
1042 Added method RGValuator::SetEnabled().
1044 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
1051 Added preprocessor conditionals to support ROOT > 5.11.2.
1053 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1060 New valuator widget classes RGValuator and RGDoubleValuator.
1062 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1067 Added method ArrTrans().
1070 Added setup of macro/include paths into function
1073 * reve_main/reve_main.cxx:
1074 Removed macro/include path setup.
1076 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1082 Use RenderElement* as user-data of list-tree entries (it was
1086 * RenderElement.cxx:
1088 Added class RenderElementObjPtr to allow display and control of
1089 pure TObjects (see alice-macros/region_marker.C for an
1090 example). This is not perfect as there is no way to get
1091 color-change updates from the editor (can fix this when i get
1092 control over TGedEditor::Update()). RenderElement::GetObject() is
1097 Added function FindColorVar() to allow RenderElementObjPtr objects
1098 to peek into appropriate color.
1100 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1106 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
1111 Fix for editor window not appearing under some window
1112 managers. For me it was working OK under fvwm and KDE (any focus
1113 policy) but not at all under Gnome. This fixed my gnome problem
1114 but it's quite likely the problem is not completely solved.
1116 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
1121 Added missing initializations. In particular, fCurrentEvent,
1122 fCurrentEventLTI and fGeometryLTI were not initialized and this
1123 caused segvs for usage without bootstrap with alieve_init.C macro.
1125 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
1131 New class Reve::ReferenceCount; to be used as secondary base class.
1133 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
1139 New function ColorFromIdx().
1145 New files: a set of boxes with direct GL rendering.
1148 Pragmas for BoxSet/GL.