Log of /trunk/graf3d/eve/inc/TEveLine.h
Parent Directory
Revision
44873 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 3 22:28:20 2012 UTC (2 years, 6 months ago) by
matevz
File length: 3354 byte(s)
Diff to
previous 44507
Implement somewhat continuous energy loss along track propagation.
Needed for following CMS ID tracks reconstructed with the new generation
tracking software that can reconstruct low-pT looping tracks.
* TEveLine:
Add function:
Float_t CalculateLineLength() const;
* TEveTrackPropagator:
Add functions:
Int_t GetCurrentPoint() const;
Double_t GetTrackLength(Int_t start_point=0, Int_t end_point=-1) const;
to give more info to propagation steering code.
Consistent white-space.
* TEveTrack:
Add option to set energy loss over track length. This is applied at
points where path-marks are set.
Revision
44507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by
axel
File length: 3313 byte(s)
Diff to
previous 35074
Remove
using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.
Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.
Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.
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: 3308 byte(s)
Diff to
previous 32430
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
32430 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 1 19:36:24 2010 UTC (4 years, 10 months ago) by
matevz
File length: 3243 byte(s)
Diff to
previous 32138
Fix issues reported by Alex Finch.
1. When elements having children were added to the list-tree, the children were
not added into the list tree and the '+' sign did not appear.
2. Icon used for TEveLine is inhereted from TEvePointSet and causes confusion.
TEveLine has it's own icon now.
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: 3140 byte(s)
Diff to
previous 29764
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
29764 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 12 11:27:40 2009 UTC (5 years, 5 months ago) by
matevz
File length: 3100 byte(s)
Diff to
previous 27157
Add functions:
TEveVector GetLineStart() const;
TEveVector GetLineEnd() const;
This makes it easier to join tracks propagated with different propagators.
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: 3029 byte(s)
Diff to
previous 24449
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
24449 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 20 21:37:48 2008 UTC (6 years, 7 months ago) by
matevz
File length: 3082 byte(s)
Diff to
previous 24004
Implement saving/loading of VizDB via creation/processing of CINT scripts.
TEveManager
-----------
1. Implement Load/SaveVizDB()
2. Add bool members controlling behaviour of VizDB during loading, in
particular whether to replace existing entries and update connected clients.
TEveElement
-----------
1. Implement top-level SaveVizParams() and virtual WriteVizParams()
that is called throughout the element class-hierarchy.
2. Add the following methods that can be called from the context menu:
- void VizDB_Apply(const char* tag);
- void VizDB_Reapply();
- void VizDB_UpdateModel(Bool_t update=kTRUE);
- void VizDB_Insert(const char* tag, Bool_t replace=kTRUE, Bool_t update=kTRUE);
Other
-----
Virtual WriteVizParams() implemented for the following classes:
TEvePointSet, TEveLine, TEveTrack, TEveTrackList and
TEveStraightLineSet.
Revision
24004 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat May 24 20:08:56 2008 UTC (6 years, 8 months ago) by
matevz
File length: 3016 byte(s)
Diff to
previous 23140
Implement virtual method TEveElement::CopyVizParams(element) for the
following classes: TEvePointSet, TEveLine, TEveTrack, TEveTrackList
and TEveStraightLineSet.
Implemented TEveProjectable::PropagateVizParams().
In TEveGedEditor::Update() call PropagateVizParamsToProjecteds() so
that all representation of given element receive the potential
updates.
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: 2961 byte(s)
Diff to
previous 22539
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
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/TEveLine.h
File length: 2961 byte(s)
Diff to
previous 21215
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
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/TEveLine.h
File length: 1689 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/TEveLine.h
File length: 1689 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.