Log of /trunk/graf3d/eve/inc/TEveTrackPropagator.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: 15908 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: 15798 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: 14928 byte(s)
Diff to
previous 38739
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: 14911 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: 14728 byte(s)
Diff to
previous 33627
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
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: 14182 byte(s)
Diff to
previous 32933
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
32933 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 9 17:28:46 2010 UTC (4 years, 9 months ago) by
matevz
File length: 13426 byte(s)
Diff to
previous 32543
- Rename TEvePoint to TEveVector2 -- it is confusing in view of
TEvePointSet class.
Template it for symmetry with TEveVector and TEveVector4.
- Move TEvePathMark into its own header / source file.
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: 13400 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: 12749 byte(s)
Diff to
previous 31540
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: 13010 byte(s)
Diff to
previous 31517
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
29919 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 26 20:43:36 2009 UTC (5 years, 4 months ago) by
matevz
File length: 12843 byte(s)
Diff to
previous 29908
* TEveTrackPropagator
Add handling of path-mark approach in zero (or near zero) magnetic
field.
* tutorials/eve/track.C
Add test-case with decay in region of zero field.
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: 12613 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
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: 12279 byte(s)
Diff to
previous 26778
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
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: 11664 byte(s)
Diff to
previous 25863
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: 11558 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: 11497 byte(s)
Diff to
previous 23867
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
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: 7844 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: 7448 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/TEveTrackPropagator.h
File length: 7448 byte(s)
Diff to
previous 21794
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/TEveTrackPropagator.h
File length: 7326 byte(s)
Diff to
previous 21049
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.