Log of /trunk/graf3d/eve/src/TEveTrackPropagator.cxx
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: 42429 byte(s)
Diff to
previous 44783
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
44783 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 27 17:58:47 2012 UTC (2 years, 6 months ago) by
matevz
File length: 41572 byte(s)
Diff to
previous 43121
From Alja: Add new type of track path-mark - TEvePathMatk::kLineSegment. This
is to be used for silicon strip detectors rec-hits, especially for low pT
tracks where seaching for closest point of approach to a line segment is more
roboust that searching for intersection with a plane.
* TEvePathMark:
Add new path-mark type.
* TEveTrackPropagator, TEveTrack:
Add support for the new path-mark type.
* TEveTrackPropagatorEditor:
Add GUI controls for fitting/showing line-segment path-marks.
Revision
43121 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 24 21:33:35 2012 UTC (2 years, 10 months ago) by
matevz
File length: 35956 byte(s)
Diff to
previous 41891
Document TEveMagField classes. Add note that EVE convention of magnetic field direction is inverted (also in TeveTrackPropagator).
Revision
38739 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Apr 5 14:16:41 2011 UTC (3 years, 9 months ago) by
matevz
File length: 34664 byte(s)
Diff to
previous 38721
Add wrapper methods taking TEveVectorF as argument:
void InitTrack(const TEveVectorF& v, Int_t charge);
void GoToBounds(TEveVectorF& p);
Bool_t GoToVertex(TEveVectorF& v, TEveVectorF&p);
Revision
38721 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 4 13:37:12 2011 UTC (3 years, 9 months ago) by
matevz
File length: 33916 byte(s)
Diff to
previous 36373
Merge the following revisions from branches/dev/fireworks:
37780, 37831, 38257, 38388, 38390, 38400, 38406, 38407, 38412, 38415,
38416, 38420, 38481
37780
=====
Author: alja
Date: Thu Jan 13 20:37:48 2011
New Revision: 37780
URL: http://root.cern.ch/viewvc?rev=37780&root=root&view=rev
Log:
Use double precision for track propagation.
TEveTrack, TEveTrackPropagator:
Change memebers for track propagation to use double types.
TEvePathMark:
Add copy constructor.
TEveVSDStructs:
Template TEveRecTrack for double and float types.
track.C:
Use TEveRecTrackD and TEvePathMarkD to avoid unnecessary float to double conversion.
Replace virtual TEveMagField::GetFieldD() with TEveMagField::GetField() to avoid float to
double conversion.
Modified:
branches/dev/fireworks/graf3d/eve/inc/LinkDef1.h
branches/dev/fireworks/graf3d/eve/inc/TEvePathMark.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/inc/TEveVSDStructs.h
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveVSDStructs.cxx
branches/dev/fireworks/tutorials/eve/track.C
37831
=====
Author: alja
Date: Fri Jan 21 14:52:01 2011
New Revision: 37831
URL: http://root.cern.ch/viewvc?rev=37831&root=root&view=rev
Log:
Fix 3D-axis font size when TEveCaloData is empty.
Read axis divisions from x,y axis.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloLegoGL.cxx
38257
=====
Author: alja
Date: Tue Mar 1 15:34:36 2011
New Revision: 38257
URL: http://root.cern.ch/viewvc?rev=38257&root=root&view=rev
Log:
Fix pick camera-center when depth test is disabled.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveStraightLineSetGL.cxx
38388
=====
Author: alja
Date: Fri Mar 11 17:45:41 2011
New Revision: 38388
URL: http://root.cern.ch/viewvc?rev=38388&root=root&view=rev
Log:
Add option fDisplaceCenter to dismiss empty gap in RhoZ projection when projection center is not in
origin:
In ProjectPoint(), if fDisplaceCenter falg is set, move input vertex before projecting its coordinates.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38390
=====
Author: alja
Date: Fri Mar 11 17:58:55 2011
New Revision: 38390
URL: http://root.cern.ch/viewvc?rev=38390&root=root&view=rev
Log:
Set label size from TAttAxis.
Catch TEveException in DirectDraw().
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveProjectionAxesGL.cxx
38400
=====
Author: alja
Date: Mon Mar 14 18:36:02 2011
New Revision: 38400
URL: http://root.cern.ch/viewvc?rev=38400&root=root&view=rev
Log:
TEveProjectionAxesGL:
Set axis range by comparing frustum size and projection manager bounding box.
TEveProjections:
Set function GetLimit(), previously used by TEveProjectionAxesGL, obsolete.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjectionAxesGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38406
=====
Author: alja
Date: Mon Mar 14 22:09:04 2011
New Revision: 38406
URL: http://root.cern.ch/viewvc?rev=38406&root=root&view=rev
Log:
Update projected center in SetCenter() function.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38407
=====
Author: alja
Date: Mon Mar 14 22:17:34 2011
New Revision: 38407
URL: http://root.cern.ch/viewvc?rev=38407&root=root&view=rev
Log:
Rename memeber fDisplaceCenter to fDisplaceOrigin.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38412
=====
Author: alja
Date: Tue Mar 15 15:48:55 2011
New Revision: 38412
URL: http://root.cern.ch/viewvc?rev=38412&root=root&view=rev
Log:
Fix GetValForScreenPos(), used by TEveProjectionAxis, to return non-displaced/oroginal value
in displace-origin mode.x
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38415
=====
Author: alja
Date: Tue Mar 15 15:54:02 2011
New Revision: 38415
URL: http://root.cern.ch/viewvc?rev=38415&root=root&view=rev
Log:
Cache values in SplitIntervalByPos() for optimization.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveProjectionAxesGL.cxx
38416
=====
Author: alja
Date: Tue Mar 15 16:03:28 2011
New Revision: 38416
URL: http://root.cern.ch/viewvc?rev=38416&root=root&view=rev
Log:
Add define TEVEPROJECTIONS_DISPLACE_ORIGIN_MODE as temporary workaround till root
patches are integrated to CMSSW.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
38420
=====
Author: alja
Date: Tue Mar 15 20:27:41 2011
New Revision: 38420
URL: http://root.cern.ch/viewvc?rev=38420&root=root&view=rev
Log:
Changes in GetValForScreenPos() used by TEveProjectionAxes:
return shifted value in case origin is displaced.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveProjections.cxx
38481
=====
Author: alja
Date: Thu Mar 17 13:11:34 2011
New Revision: 38481
URL: http://root.cern.ch/viewvc?rev=38481&root=root&view=rev
Log:
In TEvecalo2D add getter for sorted cell lists.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
Revision
36373 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 19 17:43:35 2010 UTC (4 years, 3 months ago) by
matevz
File length: 33852 byte(s)
Diff to
previous 35074
Merge the following revisions from branches/dev/fireworks:
35724, 35865, 35866, 35867, 36028, 36093, 36110, 36125, 36130, 36365, 36370
35724
=====
Author: matevz
Date: Fri Sep 24 22:08:36 2010
New Revision: 35724
URL: http://root.cern.ch/viewvc?rev=35724&root=root&view=rev
Log:
Preliminary version of camera auto-rotator.
Added:
branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h (with props)
branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx (with props)
Modified:
branches/dev/fireworks/graf3d/gl/inc/LinkDef.h
Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
('svn:eol-style' added)
Propchange: branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
('svn:keywords' added)
Propchange: branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
('svn:eol-style' added)
Propchange: branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
('svn:keywords' added)
35865
=====
Author: alja
Date: Wed Sep 29 20:38:27 2010
New Revision: 35865
URL: http://root.cern.ch/viewvc?rev=35865&root=root&view=rev
Log:
Properly convert Et to E.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
35866
=====
Author: alja
Date: Wed Sep 29 20:39:58 2010
New Revision: 35866
URL: http://root.cern.ch/viewvc?rev=35866&root=root&view=rev
Log:
Fix compilation warning.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
35867
=====
Author: alja
Date: Wed Sep 29 21:12:04 2010
New Revision: 35867
URL: http://root.cern.ch/viewvc?rev=35867&root=root&view=rev
Log:
Use cell absolute value when update TEveCaloDataHist::fMaxValE and TEveCaloDataVec::fMaxValE.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveCaloData.cxx
36028
=====
Author: alja
Date: Fri Oct 1 18:24:15 2010
New Revision: 36028
URL: http://root.cern.ch/viewvc?rev=36028&root=root&view=rev
Log:
Anti-alias frame lines.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveBoxGL.cxx
36093
=====
Author: matevz
Date: Tue Oct 5 21:30:57 2010
New Revision: 36093
URL: http://root.cern.ch/viewvc?rev=36093&root=root&view=rev
Log:
Complete implementation.
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
36110
=====
Author: matevz
Date: Wed Oct 6 13:49:26 2010
New Revision: 36110
URL: http://root.cern.ch/viewvc?rev=36110&root=root&view=rev
Log:
Add camera rotator controls to gl-viewer editor.
Put it together with stereo controls in the "Extras" tab.
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
branches/dev/fireworks/graf3d/gl/inc/TGLViewer.h
branches/dev/fireworks/graf3d/gl/inc/TGLViewerEditor.h
branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
branches/dev/fireworks/graf3d/gl/src/TGLViewer.cxx
branches/dev/fireworks/graf3d/gl/src/TGLViewerEditor.cxx
36125
=====
Author: matevz
Date: Wed Oct 6 17:09:07 2010
New Revision: 36125
URL: http://root.cern.ch/viewvc?rev=36125&root=root&view=rev
Log:
Remove redundant arguments.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLViewerEditor.cxx
36130
=====
Author: matevz
Date: Wed Oct 6 17:34:07 2010
New Revision: 36130
URL: http://root.cern.ch/viewvc?rev=36130&root=root&view=rev
Log:
* TGLAutoRotator
Use TStopwatch to measure time between two redraws.
Do not stop / restart the timer, keep it running.
Improve defaults.
* TGLViewerEditor
Allow 3 decimal digits for delta-time.
Modified:
branches/dev/fireworks/graf3d/gl/inc/TGLAutoRotator.h
branches/dev/fireworks/graf3d/gl/src/TGLAutoRotator.cxx
branches/dev/fireworks/graf3d/gl/src/TGLViewerEditor.cxx
36365
=====
Author: alja
Date: Mon Oct 18 18:41:05 2010
New Revision: 36365
URL: http://root.cern.ch/viewvc?rev=36365&root=root&view=rev
Log:
TEveElement, TEveProjectionBases:
Add support for fast destruction of large number of elements (e.g. heavy ion data).
TEveRefBackPtr, TEveTrackPropagator:
Optimize TEveRefBackPtr::DecRefCount() for large number of references.
TEveElement, TEveScene, TEveGedEditor, TEveGeoNode, TEveDigitSet,
TEveArrow, TEvePointSet, TEveGeoShape:
Remove default parameter in GetObject(), GetEditorObject(), and GetRenderObject() to avoid
unnecessary creation/destruction of temporary TEveException object.
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/TEvePointSet.h
branches/dev/fireworks/graf3d/eve/inc/TEveProjectionBases.h
branches/dev/fireworks/graf3d/eve/inc/TEveUtil.h
branches/dev/fireworks/graf3d/eve/src/TEveElement.cxx
branches/dev/fireworks/graf3d/eve/src/TEveGedEditor.cxx
branches/dev/fireworks/graf3d/eve/src/TEveProjectionBases.cxx
branches/dev/fireworks/graf3d/eve/src/TEveScene.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveUtil.cxx
36370
=====
Author: matevz
Date: Tue Oct 19 18:50:07 2010
New Revision: 36370
URL: http://root.cern.ch/viewvc?rev=36370&root=root&view=rev
Log:
* TEveTrackPropagator:
Fix calculation of:
- fractional step when approaching a reference point;
- track length when using helix propagator.
* track.C:
Add test-case from ILC display Druid that was causing problems.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/tutorials/eve/track.C
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: 33906 byte(s)
Diff to
previous 34597
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
34597 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 26 11:05:29 2010 UTC (4 years, 5 months ago) by
matevz
File length: 33779 byte(s)
Diff to
previous 33627
Merge revisions 34330 and 34369 from the fireworks branch.
34330
=====
Author: alja
Date: Mon Jul 5 21:22:16 2010
New Revision: 34330
URL: http://root.cern.ch/viewvc?rev=34330&root=root&view=rev
Log:
Fix last step size in loop to path-mark.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
34369
=====
Author: matevz
Date: Fri Jul 9 21:56:14 2010
New Revision: 34369
URL: http://root.cern.ch/viewvc?rev=34369&root=root&view=rev
Log:
TEveTrackPropagator - increase max number of sub-divisions in Runge-Kutta
step. This is needed when stepping across 0 field boundaries.
This could result in division by zero if the loop was exited in a zero field
region.
TEveTrackEditor - avoid possible floating-point overflow (taking log of 0).
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrackEditor.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
Revision
33627 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 27 19:19:58 2010 UTC (4 years, 7 months ago) by
matevz
File length: 33729 byte(s)
Diff to
previous 32543
Merge the following revisions from the fireworks branch:
33294, 33296, 33339, 33424, 33428, 33431, 33432, 33448, 33478
33294
=====
Author: alja
Date: Thu Apr 29 16:03:27 2010
New Revision: 33294
URL: http://root.cern.ch/viewvc?rev=33294&root=root&view=rev
Log:
In SetMagFieldObj() add additional argument to set ownership of magnetic field object.
For the backward compatibility, propagator by default owns given filed object.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
33296
=====
Author: matevz
Date: Thu Apr 29 16:18:32 2010
New Revision: 33296
URL: http://root.cern.ch/viewvc?rev=33296&root=root&view=rev
Log:
Initialize field ownership flag. When settin gnew field, check the old flag.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
33339
=====
Author: alja
Date: Mon May 3 10:47:09 2010
New Revision: 33339
URL: http://root.cern.ch/viewvc?rev=33339&root=root&view=rev
Log:
In TEveCalo2D update cellID cache when automatic scale is enabled.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveCalo.h
branches/dev/fireworks/graf3d/eve/src/TEveCalo.cxx
33424
=====
Author: matevz
Date: Fri May 7 17:38:31 2010
New Revision: 33424
URL: http://root.cern.ch/viewvc?rev=33424&root=root&view=rev
Log:
Render frame in outline mode.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveBoxGL.cxx
33428
=====
Author: matevz
Date: Fri May 7 20:26:32 2010
New Revision: 33428
URL: http://root.cern.ch/viewvc?rev=33428&root=root&view=rev
Log:
Preliminary commit -- towards generaliziation of handling of projected
tracks in topologically non-trivial projections.
Make variables in TEveTrack deprecated.
Introduce new variables in TEveTrackPropagator, extend GUI editor.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagatorEditor.h
branches/dev/fireworks/graf3d/eve/src/TEveTrack.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagatorEditor.cxx
33431
=====
Author: matevz
Date: Sat May 8 17:45:42 2010
New Revision: 33431
URL: http://root.cern.ch/viewvc?rev=33431&root=root&view=rev
Log:
Add full support for handling of projected tracks in topologically non-trivial
projections. Use the following setters in TEveTrackPropagator:
void SetProjTrackBreaking(UChar_t x);
void SetRnrPTBMarkers(Bool_t x);
TMarker& RefPTBAtt() { return fPTBAtt; }
to tune the behaviour. The following modes are supported:
enum EProjTrackBreaking_e {
kPTB_Break, // break tracks
kPTB_UseFirstPointPos, // use first track-point half-space
kPTB_UseLastPointPos // use last track-point half-space
};
SetRnrPTBMarkers(Bool_t x) allows to enable drawing of a marker with
attributes RefPTBAtt() at break-points.
Modified:
branches/dev/fireworks/graf3d/eve/inc/TEveProjections.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrack.h
branches/dev/fireworks/graf3d/eve/inc/TEveTrackPropagator.h
branches/dev/fireworks/graf3d/eve/src/TEveTrackGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjectedGL.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagator.cxx
branches/dev/fireworks/graf3d/eve/src/TEveTrackPropagatorEditor.cxx
33432
=====
Author: matevz
Date: Sat May 8 19:41:52 2010
New Revision: 33432
URL: http://root.cern.ch/viewvc?rev=33432&root=root&view=rev
Log:
Increase precision of break-point determination.
Modified:
branches/dev/fireworks/graf3d/eve/src/TEveTrackProjected.cxx
33448
=====
Author: matevz
Date: Mon May 10 17:48:34 2010
New Revision: 33448
URL: http://root.cern.ch/viewvc?rev=33448&root=root&view=rev
Log:
Use bounding-box of non-selectable scenes for frustum size determination also when in selection mode. This assures that near and far clipping planes stay the same and depth-buffer results can be interpreted with current camera parameters.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLViewerBase.cxx
33478
=====
Author: matevz
Date: Wed May 12 13:24:42 2010
New Revision: 33478
URL: http://root.cern.ch/viewvc?rev=33478&root=root&view=rev
Log:
From Alja: mark clip-set as viewer-owned overlay element.
Modified:
branches/dev/fireworks/graf3d/gl/src/TGLClip.cxx
Revision
32543 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 10 22:12:00 2010 UTC (4 years, 10 months ago) by
matevz
File length: 32548 byte(s)
Diff to
previous 32489
Fix two issues with Runge-Kutta propagator:
1. delta (max error at half-step) and max-angle were not taken into
account. max-step was always used.
2. parametric "phi" was not accumulated so the cut on maximum number
of orbits to perform never kicked in.
Add flag allowing to enforce next step by either heluix or Runge-Kutta
stepper. This allows to properly control the final step when
approaching a point or a plane. This only worked for Runge-Kutta
stepper before.
Rename wrongly named data-member min-angle to max-angle. The old
get/set method is left in but they print out a warning now.
Revision
32172 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 1 19:35:56 2010 UTC (4 years, 11 months ago) by
matevz
File length: 31408 byte(s)
Diff to
previous 31671
From Alja.
TEveTrackPropagator.h, TEveTrackPropagator.cxx:
Improvements in track propagation.
In Runge-Kutta propagator use fDelta, max filed
magnitude and momentum to estimated initial step step size. In the same stepper also
include phi step accumulation to exit propagation if max orbits exceed fMagOrbs.
In stepper Helix optimize updates in non-constant magnetic field.
tutorials/eve/track.C:
Add missing include.
Revision
31540 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 3 17:02:17 2009 UTC (5 years, 1 month ago) by
matevz
File length: 31141 byte(s)
Diff to
previous 29910
Put maximum R and Z of extrapolation allowed by the GUI editor into
static members so that they can be adjusted for geometries of
different sizes.
Revision
29908 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 25 18:09:53 2009 UTC (5 years, 5 months ago) by
matevz
File length: 31012 byte(s)
Diff to
previous 29815
* TEveTrans
- Add function
void SetupFromToVec(const TEveVector& from, const TEveVector& to);
that helps to set-up matrix that rotates unit vector 'from' to 'to'.
- Add function
void RotateIP(TEveVector& v) const;
* TEveTrackPropagator
- Several fixes needed for CMS online display.
- Generalize track-parameter update procedure and do not call update
from within Step() as the optimal usage depends on context.
- Improve determination/calculation of last point on a track segment
when propagating to a path-mark.
- After reaching a path-mark and fixing the offset, also rotate the
momentum vector accordingly.
* TEveVSDStructs
- Add some common functions for TEveVector.
- Consolidate function signatures.
* tutorials/eve/track.C
- Add new mode demo mode with semi-realistic CMS mag field.
Provided by Dmytro Kovalskyi.
* TEveGeoNode
- Add method 'TGeoManager* GetGeoManager()'.
* TEveWindow
- White-space.
Revision
27192 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jan 20 10:22:11 2009 UTC (6 years ago) by
matevz
File length: 29417 byte(s)
Diff to
previous 27157
From Alja:
Bug Fix: Allow propagate RungeKutta in LoopToBounds and LoopToVertex ignoring size of magnetic field.
Check only charge when decide to propagate straight line.
Revision
27119 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jan 12 19:04:45 2009 UTC (6 years ago) by
matevz
File length: 29386 byte(s)
Diff to
previous 26889
From Alja.
EveTrackPropagator.cxx, TEveTrackPropagator.h:
Bug fix in track propagation in non-constant magnetic field.
Introduce maximum allowed step size.
tutorials/eve/track.C
Change macro to compare Helix and Runge Kutta stepper for
different types of magnetic field.
Revision
26889 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Dec 13 07:11:16 2008 UTC (6 years, 1 month ago) by
brun
File length: 29353 byte(s)
Diff to
previous 26848
From Alja and Matevz:
TEveTrackPropagator
-------------------
- Improve logic that handles the stopping condition when propagating towards
a user-provided path-mark.
- Increase minimum RK step to 10 cm.
TEveWindowManager
-----------------
- Add method DestroyWindows() that allows recursive destruction of
all existing eve-windows.
TEveManager
-----------
- In destructor, when destroying eve-windows, call specialized
TEveManager::DestroyWindows() instead of DestroyElements().
This avoids potential trouble with GUI elements destructed via
TGFrame::DeleteWindow() that uses a timer to invoke the real destructor.
Revision
26367 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 21 18:08:30 2008 UTC (6 years, 2 months ago) by
matevz
File length: 20386 byte(s)
Diff to
previous 25422
Merge revisions 26280:26327 from the fireworks branch.
26281
=====
- TGLScenePad: replace static variable with a data-member. Fix comments.
26304
=====
- TEveProjectionAxesGL: fix index out of bounds error reported by valgrind.
26306
=====
- TGLScene, TGLScenePad: better comments, consistent whitespace.
- TEveElement: add method DestroyOrWarn(): original Destroy() method is exception throwing.
- TEveScene: delete GL-scene and pad in destructor; add ownership information to class-docs.
- TEveSceneList: add method DestroyScenes().
- TEveViewer: add ownership information to class-docs.
- TEveManager: delete scenes, scene-list, viewers and viewer-list in destructor.
26325
=====
TEveTrackPropagator: implement the following overrides of virtual functions:
- TEveElement::CheckReferenceCount() - take into account references from TEveRefBackPtr;
- TEveRefBackPtr::OnZeroRefCount() - call CheckReferenceCount().
26327
=====
Remove trailing whitespace in eve/ and gl/.
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: 19759 byte(s)
Diff to
previous 25245
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
25245 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 25 21:44:09 2008 UTC (6 years, 4 months ago) by
matevz
File length: 19613 byte(s)
Diff to
previous 24001
Merge changes from the eve-dev branch (-r 25202:HEAD). This makes trunk up to date with all developments in eve/ and gl/. eve-dev branch is now obsolete and will be removed.
Revision
24001 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri May 23 20:58:14 2008 UTC (6 years, 8 months ago) by
matevz
File length: 18532 byte(s)
Diff to
previous 23869
Optimize updates of element visibility by introducing a new stamp-type
and preprocessing the changed elements in TEveManager::DoRedraw3D().
Make TEveElement::AddStamp() virtual. This allows sub-classes to react
to different changes within the element.
This also simplifes handling of visibility for TEveGeoNode and
TEveSceneInfo.
TEveProjection manager properly maintains compound-element relation.
Finalize propagation of visibility and color from compounds to
compound elements and from projectables to projecteds.
Add three new selection propagation modes (compound, compound and
projectable, master).
Remove obsolete method TEveElement::UpdateItems() and all its
incarnations.
Replace asserts in TEveTrackPropagator::HelixToBounds() with a warning
as this case can actually occur due to numerical errors for tracks with
pZ close to zero.
Revision
23867 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 15 18:59:02 2008 UTC (6 years, 8 months ago) by
matevz
File length: 18059 byte(s)
Diff to
previous 23140
1. TEveVSDStructs
- Add class TEveVector4.
- Add new type of path-mark - a 2D-cluster.
2. TEveTrack, TEveTrackPropagator
- Properly handle 2D-cluster path-marks.
- Use TEveVector4 for propagation instead of inner struct Vertex4D_t
(now removed).
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: 14640 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/src/TEveTrackPropagator.cxx
File length: 14640 byte(s)
Diff to
previous 21310
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/src/TEveTrackPropagator.cxx
File length: 13032 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.
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.