[root] / trunk / graf3d / eve / inc / TEveTrackProjected.h Repository:
ViewVC logotype

Log of /trunk/graf3d/eve/inc/TEveTrackProjected.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 39679 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 11 00:05:06 2011 UTC (3 years, 7 months ago) by matevz
File length: 2778 byte(s)
Diff to previous 39287
Generalize TEveProjection::BisectBreakPoint() and use it from
TEveTrackProjected and TEveStraightLineSetProjected.

The old argument signature is still supported but prints a warning that it is
obsolete.

Revision 39287 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 20 03:58:03 2011 UTC (3 years, 8 months ago) by matevz
File length: 2834 byte(s)
Diff to previous 35074
Fix calculation of break-point from lower to upper hemisphere for RhoZ
projection. Slightly optimize the process.

Revision 35074 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 30 15:18:02 2010 UTC (4 years, 4 months ago) by matevz
File length: 2860 byte(s)
Diff to previous 32528
Merge the following revisions from branches/dev/fireworks:
34608, 34786, 34787, 34788, 34804, 34808, 34835, 34841, 34956, 35031, 35071


34608
=====

Author: matevz
Date: Tue Jul 27 13:04:00 2010
New Revision: 34608

URL: http://root.cern.ch/viewvc?rev=34608&root=root&view=rev
Log:
Add data-member 'Int_t fNumChildren' caching the number of children.
std::list<>::size() can become really expensive for large collections.
Observed when running on heavy-ion data.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveGeoNode.cxx


34786
=====

Author: alja
Date: Thu Aug 12 20:05:46 2010
New Revision: 34786

URL: http://root.cern.ch/viewvc?rev=34786&root=root&view=rev
Log:
CPU performance improvements:
Add virtual GetProjectedAsElement() in TEveProjected and its derived classes to avoid dynamic casts.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveBox.h
    branches/dev/fireworks/graf3d/eve/inc/TEveCompound.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoShape.h
    branches/dev/fireworks/graf3d/eve/inc/TEveLine.h
    branches/dev/fireworks/graf3d/eve/inc/TEvePointSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEvePolygonSetProjected.h
    branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h
    branches/dev/fireworks/graf3d/eve/inc/TEveStraightLineSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveTrackProjected.h
    branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx


34787
=====

Author: alja
Date: Thu Aug 12 20:36:52 2010
New Revision: 34787

URL: http://root.cern.ch/viewvc?rev=34787&root=root&view=rev
Log:

Bugfix:
In TEveCaloDataVec add missing check for periodic TwoPi flag (TEveCaloData::fWrapTwoPi).

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx


34788
=====

Author: matevz
Date: Thu Aug 12 20:38:50 2010
New Revision: 34788

URL: http://root.cern.ch/viewvc?rev=34788&root=root&view=rev
Log:
Protect Runge-Kutta propagator against division by zero when the field
object returns 0 as the maximum magnetic field.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx


34804
=====

Author: matevz
Date: Fri Aug 13 13:42:28 2010
New Revision: 34804

URL: http://root.cern.ch/viewvc?rev=34804&root=root&view=rev
Log:
* TEveManager
  Use TExMap instead of std::set to store changed elements.
  Set insertion becomes expensive for large collections all being
  changed at the same time.

* TEveSceneList
  In ProcessChanges() take TExMap* as argument. Here map of changed
  objects / elements still needs to be built as we iterate in parallel
  over logical shape maps of all scenes.

* Other classes
  Implement virtual TEveElement::GetObject() for frequently used
  classes to avoid unnecessary dynamic casts.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveArrow.h
    branches/dev/fireworks/graf3d/eve/inc/TEveDigitSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoNode.h
    branches/dev/fireworks/graf3d/eve/inc/TEveGeoShape.h
    branches/dev/fireworks/graf3d/eve/inc/TEveManager.h
    branches/dev/fireworks/graf3d/eve/inc/TEvePointSet.h
    branches/dev/fireworks/graf3d/eve/inc/TEveScene.h
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveManager.cxx
    branches/dev/fireworks/graf3d/eve/src/TEveScene.cxx


34808
=====

Author: matevz
Date: Fri Aug 13 14:45:18 2010
New Revision: 34808

URL: http://root.cern.ch/viewvc?rev=34808&root=root&view=rev
Log:
White-space.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h


34835
=====

Author: matevz
Date: Tue Aug 17 18:21:43 2010
New Revision: 34835

URL: http://root.cern.ch/viewvc?rev=34835&root=root&view=rev
Log:
In CreateWindow(), also check if Display* is non-null.

Modified:
    branches/dev/fireworks/graf3d/gl/src/TGLWidget.cxx


34841
=====

Author: alja
Date: Wed Aug 18 15:20:26 2010
New Revision: 34841

URL: http://root.cern.ch/viewvc?rev=34841&root=root&view=rev
Log:
Use TEveProjected::GetProjectedAsElement() instead of dynamic_cast of TEveProjected to TEveElement.

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx


34956
=====

Author: alja
Date: Mon Aug 23 19:38:40 2010
New Revision: 34956

URL: http://root.cern.ch/viewvc?rev=34956&root=root&view=rev
Log:

In TEveCalo2DGL::DrawRPhi() fix offset-by-one  error (last bin in RPhi was not rendered).

Modified:
    branches/dev/fireworks/graf3d/eve/src/TEveCalo2DGL.cxx


35031
=====

Author: alja
Date: Thu Aug 26 18:25:31 2010
New Revision: 35031

URL: http://root.cern.ch/viewvc?rev=35031&root=root&view=rev
Log:

Fix rendering of endcap cellc in stack at negative eta.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo3DGL.h
    branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx


35071
=====

Author: matevz
Date: Mon Aug 30 15:53:24 2010
New Revision: 35071

URL: http://root.cern.ch/viewvc?rev=35071&root=root&view=rev
Log:
* TEveCalo3D
  Add calo-grid line-width control.
  Add individual getters / setters for drawing of endcap / barrel
  grid.

* TEveCalo3DGL
  Honour settings for grid line-width and visibility.

* TEveElement
  Mark some data-members as transient.

Modified:
    branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
    branches/dev/fireworks/graf3d/eve/inc/TEveElement.h
    branches/dev/fireworks/graf3d/eve/src/TEveCalo3DGL.cxx

Revision 32528 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 10 17:02:54 2010 UTC (4 years, 10 months ago) by matevz
File length: 2729 byte(s)
Diff to previous 30840
Add support for projections of elements with non-trivial transformation
matrix. This works for TEvePointSet, TEveLine, TEveTrack and TEveBox.
It was already working for TEveGeoShape before.

Add class TEveBoxProjected and its GL-rendering class.

Add class TEvePoint -- 2D float point.

Implement 2D convex-hull search in static method
  TEveShape::FindConvexHull().

Use ClassDefNV for TEveVector, TEvePoint and TEvePathMark classes.

Consistently include "Riostream.h".

Revision 30840 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 23 09:03:14 2009 UTC (5 years, 3 months ago) by matevz
File length: 2803 byte(s)
Diff to previous 25422
Add support for 3D -> 3D projections. This also allows for
scaling (compression/extension) of certain space region as required by
NA62 to show the 200m long detector in a meaningful way.

Several generalizations of the projection infrastructure were
required:

1. TEveProjectable::ProjectedClass() takes an argument:
     virtual TClass* ProjectedClass(const TEveProjection* p) const = 0;
   thus allowing different projected classes for different projections.

2. All TEveProjection::ProjectPoint/Vector(...) functions have an
   additional "depth" argument thus allowing the projected classes to
   skip explicit setting of depth after the point has been projected
   -- this could damage the 3rd component.

   Pre-scaling now supports 3 dimensions.

3. Abstract TEveProjected::SetDepth() has been split into two parts:
   a) It has been implemented in the base class where it checks for
      the projection type (2d) before calling the local function;
   b) Abstract SetDepthLocal() has been added to provide the same
      functionality.
   This allows for the 2d/3d check to be done in place only.

4. New projection class has been introduced: TEve3DProjection.
   It performs pre-scaling and offsets the center.

5. To simplify the projection of lists TEveElementList has been made
   projectable and corresponding TEveElementListProjected class
   introduced. This also fixed the problem with render-state not being
   propagated to projected classes.
   The check whether to project a sub-tree of elements is still performed.

6. TEveGeoShapeProjected has been introduced to represent the 3D
   projection of a TEveGeoShape (2D projection is handled by
   TEvePolygonSetProjected).

   Points, lines and tracks use the same projected class for both 2D
   and 3D projections.

An example showing this functionality has been added as a new tab in
tutorials/eve/projection_prescale.C.

Revision 25422 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 16 20:50:49 2008 UTC (6 years, 4 months ago) by matevz
File length: 2744 byte(s)
Diff to previous 23140
TEveProjections
---------------
Add 'Float_t fMaxTrackStep' to allow control over maximum segment
lenght in projected tracks.

TEveProjectionManagerEditor
---------------------------
Add number entry for setting max projected track-step.

TEveTrackProjected
------------------
Move control for breaking projected tracks to TEveTrack.
In UpdateProjection() call TEveLine::ReduceSegmentLengths() so that
the tracks with high pt (or in low field) do not deviate significantly
from their true path.

TEveTrack
---------
Add controls for breaking of projected tracks:
a) static 'Bool_t fgDefaultBreakProjectedTracks' (moved from TEveTrackProjected)
b) enum EBreakProjectedTracks_e { kBPTDefault, kBPTAlways, kBPTNever }
   with data member 'UChar_t fBreakProjectedTracks'

TEveLine
--------
New method 'void ReduceSegmentLengths(Float_t max)'.
Propagate marker-color and point/line rendering state to projecteds.


TEveTrackPropagator
TEveLineEditor
-------------------
Whitespace.

Revision 23140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by rdm
File length: 2916 byte(s)
Diff to previous 23087
move the following directories to "graf2d":

asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf

move the following directories to "graf3d":

eve, ftgl, g3d, gl, x3d

Revision 23087 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 9 14:10:56 2008 UTC (6 years, 9 months ago) by rdm
Original Path: trunk/eve/inc/TEveTrackProjected.h
File length: 2916 byte(s)
Diff to previous 22539
From Alja, Bertrand and Matevz - merged branches/dev/fireworks 22550:23082.


Major changes imported by this merge are:

gl/
====
- reorganization of scene rendering in TGLViewer - render opaque
  objects from all scenes first, then all transparent ones;

- improve saving of images from the GL-viewer so that the dialog boxes
  and other windows do not result in black areas on the saved image;

- improved management of FTGL fonts accross GL contexts.

eve/
====
- new classes for visualization of calorimeter data in lego mode;

- allow fixed scale beyond given radius for fish-eye projections.

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/eve/inc/TEveTrackProjected.h
File length: 2744 byte(s)
Diff to previous 21198
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

- development for event-displays of ALICE and CMS since 5.18 in eve/,
  gl/ and gui/;

- many new tutorials and demos for eve/;

- fix in TQObject to support class-signals from all base-classes.

Revision 21198 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 5 02:31:27 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveTrackProjected.h
File length: 2614 byte(s)
Diff to previous 21138
Prefix enum types with 'E'.

Fix fix member names to begin with f[A-Z].

Fix function member names to begin with a capital letter.

Add some docs.

Revision 21138 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 30 23:06:23 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveTrackProjected.h
File length: 2612 byte(s)
Diff to previous 21054
Alja: add documentation for the projection classes.

Revision 21054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 18:00:41 2007 UTC (7 years, 1 month ago) by matevz
Original Path: trunk/eve/inc/TEveTrackProjected.h
File length: 2535 byte(s)
Diff to previous 21044
When including ROOT header files use "" instead of <>.

Replace NULL with 0 in TEveGLText.

TEveTrackPropagator: make public data-members protected and provide
get/set methods. Second attempt at fixing Solaris cc errors: make
Helix and Vertex4d struct declarations public.

Revision 21044 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Nov 26 14:31:05 2007 UTC (7 years, 1 month ago) by rdm
Original Path: trunk/eve/inc/TEveTrackProjected.h
File length: 2535 byte(s)
from Matevz:
add the TEve classes to the svn trunk. Code compiles without warnings on
MacOS X, Linux and Windows XP. Tutorials still don't work, as init code
is still missing (coming later today).

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9