12 #ifndef ROOT_TEveJetCone
13 #define ROOT_TEveJetCone
23 class TEveJetCone :
public TEveShape
25 friend class TEveJetConeProjected;
26 friend class TEveJetConeGL;
27 friend class TEveJetConeProjectedGL;
30 TEveJetCone(
const TEveJetCone&);
31 TEveJetCone& operator=(
const TEveJetCone&);
42 TEveVector CalcEtaPhiVec(Float_t eta, Float_t phi)
const;
43 TEveVector CalcBaseVec (Float_t eta, Float_t phi)
const;
44 TEveVector CalcBaseVec (Float_t alpha)
const;
45 Bool_t IsInTransitionRegion()
const;
48 TEveJetCone(
const Text_t* n=
"TEveJetCone",
const Text_t* t=
"");
49 virtual ~TEveJetCone() {}
51 virtual void ComputeBBox();
52 virtual TClass* ProjectedClass(
const TEveProjection* p)
const;
54 void SetApex(
const TEveVector& a) { fApex = a; }
55 void SetCylinder(Float_t r, Float_t z) { fLimits.Set(0, r, z); fThetaC = fLimits.Theta(); }
56 void SetRadius (Float_t r) { fLimits.Set(r, 0, 0); fThetaC = 10; }
58 Int_t GetNDiv()
const {
return fNDiv; }
59 void SetNDiv(Int_t n) { fNDiv = TMath::Max(3, n); }
61 Int_t AddCone(Float_t eta, Float_t phi, Float_t cone_r, Float_t length=0);
62 Int_t AddEllipticCone(Float_t eta, Float_t phi, Float_t reta, Float_t rphi, Float_t length=0);
64 ClassDef(TEveJetCone, 0);
72 class TEveJetConeProjected :
public TEveShape,
75 friend class TEveJetConeProjectedGL;
78 TEveJetConeProjected(
const TEveJetConeProjected&);
79 TEveJetConeProjected& operator=(
const TEveJetConeProjected&);
82 virtual void SetDepthLocal(Float_t d);
85 TEveJetConeProjected(
const char* n=
"TEveJetConeProjected",
const char* t=
"");
86 virtual ~TEveJetConeProjected();
89 virtual void ComputeBBox();
92 virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
93 virtual void UpdateProjection();
95 virtual TEveElement* GetProjectedAsElement() {
return this; }
97 ClassDef(TEveJetConeProjected, 0);