Logo ROOT  
Reference Guide
REveJetCone.hxx
Go to the documentation of this file.
1 // @(#)root/eve7:$Id$
2 // Author: Matevz Tadel, Jochen Thaeder 2009, 2018
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_REveJetCone
13 #define ROOT7_REveJetCone
14 
15 #include <ROOT/REveShape.hxx>
16 #include <ROOT/REveVector.hxx>
17 
18 namespace ROOT {
19 namespace Experimental {
20 
21 //------------------------------------------------------------------------------
22 // REveJetCone
23 //------------------------------------------------------------------------------
24 
25 class REveJetCone : public REveShape,
26  public REveProjectable
27 {
28  friend class REveJetConeProjected;
29 
30 private:
31  REveJetCone(const REveJetCone &) = delete;
32  REveJetCone &operator=(const REveJetCone &) = delete;
33 
34 protected:
35  REveVector fApex; // Apex of the cone.
36  REveVector fAxis; // Axis of the cone.
37  REveVector fLimits; // Border of Barrel/Cylinder to cut the cone.
38  Float_t fThetaC; // Transition theta
42 
43  REveVector CalcEtaPhiVec(Float_t eta, Float_t phi) const;
44  REveVector CalcBaseVec(Float_t eta, Float_t phi) const;
45  REveVector CalcBaseVec(Float_t alpha) const;
47 
48 public:
49  REveJetCone(const Text_t *n = "REveJetCone", const Text_t *t = "");
50  virtual ~REveJetCone() {}
51 
52  Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
53  void BuildRenderData() override;
54 
55  void ComputeBBox() override;
56  TClass *ProjectedClass(const REveProjection *p) const override;
57 
58  void SetApex(const REveVector &a) { fApex = a; }
60  {
61  fLimits.Set(0, r, z);
62  fThetaC = fLimits.Theta();
63  }
65  {
66  fLimits.Set(r, 0, 0);
67  fThetaC = 10;
68  }
69 
70  Int_t GetNDiv() const { return fNDiv; }
71  void SetNDiv(Int_t n);
72 
73  Int_t AddCone(Float_t eta, Float_t phi, Float_t cone_r, Float_t length = 0);
74  Int_t AddEllipticCone(Float_t eta, Float_t phi, Float_t reta, Float_t rphi, Float_t length = 0);
75 };
76 
77 
78 //------------------------------------------------------------------------------
79 // REveJetConeProjected
80 //------------------------------------------------------------------------------
81 
83  public REveProjected
84 {
85 private:
88 
89 protected:
90  void SetDepthLocal(Float_t d) override;
91 
92 public:
93  REveJetConeProjected(const std::string &n = "REveJetConeProjected", const std::string& t = "");
94  virtual ~REveJetConeProjected();
95 
96  void BuildRenderData() override;
97 
98  // For TAttBBox:
99  void ComputeBBox() override;
100 
101  // Projected:
103  void UpdateProjection() override;
104 
105  REveElement *GetProjectedAsElement() override { return this; }
106 };
107 
108 } // namespace Experimental
109 } // namespace ROOT
110 
111 #endif
ROOT::Experimental::REveJetCone::AddEllipticCone
Int_t AddEllipticCone(Float_t eta, Float_t phi, Float_t reta, Float_t rphi, Float_t length=0)
Add jet cone.
Definition: REveJetCone.cxx:157
ROOT::Experimental::REveJetCone::WriteCoreJson
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
Definition: REveJetCone.cxx:77
ROOT::Experimental::REveProjected
Definition: REveProjectionBases.hxx:81
n
const Int_t n
Definition: legend1.C:16
ROOT::Experimental::REveJetCone::fNDiv
Int_t fNDiv
Definition: REveJetCone.hxx:41
ROOT::Experimental::REveJetCone::AddCone
Int_t AddCone(Float_t eta, Float_t phi, Float_t cone_r, Float_t length=0)
Add jet cone.
Definition: REveJetCone.cxx:141
ROOT::Experimental::REveJetCone::fThetaC
Float_t fThetaC
Definition: REveJetCone.hxx:38
REveShape.hxx
ROOT::Experimental::REveJetCone::fAxis
REveVector fAxis
Definition: REveJetCone.hxx:36
ROOT::Experimental::REveJetCone::fDPhi
Float_t fDPhi
Definition: REveJetCone.hxx:40
ROOT::Experimental::REveJetConeProjected::REveJetConeProjected
REveJetConeProjected(const REveJetConeProjected &)=delete
ROOT::Experimental::REveJetConeProjected::BuildRenderData
void BuildRenderData() override
Crates 3D point array for rendering.
Definition: REveJetCone.cxx:258
r
ROOT::R::TRInterface & r
Definition: Object.C:4
ROOT::Experimental::REveJetConeProjected::UpdateProjection
void UpdateProjection() override
Re-project the jet-cone.
Definition: REveJetCone.cxx:361
Float_t
float Float_t
Definition: RtypesCore.h:57
ROOT::Experimental::REveJetCone::fDEta
Float_t fDEta
Definition: REveJetCone.hxx:40
Int_t
int Int_t
Definition: RtypesCore.h:45
ROOT::Experimental::REveJetCone::GetNDiv
Int_t GetNDiv() const
Definition: REveJetCone.hxx:70
ROOT::Experimental::REveJetCone::fApex
REveVector fApex
Definition: REveJetCone.hxx:35
ROOT::Experimental::REveJetConeProjected::SetProjection
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
Definition: REveJetCone.cxx:352
ROOT::Experimental::REveJetCone::SetCylinder
void SetCylinder(Float_t r, Float_t z)
Definition: REveJetCone.hxx:59
ROOT::Experimental::REveElement
Definition: REveElement.hxx:41
ROOT::Experimental::REveVectorT< Float_t >
ROOT::Experimental::REveVectorT::Theta
TT Theta() const
Definition: REveVector.hxx:132
ROOT::Experimental::REveJetCone
Definition: REveJetCone.hxx:27
bool
ROOT::Experimental::REveJetConeProjected::~REveJetConeProjected
virtual ~REveJetConeProjected()
Destructor.
Definition: REveJetCone.cxx:251
ROOT::Experimental::REveProjection
REveProjection Base for specific classes that implement non-linear projections.
Definition: REveProjections.hxx:30
ROOT::Experimental::REveJetCone::ComputeBBox
void ComputeBBox() override
Compute bounding-box of the data.
Definition: REveJetCone.cxx:112
ROOT::Experimental::REveJetCone::SetApex
void SetApex(const REveVector &a)
Definition: REveJetCone.hxx:58
ROOT::Experimental::REveJetCone::fLimits
REveVector fLimits
Definition: REveJetCone.hxx:37
ROOT::Experimental::REveJetConeProjected::operator=
REveJetConeProjected & operator=(const REveJetConeProjected &)=delete
ROOT::Experimental::REveJetCone::BuildRenderData
void BuildRenderData() override
Crates 3D point array for rendering.
Definition: REveJetCone.cxx:91
ROOT::Experimental::REveShape
Definition: REveShape.hxx:31
ROOT::Experimental::REveVectorT::Set
void Set(const Float_t *v)
Definition: REveVector.hxx:80
a
auto * a
Definition: textangle.C:12
ROOT::Experimental::REveJetCone::fEta
Float_t fEta
Definition: REveJetCone.hxx:39
ROOT::Experimental::REveProjectable
Definition: REveProjectionBases.hxx:38
ROOT::Experimental::REveJetCone::IsInTransitionRegion
Bool_t IsInTransitionRegion() const
Returns true if the cone is in barrel / endcap transition region.
Definition: REveJetCone.cxx:223
ROOT::Experimental::REveJetCone::fPhi
Float_t fPhi
Definition: REveJetCone.hxx:39
ROOT::Experimental::REveJetCone::SetNDiv
void SetNDiv(Int_t n)
Set Number of Divisions.
Definition: REveJetCone.cxx:67
ROOT::Experimental::REveJetCone::operator=
REveJetCone & operator=(const REveJetCone &)=delete
ROOT::Experimental::REveJetCone::~REveJetCone
virtual ~REveJetCone()
Definition: REveJetCone.hxx:50
ROOT::Experimental::REveJetConeProjected::GetProjectedAsElement
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
Definition: REveJetCone.hxx:105
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
ROOT::Experimental::REveJetConeProjected::SetDepthLocal
void SetDepthLocal(Float_t d) override
This is virtual method from base-class REveProjected.
Definition: REveJetCone.cxx:344
ROOT::Experimental::REveJetCone::CalcBaseVec
REveVector CalcBaseVec(Float_t eta, Float_t phi) const
Returns point on the base of the cone with given eta and phi.
Definition: REveJetCone.cxx:182
REveVector.hxx
d
#define d(i)
Definition: RSha256.hxx:102
ROOT::Experimental::REveJetCone::REveJetCone
REveJetCone(const REveJetCone &)=delete
make_cnn_model.model
model
Definition: make_cnn_model.py:6
ROOT::Experimental::REveJetCone::SetRadius
void SetRadius(Float_t r)
Definition: REveJetCone.hxx:64
Text_t
char Text_t
Definition: RtypesCore.h:62
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::REveJetCone::ProjectedClass
TClass * ProjectedClass(const REveProjection *p) const override
Virtual from REveProjectable, returns REveJetConeProjected class.
Definition: REveJetCone.cxx:125
ROOT::Experimental::REveJetCone::CalcEtaPhiVec
REveVector CalcEtaPhiVec(Float_t eta, Float_t phi) const
Fill REveVector with eta and phi, magnitude 1.
Definition: REveJetCone.cxx:172
ROOT::Experimental::REveJetConeProjected
Definition: REveJetCone.hxx:84
int
ROOT::Experimental::REveJetConeProjected::ComputeBBox
void ComputeBBox() override
Compute bounding-box, virtual from TAttBBox.
Definition: REveJetCone.cxx:327