Logo ROOT   master
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 {
22  friend class TEveTrackProjectedGL;
23 
24 private:
25  TEveTrackProjected(const TEveTrackProjected&); // Not implemented
26  TEveTrackProjected& operator=(const TEveTrackProjected&); // Not implemented
27 
29 
30  TEveVector* fOrigPnts; // original track points
31 
32 protected:
33  std::vector<Int_t> fBreakPoints; // indices of track break-points
34 
35  virtual void SetDepthLocal(Float_t d);
36 
37 public:
39  virtual ~TEveTrackProjected() {}
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 {
63 private:
64  TEveTrackListProjected(const TEveTrackListProjected&); // Not implemented
65  TEveTrackListProjected& operator=(const TEveTrackListProjected&); // Not implemented
66 
67 protected:
68  virtual void SetDepthLocal(Float_t d);
69 
70 public:
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
TEveTrackListProjected()
Default constructor.
Abstract base class for classes that hold results of a non-linear projection transformation.
virtual TEveElement * GetProjectedAsElement()
Returns this projected dynamic-casted to TEveElement.
TEveTrackProjected & operator=(const TEveTrackProjected &)
virtual void SetDepthLocal(Float_t d)
Set depth (z-coordinate) of the projected points.
virtual TEveElement * GetProjectedAsElement()
Returns this projected dynamic-casted to TEveElement.
float Float_t
Definition: RtypesCore.h:55
Specialization of TEveTrackList for holding TEveTrackProjected objects.
virtual void SetProjection(TEveProjectionManager *proj, TEveProjectable *model)
This is virtual method from base-class TEveProjected.
bool Bool_t
Definition: RtypesCore.h:61
Minimal, templated three-vector.
Definition: TEveVector.h:26
Int_t GetBreakPointIdx(Int_t start)
Find index of the last point that lies within the same segment of projected space.
#define ClassDef(name, id)
Definition: Rtypes.h:322
Projected copy of a TEveTrack.
A list of tracks supporting change of common attributes and selection based on track parameters...
Definition: TEveTrack.h:137
virtual void UpdateProjection()
Virtual method from base-class TEveProjected.
Manager class for steering of projections and managing projected objects.
Abstract base-class for non-linear projectable objects.
virtual void SecSelected(TEveTrack *)
Virtual method from from base-class TEveTrack.
GL-renderer for TEveTrackProjected class.
TEveTrackProjected()
Default constructor.
Visual representation of a track.
Definition: TEveTrack.h:32
virtual void SetDepthLocal(Float_t d)
This is not needed for functionality as SetDepth(Float_t d) is overriden – but SetDepthLocal() is ab...
virtual void SetDepth(Float_t d)
Set depth of all children inheriting from TEveTrackProjected.
#define d(i)
Definition: RSha256.hxx:102
virtual void SetProjection(TEveProjectionManager *mng, TEveProjectable *model)
This is virtual method from base-class TEveProjected.
virtual void MakeTrack(Bool_t recurse=kTRUE)
Calculate the points of the track for drawing.
void PrintLineSegments()
Print line segments info.
TEveTrackListProjected & operator=(const TEveTrackListProjected &)
virtual void UpdateProjection()
std::vector< Int_t > fBreakPoints
const Bool_t kTRUE
Definition: RtypesCore.h:89
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition: TEveElement.h:33