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 
18 namespace ROOT {
19 namespace Experimental {
20 
21 ////////////////////////////////////////////////////////////////////////////////
22 /// REveTrackProjected
23 /// Projected copy of a REveTrack.
24 ////////////////////////////////////////////////////////////////////////////////
25 
27  public REveProjected
28 {
29 private:
32 
34 
35  REveVector *fOrigPnts{nullptr}; // original track points
36 
37 protected:
38  std::vector<UInt_t> fBreakPoints; // indices of track break-points
39 
40  void SetDepthLocal(Float_t d) override;
41 
42 public:
43  REveTrackProjected() = default;
44  virtual ~REveTrackProjected();
45 
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 
66 private:
69 
70 protected:
71  void SetDepthLocal(Float_t d) override;
72 
73 public:
76 
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
ROOT::Experimental::REveProjected
Definition: REveProjectionBases.hxx:81
ROOT::Experimental::REveTrackProjected::SetProjection
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
Definition: REveTrackProjected.cxx:42
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
ROOT::Experimental::REveTrackProjected::REveTrackProjected
REveTrackProjected()=default
nlohmann::json
basic_json<> json
Definition: REveElement.hxx:58
REveProjectionBases.hxx
ROOT::Experimental::REveTrackListProjected::SetProjection
void SetProjection(REveProjectionManager *proj, REveProjectable *model) override
This is virtual method from base-class REveProjected.
Definition: REveTrackProjected.cxx:274
ROOT::Experimental::REveTrackProjected::operator=
REveTrackProjected & operator=(const REveTrackProjected &)=delete
ROOT::Experimental::REveTrackProjected::SetDepthLocal
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
Definition: REveTrackProjected.cxx:55
Float_t
float Float_t
Definition: RtypesCore.h:57
ROOT::Experimental::REveTrackProjected::SecSelected
void SecSelected(REveTrack *) override
Virtual method from from base-class REveTrack.
Definition: REveTrackProjected.cxx:249
ROOT::Experimental::REveTrackListProjected::SetDepthLocal
void SetDepthLocal(Float_t d) override
This is not needed for functionality as SetDepth(Float_t d) is overriden – but SetDepthLocal() is abs...
Definition: REveTrackProjected.cxx:288
Int_t
int Int_t
Definition: RtypesCore.h:45
ROOT::Experimental::REveTrackProjected::WriteCoreJson
Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override
Creates client representation.
Definition: REveTrackProjected.cxx:318
ROOT::Experimental::REveTrackProjected
REveTrackProjected Projected copy of a REveTrack.
Definition: REveTrackProjected.hxx:28
ROOT::Experimental::REveTrackListProjected::REveTrackListProjected
REveTrackListProjected()
Default constructor.
Definition: REveTrackProjected.cxx:265
ROOT::Experimental::REveTrackList
REveTrackList A list of tracks supporting change of common attributes and selection based on track pa...
Definition: REveTrack.hxx:146
ROOT::Experimental::REveElement
Definition: REveElement.hxx:80
ROOT::Experimental::REveVectorT< Float_t >
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
ROOT::Experimental::REveTrackProjected::GetProjectedAsElement
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
Definition: REveTrackProjected.hxx:49
ROOT::Experimental::REveTrackListProjected::operator=
REveTrackListProjected & operator=(const REveTrackListProjected &)=delete
ROOT::Experimental::REveTrack
REveTrack Track with given vertex, momentum and optional referece-points (path-marks) along its path.
Definition: REveTrack.hxx:40
ROOT::Experimental::REveTrackListProjected::UpdateProjection
void UpdateProjection() override
Definition: REveTrackProjected.hxx:78
ROOT::Experimental::REveTrackProjected::PrintLineSegments
void PrintLineSegments()
Print line segments info.
Definition: REveTrackProjected.cxx:225
ROOT::Experimental::REveTrackListProjected::SetDepth
void SetDepth(Float_t d) override
Set depth of all children inheriting from REveTrackProjected.
Definition: REveTrackProjected.cxx:296
ROOT::Experimental::REveTrackProjected::MakeTrack
void MakeTrack(Bool_t recurse=kTRUE) override
Calculate the points of the track for drawing.
Definition: REveTrackProjected.cxx:117
ROOT::Experimental::REveTrackProjected::BuildRenderData
void BuildRenderData() override
Creates client rendering info.
Definition: REveTrackProjected.cxx:330
ROOT::Experimental::REveProjectable
Definition: REveProjectionBases.hxx:38
REveTrack.hxx
ROOT::Experimental::REveTrackListProjected::~REveTrackListProjected
virtual ~REveTrackListProjected()
Definition: REveTrackProjected.hxx:75
ROOT::Experimental::REveTrackListProjected
REveTrackListProjected Specialization of REveTrackList for holding REveTrackProjected objects.
Definition: REveTrackProjected.hxx:65
ROOT::Experimental::REveTrackProjected::~REveTrackProjected
virtual ~REveTrackProjected()
Definition: REveTrackProjected.cxx:30
ROOT::Experimental::REveTrackProjected::fOrigPnts
REveVector * fOrigPnts
Definition: REveTrackProjected.hxx:35
ROOT::Experimental::REveTrackProjected::GetBreakPointIdx
Int_t GetBreakPointIdx(Int_t start)
Find index of the last point that lies within the same segment of projected space.
Definition: REveTrackProjected.cxx:84
d
#define d(i)
Definition: RSha256.hxx:102
ROOT::Experimental::REveTrackListProjected::REveTrackListProjected
REveTrackListProjected(const REveTrackListProjected &)=delete
make_cnn_model.model
model
Definition: make_cnn_model.py:6
ROOT::Experimental::REveTrackProjected::fBreakPoints
std::vector< UInt_t > fBreakPoints
Definition: REveTrackProjected.hxx:38
ROOT::Experimental::REveTrackProjected::UpdateProjection
void UpdateProjection() override
Virtual method from base-class REveProjected.
Definition: REveTrackProjected.cxx:73
ROOT::Experimental::REveProjectionManager
REveProjectionManager Manager class for steering of projections and managing projected objects.
Definition: REveProjectionManager.hxx:30
ROOT
VSD Structures.
Definition: StringConv.hxx:21
ROOT::Experimental::REveTrackProjected::REveTrackProjected
REveTrackProjected(const REveTrackProjected &)=delete
int
ROOT::Experimental::REveTrackListProjected::GetProjectedAsElement
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
Definition: REveTrackProjected.hxx:79