Logo ROOT  
Reference Guide
REveTrackProjected.hxx
Go to the documentation of this file.
1// @(#)root/eve7:$Id$
2// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2019, 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 ROOT7_REveTrackProjected
13#define ROOT7_REveTrackProjected
14
15#include <ROOT/REveTrack.hxx>
17
18namespace ROOT {
19namespace Experimental {
20
21////////////////////////////////////////////////////////////////////////////////
22/// REveTrackProjected
23/// Projected copy of a REveTrack.
24////////////////////////////////////////////////////////////////////////////////
25
27 public REveProjected
28{
29private:
32
34
35 REveVector *fOrigPnts{nullptr}; // original track points
36
37protected:
38 std::vector<UInt_t> fBreakPoints; // indices of track break-points
39
40 void SetDepthLocal(Float_t d) override;
41
42public:
43 REveTrackProjected() = default;
44 virtual ~REveTrackProjected();
45
46 void SetProjection(REveProjectionManager *mng, REveProjectable *model) override;
47
48 void UpdateProjection() override;
49 REveElement *GetProjectedAsElement() override { return this; }
50 void MakeTrack(Bool_t recurse = kTRUE) override;
51
52 void PrintLineSegments();
53
54 void SecSelected(REveTrack *) override; // marked as signal in REveTrack
55
56 Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override;
57 void BuildRenderData() override;
58};
59
60////////////////////////////////////////////////////////////////////////////////
61/// REveTrackListProjected
62/// Specialization of REveTrackList for holding REveTrackProjected objects.
63////////////////////////////////////////////////////////////////////////////////
64
66private:
69
70protected:
71 void SetDepthLocal(Float_t d) override;
72
73public:
76
77 void SetProjection(REveProjectionManager *proj, REveProjectable *model) override;
78 void UpdateProjection() override {}
79 REveElement *GetProjectedAsElement() override { return this; }
80
81 void SetDepth(Float_t d) override;
82 virtual void SetDepth(Float_t d, REveElement *el);
83};
84
85} // namespace Experimental
86} // namespace ROOT
87
88#endif
#define d(i)
Definition: RSha256.hxx:102
int Int_t
Definition: RtypesCore.h:45
bool Bool_t
Definition: RtypesCore.h:63
float Float_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:100
REveProjectionManager Manager class for steering of projections and managing projected objects.
REveTrackListProjected Specialization of REveTrackList for holding REveTrackProjected objects.
void SetDepthLocal(Float_t d) override
This is not needed for functionality as SetDepth(Float_t d) is overriden – but SetDepthLocal() is abs...
void SetProjection(REveProjectionManager *proj, REveProjectable *model) override
This is virtual method from base-class REveProjected.
void SetDepth(Float_t d) override
Set depth of all children inheriting from REveTrackProjected.
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
REveTrackListProjected(const REveTrackListProjected &)=delete
REveTrackListProjected & operator=(const REveTrackListProjected &)=delete
REveTrackList A list of tracks supporting change of common attributes and selection based on track pa...
Definition: REveTrack.hxx:146
REveTrackProjected Projected copy of a REveTrack.
void SecSelected(REveTrack *) override
Virtual method from from base-class REveTrack.
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
void BuildRenderData() override
Creates client rendering info.
REveTrackProjected & operator=(const REveTrackProjected &)=delete
REveTrackProjected(const REveTrackProjected &)=delete
Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override
Creates client representation.
void UpdateProjection() override
Virtual method from base-class REveProjected.
Int_t GetBreakPointIdx(Int_t start)
Find index of the last point that lies within the same segment of projected space.
void MakeTrack(Bool_t recurse=kTRUE) override
Calculate the points of the track for drawing.
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
void PrintLineSegments()
Print line segments info.
REveTrack Track with given vertex, momentum and optional referece-points (path-marks) along its path.
Definition: REveTrack.hxx:40
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...