Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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#include <vector>
18
20 public TEveProjected
21{
23
24private:
27
29
30 TEveVector* fOrigPnts; // original track points
31
32protected:
33 std::vector<Int_t> fBreakPoints; // indices of track break-points
34
35 void SetDepthLocal(Float_t d) override;
36
37public:
39 ~TEveTrackProjected() override {}
40
41 void SetProjection(TEveProjectionManager* mng, TEveProjectable* model) override;
42
43 void UpdateProjection() override;
44 TEveElement* GetProjectedAsElement() override { return this; }
45 void MakeTrack(Bool_t recurse=kTRUE) override;
46
47
48 void PrintLineSegments();
49
50 void SecSelected(TEveTrack*) override; // marked as signal in TEveTrack
51
52 ClassDefOverride(TEveTrackProjected, 0); // Projected copy of a TEveTrack.
53};
54
55
56/******************************************************************************/
57// TEveTrackListProjected
58/******************************************************************************/
59
61 public TEveProjected
62{
63private:
66
67protected:
68 void SetDepthLocal(Float_t d) override;
69
70public:
73
74 void SetProjection(TEveProjectionManager* proj, TEveProjectable* model) override;
75 void UpdateProjection() override {}
76 TEveElement* GetProjectedAsElement() override { return this; }
77
78 void SetDepth(Float_t d) override;
79 virtual void SetDepth(Float_t d, TEveElement* el);
80
81 ClassDefOverride(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:63
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition TEveElement.h:36
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.
TEveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to TEveElement.
void UpdateProjection() override
void SetProjection(TEveProjectionManager *proj, TEveProjectable *model) override
This is virtual method from base-class TEveProjected.
TEveTrackListProjected()
Default constructor.
void SetDepthLocal(Float_t d) override
This is not needed for functionality as SetDepth(Float_t d) is overriden – but SetDepthLocal() is abs...
void SetDepth(Float_t d) override
Set depth of all children inheriting from TEveTrackProjected.
TEveTrackListProjected & operator=(const TEveTrackListProjected &)
TEveTrackListProjected(const TEveTrackListProjected &)
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.
TEveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to TEveElement.
std::vector< Int_t > fBreakPoints
TEveTrackProjected()
Default constructor.
TEveTrackProjected(const TEveTrackProjected &)=delete
void MakeTrack(Bool_t recurse=kTRUE) override
Calculate the points of the track for drawing.
void SecSelected(TEveTrack *) override
Virtual method from from base-class TEveTrack.
void SetProjection(TEveProjectionManager *mng, TEveProjectable *model) override
This is virtual method from base-class TEveProjected.
void UpdateProjection() override
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.
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
TEveTrackProjected & operator=(const TEveTrackProjected &)=delete
Visual representation of a track.
Definition TEveTrack.h:33