21#include "TGLIncludes.h"
80 out[0] =
v1[1] *
v2[2] -
v1[2] *
v2[1];
81 out[1] =
v1[2] *
v2[0] -
v1[0] *
v2[2];
82 out[2] =
v1[0] *
v2[1] -
v1[1] *
v2[0];
90 using namespace TMath;
114 eta =
ax->GetBinUpEdge(i);
118 r = Abs(
zEF*Tan(theta));
119 z = Sign(
zEF,
ax->GetBinLowEdge(i));
130 }
else if (eta <=
transB && (eta >
etaMin && eta < etaMax)) {
132 r = Abs(
zEB*Tan(theta));
133 z = Sign(
zEB,
ax->GetBinLowEdge(i));
202 using namespace TMath;
222 eta =
ax->GetBinUpEdge(i);
277 if (
rnrCtx.Highlight() ||
rnrCtx.Selection() ||
rnrCtx.IsDrawPassOutlineLine())
return;
401 using namespace TMath;
471 using namespace TMath;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
const_iterator begin() const
const_iterator end() const
Class to manage histogram axis.
OpenGL renderer class for TEveCalo3D.
void SetBBox() override
Set bounding box.
std::vector< Float_t > fOffset
void RenderBarrelCell(const TEveCaloData::CellGeom_t &cell, Float_t towerH, Float_t &offset) const
Render barrel cell.
void RenderBox(const Float_t pnts[8]) const
Render box with given points.
void DirectDraw(TGLRnrCtx &rnrCtx) const override
GL rendering.
TEveCalo3DGL()
Constructor.
void RenderGrid(TGLRnrCtx &rnrCtx) const
Draw frame reading eta, phi axis.
void RenderGridEndCap() const
Render end cap grid.
void ProcessSelection(TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) override
Processes tower selection.
void DrawHighlight(TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const override
Draw polygons in highlight mode.
void DrawSelectedCells(TEveCaloData::vCellId_t cells) const
void CrossProduct(const Float_t a[3], const Float_t b[3], const Float_t c[3], Float_t out[3]) const
Calculate cross-product.
Bool_t ShouldDLCache(const TGLRnrCtx &rnrCtx) const override
Override from TGLObject.
void RenderGridBarrel() const
Render barrel grid.
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override
Set model object.
void RenderEndCapCell(const TEveCaloData::CellGeom_t &cell, Float_t towerH, Float_t &offset) const
Render an endcap cell.
Visualization of a calorimeter event data in 3D.
TEveCaloData::vCellId_t fCellList
Bool_t GetRnrBarrelFrame() const
Float_t GetFrameWidth() const
void BuildCellIdCache() override
Build list of drawn cell IDs. See TEveCalo3DGL::DirectDraw().
Char_t fFrameTransparency
Bool_t GetRnrEndCapFrame() const
std::vector< CellId_t > vCellId_t
static Float_t EtaToTheta(Float_t eta)
void ProcessSelection(vCellId_t &sel_cells, TGLSelectRecord &rec)
Process newly selected cells with given select-record.
virtual void GetCellData(const CellId_t &id, CellData_t &data) const =0
virtual TAxis * GetEtaBins() const
vCellId_t & GetCellsHighlighted()
virtual TAxis * GetPhiBins() const
vCellId_t & GetCellsSelected()
std::vector< CellId_t >::iterator vCellId_i
Float_t GetEtaMin() const
Float_t GetTransitionEtaBackward() const
Get transition eta between barrel and backward end-cap cells.
Float_t GetBarrelRadius() const
Float_t GetBackwardEndCapPos() const
Float_t GetForwardEndCapPos() const
TEveCaloData * GetData() const
TEveRGBAPalette * AssertPalette()
Make sure the TEveRGBAPalette pointer is not null.
Float_t GetEtaMax() const
Float_t GetTransitionEtaForward() const
Get transition eta between barrel and forward end-cap cells.
Float_t GetPhiMax() const
Bool_t CellInEtaPhiRng(TEveCaloData::CellData_t &) const
Returns true if given cell is in the ceta phi range.
Bool_t GetValueIsColor() const
Float_t GetPhiMin() const
void SetupColorHeight(Float_t value, Int_t slice, Float_t &height) const
Set color and height for a given value and slice using slice color or TEveRGBAPalette.
static Bool_t IsU1IntervalContainedByMinMax(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Return true if interval Q is contained within interval M for U1 variables.
TObject * fExternalObj
first replica
Base-class for direct OpenGL renderers.
void SetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
Set axis-aligned bounding-box.
Bool_t ShouldDLCache(const TGLRnrCtx &rnrCtx) const override
Decide if display-list should be used for this pass rendering, as determined by rnrCtx.
Concrete physical shape - a GL drawable.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Standard selection record including information about containing scene and details ob out selected ob...
static UInt_t LockColor()
Prevent further color changes.
static void ColorTransparency(Color_t color_index, Char_t transparency=0)
Set color from color_index and ROOT-style transparency (default 0).
static UInt_t UnlockColor()
Allow color changes.
static Float_t LineWidth()
Get the line-width, taking the global scaling into account.
Mother of all ROOT objects.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
T1 Sign(T1 a, T2 b)
Returns a value with the magnitude of a and the sign of b.
Cell data inner structure.
Cell geometry inner structure.