Logo ROOT  
Reference Guide
TEveTrackProjected.h
Go to the documentation of this file.
1// @(#)root/eve:$Id$
2// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TEveTrackProjected
13#define ROOT_TEveTrackProjected
14
15#include "TEveTrack.h"
16#include "TEveProjectionBases.h"
17
18
20 public TEveProjected
21{
23
24private:
25 TEveTrackProjected(const TEveTrackProjected&); // Not implemented
26 TEveTrackProjected& operator=(const TEveTrackProjected&); // Not implemented
27
29
30 TEveVector* fOrigPnts; // original track points
31
32protected:
33 std::vector<Int_t> fBreakPoints; // indices of track break-points
34
35 virtual void SetDepthLocal(Float_t d);
36
37public:
40
41 virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
42
43 virtual void UpdateProjection();
44 virtual TEveElement* GetProjectedAsElement() { return this; }
45 virtual void MakeTrack(Bool_t recurse=kTRUE);
46
47
48 void PrintLineSegments();
49
50 virtual void SecSelected(TEveTrack*); // marked as signal in TEveTrack
51
52 ClassDef(TEveTrackProjected, 0); // Projected copy of a TEveTrack.
53};
54
55
56/******************************************************************************/
57// TEveTrackListProjected
58/******************************************************************************/
59
61 public TEveProjected
62{
63private:
66
67protected:
68 virtual void SetDepthLocal(Float_t d);
69
70public:
73
74 virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model);
75 virtual void UpdateProjection() {}
76 virtual TEveElement* GetProjectedAsElement() { return this; }
77
78 virtual void SetDepth(Float_t d);
79 virtual void SetDepth(Float_t d, TEveElement* el);
80
81 ClassDef(TEveTrackListProjected, 0); // Specialization of TEveTrackList for holding TEveTrackProjected objects.
82};
83
84#endif
#define d(i)
Definition: RSha256.hxx:102
bool Bool_t
Definition: RtypesCore.h:61
float Float_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:89
#define ClassDef(name, id)
Definition: Rtypes.h:322
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition: TEveElement.h:34
Abstract base-class for non-linear projectable objects.
Abstract base class for classes that hold results of a non-linear projection transformation.
Manager class for steering of projections and managing projected objects.
Specialization of TEveTrackList for holding TEveTrackProjected objects.
virtual void SetDepthLocal(Float_t d)
This is not needed for functionality as SetDepth(Float_t d) is overriden – but SetDepthLocal() is abs...
virtual void SetDepth(Float_t d)
Set depth of all children inheriting from TEveTrackProjected.
virtual void SetProjection(TEveProjectionManager *proj, TEveProjectable *model)
This is virtual method from base-class TEveProjected.
TEveTrackListProjected()
Default constructor.
virtual TEveElement * GetProjectedAsElement()
Returns this projected dynamic-casted to TEveElement.
TEveTrackListProjected & operator=(const TEveTrackListProjected &)
TEveTrackListProjected(const TEveTrackListProjected &)
virtual void UpdateProjection()
A list of tracks supporting change of common attributes and selection based on track parameters.
Definition: TEveTrack.h:140
GL-renderer for TEveTrackProjected class.
Projected copy of a TEveTrack.
std::vector< Int_t > fBreakPoints
TEveTrackProjected(const TEveTrackProjected &)
TEveTrackProjected()
Default constructor.
TEveTrackProjected & operator=(const TEveTrackProjected &)
virtual void MakeTrack(Bool_t recurse=kTRUE)
Calculate the points of the track for drawing.
virtual void SecSelected(TEveTrack *)
Virtual method from from base-class TEveTrack.
virtual TEveElement * GetProjectedAsElement()
Returns this projected dynamic-casted to TEveElement.
virtual void UpdateProjection()
Virtual method from base-class TEveProjected.
void PrintLineSegments()
Print line segments info.
Int_t GetBreakPointIdx(Int_t start)
Find index of the last point that lies within the same segment of projected space.
virtual void SetProjection(TEveProjectionManager *mng, TEveProjectable *model)
This is virtual method from base-class TEveProjected.
virtual void SetDepthLocal(Float_t d)
Set depth (z-coordinate) of the projected points.
Visual representation of a track.
Definition: TEveTrack.h:33