CMS 3D CMS Logo

TEveEllipsoid.h
Go to the documentation of this file.
1 #ifndef ROOT_TEveEllipsoid
2 #define ROOT_TEveEllipsoid
3 
4 #include "TEveShape.h"
5 #include "TEveVector.h"
6 #include "TEveTrans.h"
7 #include "TMatrixDSym.h"
8 
9 //------------------------------------------------------------------------------
10 // TEveEllipsoid
11 //------------------------------------------------------------------------------
12 
13 class TEveEllipsoid : public TEveShape {
14  friend class TEveEllipsoidProjected;
15  friend class TEveEllipsoidGL;
17 
18 private:
19  TEveEllipsoid(const TEveEllipsoid&); // Not implemented
20  TEveEllipsoid& operator=(const TEveEllipsoid&); // Not implemented
21 
22 protected:
23  TEveVector fPos;
24  TEveVector fExtent3D;
25  TEveTrans fEMtx;
26 
27  float fEScale;
28 
29 public:
30  TEveEllipsoid(const Text_t* n = "TEveEllipsoid", const Text_t* t = "");
31  ~TEveEllipsoid() override {}
32 
33  void ComputeBBox() override;
34  TClass* ProjectedClass(const TEveProjection* p) const override;
35 
36  TEveVector& RefPos() { return fPos; }
37  TEveVector& RefExtent3D() { return fExtent3D; } // cached member for bbox and 3D rendering
38  TEveTrans& RefEMtx() { return fEMtx; }
39 
40  void SetScale(float x) { fEScale = x; }
41 
42  ClassDefOverride(TEveEllipsoid, 0); // Short description.
43 };
44 
45 //------------------------------------------------------------------------------
46 // TEveEllipsoidProjected
47 //------------------------------------------------------------------------------
48 
49 class TEveEllipsoidProjected : public TEveShape, public TEveProjected {
51 
52 private:
53  TEveEllipsoidProjected(const TEveEllipsoidProjected&); // Not implemented
54  TEveEllipsoidProjected& operator=(const TEveEllipsoidProjected&); // Not implemented
55 
56 protected:
57  void SetDepthLocal(Float_t d) override;
58 
59 public:
60  TEveEllipsoidProjected(const char* n = "TEveEllipsoidProjected", const char* t = "");
61  ~TEveEllipsoidProjected() override;
62 
63  // For TAttBBox:
64  void ComputeBBox() override;
65 
66  // Projected:
67  void SetProjection(TEveProjectionManager* mng, TEveProjectable* model) override;
68  void UpdateProjection() override;
69 
70  TEveElement* GetProjectedAsElement() override { return this; }
71 
72  ClassDefOverride(TEveEllipsoidProjected, 0); // Projection of TEveEllipsoid.
73 };
74 
75 #endif
TEveEllipsoidProjected::ComputeBBox
void ComputeBBox() override
Definition: TEveEllipsoid.cc:55
TEveEllipsoidProjected::TEveEllipsoidProjected
TEveEllipsoidProjected(const TEveEllipsoidProjected &)
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
TEveEllipsoid::RefPos
TEveVector & RefPos()
Definition: TEveEllipsoid.h:36
TEveEllipsoidProjected::operator=
TEveEllipsoidProjected & operator=(const TEveEllipsoidProjected &)
TEveEllipsoid::ProjectedClass
TClass * ProjectedClass(const TEveProjection *p) const override
Definition: TEveEllipsoid.cc:30
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TEveEllipsoid::RefEMtx
TEveTrans & RefEMtx()
Definition: TEveEllipsoid.h:38
TEveEllipsoid::SetScale
void SetScale(float x)
Definition: TEveEllipsoid.h:40
DDAxes::x
TEveEllipsoidProjected::UpdateProjection
void UpdateProjection() override
Definition: TEveEllipsoid.cc:118
ReggeGribovPartonMC_EposLHC_2760GeV_PbPb_cfi.model
model
Definition: ReggeGribovPartonMC_EposLHC_2760GeV_PbPb_cfi.py:11
TEveEllipsoidProjectedGL
Definition: TEveEllipsoidGL.h:42
TEveEllipsoid::fPos
TEveVector fPos
Definition: TEveEllipsoid.h:23
TEveEllipsoid::ClassDefOverride
ClassDefOverride(TEveEllipsoid, 0)
TEveEllipsoid::fEScale
float fEScale
Definition: TEveEllipsoid.h:27
TEveEllipsoidProjected::SetProjection
void SetProjection(TEveProjectionManager *mng, TEveProjectable *model) override
Definition: TEveEllipsoid.cc:110
TEveEllipsoid::TEveEllipsoid
TEveEllipsoid(const TEveEllipsoid &)
TEveEllipsoidProjected::~TEveEllipsoidProjected
~TEveEllipsoidProjected() override
Definition: TEveEllipsoid.cc:50
OrderedSet.t
t
Definition: OrderedSet.py:90
TEveEllipsoid::RefExtent3D
TEveVector & RefExtent3D()
Definition: TEveEllipsoid.h:37
TEveEllipsoidProjected::SetDepthLocal
void SetDepthLocal(Float_t d) override
Definition: TEveEllipsoid.cc:103
TEveEllipsoid
Definition: TEveEllipsoid.h:13
TEveEllipsoidProjected
Definition: TEveEllipsoid.h:49
TEveEllipsoid::ComputeBBox
void ComputeBBox() override
Definition: TEveEllipsoid.cc:12
TEveEllipsoid::operator=
TEveEllipsoid & operator=(const TEveEllipsoid &)
TEveEllipsoid::fExtent3D
TEveVector fExtent3D
Definition: TEveEllipsoid.h:24
TEveEllipsoidGL
Definition: TEveEllipsoidGL.h:17
TEveEllipsoid::fEMtx
TEveTrans fEMtx
Definition: TEveEllipsoid.h:25
TEveEllipsoidProjected::GetProjectedAsElement
TEveElement * GetProjectedAsElement() override
Definition: TEveEllipsoid.h:70
ztail.d
d
Definition: ztail.py:151
TEveEllipsoidProjected::ClassDefOverride
ClassDefOverride(TEveEllipsoidProjected, 0)
TEveEllipsoid::~TEveEllipsoid
~TEveEllipsoid() override
Definition: TEveEllipsoid.h:31