12 #ifndef ROOT_TEveCaloLegoGL
13 #define ROOT_TEveCaloLegoGL
44 fX0 = fX1 = fY0 = fY1 = 0;
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
virtual void DrawHighlight(TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const
Draw highligted cells.
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
virtual Bool_t SupportsSecondarySelect() const
virtual ~TEveCaloLegoGL()
Destructor.
virtual void DLCachePurge()
Unregister all display-lists.
void Make3DDisplayListRebin(TEveCaloData::RebinData_t &rebinData, SliceDLMap_t &map, Bool_t select) const
Create display-list that draws histogram bars for rebinned data.
OpenGL renderer class for TEveCaloLego.
void PrepareCell2DData(TEveCaloData::vCellId_t &cellList, vCell2D_t &cells2D) const
Prepare cells 2D data non-rebinned for drawing.
TEveCaloLegoGL()
Constructor.
Bool_t GetWrapTwoPi() const
Short_t Min(Short_t a, Short_t b)
std::vector< Cell2D_t >::iterator vCell2D_i
TGLAxisPainter fAxisPainter
Concrete physical shape - a GL drawable.
void DrawHistBase(TGLRnrCtx &rnrCtx) const
Draw basic histogram components: x-y grid.
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
Draw the object.
Int_t GetGridStep(TGLRnrCtx &rnrCtx) const
Calculate view-dependent grid density.
Int_t fCurrentPixelsPerBin
void DrawCells3D(TGLRnrCtx &rnrCtx) const
Render the calo lego-plot with OpenGL.
TEveVector fXAxisTitlePos
Base-class for direct OpenGL renderers.
TEveVector fYAxisTitlePos
std::vector< CellId_t > vCellId_t
void MakeQuad(Float_t x, Float_t y, Float_t z, Float_t xw, Float_t yw, Float_t zh) const
Draw an axis-aligned box using quads.
void DrawCells2D(TGLRnrCtx &rnrCtx, vCell2D_t &cells2D) const
Draw cells in top view.
void PrepareCell2DDataRebin(TEveCaloData::RebinData_t &rebinData, vCell2D_t &cells2D) const
Prepare cells 2D rebinned data for drawing.
TEveCaloData::RebinData_t fRebinData
TEveVector fBackPlaneYConst[2]
virtual void DLCacheDrop()
Drop all display-list definitions.
void GetScaleForMatrix(Float_t &sx, Float_t &sy, Float_t &sz) const
Get scale for matrix.
ClassDef(TEveCaloLegoGL, 0)
TEveCaloData * GetData() const
Class to manage histogram axis.
void WrapTwoPi(Float_t &min, Float_t &max) const
Standard selection record including information about containing scene and details ob out selected ob...
Float_t GetPhiMin() const
virtual Bool_t AlwaysSecondarySelect() const
void SetGeom(Float_t x0, Float_t x1, Float_t y0, Float_t y1)
std::map< Int_t, UInt_t > SliceDLMap_t
void DrawAxis3D(TGLRnrCtx &rnrCtx) const
Draw z-axis and z-box at the appropriate grid corner-point including tick-marks and labels...
void Make3DDisplayList(TEveCaloData::vCellId_t &cellList, SliceDLMap_t &map, Bool_t select) const
Create display-list that draws histogram bars for non-rebinned data.
TEveCaloLegoGL & operator=(const TEveCaloLegoGL &)
virtual void SetBBox()
Set bounding box.
std::vector< Cell2D_t > vCell2D_t
Visualization of calorimeter data as eta/phi histogram.
static const double x1[5]
void DrawAxis2D(TGLRnrCtx &rnrCtx) const
Draw XY axis.
Float_t GetPhiMax() const
std::map< Int_t, UInt_t >::iterator SliceDLMap_i
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Mother of all ROOT objects.
virtual Bool_t SetModel(TObject *obj, const Option_t *opt=0)
Set model object.
virtual void ProcessSelection(TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
Processes tower selection from TGLViewer.
void DrawSelectedCells(TGLRnrCtx &rnrCtx, TEveCaloData::vCellId_t cells) const
Draw selected cells in highlight mode.
TEveVector fBackPlaneXConst[2]
void SetAxis3DTitlePos(TGLRnrCtx &rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const
Set the axis 3D title position.
TEveVector fZAxisTitlePos
GL-overlay control GUI for TEveCaloLego.
void RebinAxis(TAxis *orig, TAxis *curr) const
Rebin eta, phi axis.
Cell2D_t(Int_t id, Float_t sumVal, Int_t maxSlice)