Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TEveCalo2DGL Class Reference

OpenGL renderer class for TEveCalo2D.

Definition at line 26 of file TEveCalo2DGL.h.

Public Member Functions

 TEveCalo2DGL ()
 Constructor.
 
virtual ~TEveCalo2DGL ()
 
virtual Bool_t AlwaysSecondarySelect () const
 
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const
 Render with OpenGL.
 
virtual void DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const
 Draw towers in highlight mode.
 
virtual void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
 Processes tower selection in eta bin or phi bin.
 
virtual void SetBBox ()
 Set bounding box.
 
virtual Bool_t SetModel (TObject *obj, const Option_t *opt=0)
 Set model object.
 
virtual Bool_t SupportsSecondarySelect () const
 
- Public Member Functions inherited from TGLObject
 TGLObject ()
 
virtual ~TGLObject ()
 
virtual Bool_t KeepDuringSmartRefresh () const
 
virtual Bool_t ShouldDLCache (const TGLRnrCtx &rnrCtx) const
 Decide if display-list should be used for this pass rendering, as determined by rnrCtx.
 
virtual void UpdateBoundingBox ()
 Update bounding box from external source.
 
- Public Member Functions inherited from TGLLogicalShape
 TGLLogicalShape ()
 global flag for usage of display-lists in shapes that use vertex arrays
 
 TGLLogicalShape (const TBuffer3D &buffer)
 Constructor from TBuffer3D.
 
 TGLLogicalShape (TObject *obj)
 Constructor with external object.
 
virtual ~TGLLogicalShape ()
 Destroy logical shape.
 
void AddRef (TGLPhysicalShape *phys) const
 Add reference to given physical shape.
 
const TGLBoundingBoxBoundingBox () const
 
void DestroyPhysicals ()
 Destroy all physicals attached to this logical.
 
virtual void DLCacheClear ()
 Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved ids from GL context.
 
virtual void DLCacheDrop ()
 Drop all entries for all LODs for this drawable from the display list cache, WITHOUT returning the reserved ids to GL context.
 
virtual void DLCachePurge ()
 Purge all entries for all LODs for this drawable from the display list cache, returning the reserved ids to GL context.
 
virtual UInt_t DLOffset (Short_t) const
 
virtual void Draw (TGLRnrCtx &rnrCtx) const
 Draw the GL drawable, using draw flags.
 
TObjectGetExternal () const
 
const TGLPhysicalShapeGetFirstPhysical () const
 
TGLSceneGetScene () const
 
TObjectID () const
 
virtual Bool_t IgnoreSizeForOfInterest () const
 Return true if size of this shape should be ignored when determining if the object should be drawn.
 
void InvokeContextMenu (TContextMenu &menu, UInt_t x, UInt_t y) const
 Invoke popup menu or our bound external TObject (if any), using passed 'menu' object, at location 'x' 'y'.
 
virtual Short_t QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD) const
 Logical shapes usually support only discreet LOD values, especially in view of display-list caching.
 
UInt_t Ref () const
 
Bool_t SetDLCache (Bool_t cached)
 Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw.
 
void StrongRef (Bool_t strong) const
 
void SubRef (TGLPhysicalShape *phys) const
 Remove reference to given physical shape, potentially deleting this object when hitting zero ref-count (if fRefStrong is true).
 
virtual ELODAxes SupportedLODAxes () const
 
UInt_t UnrefFirstPhysical ()
 Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else.
 
void UpdateBoundingBoxesOfPhysicals ()
 Update bounding-boxed of all dependent physicals.
 

Protected Member Functions

void DrawRhoZ (TGLRnrCtx &rnrCtx, TEveCalo2D::vBinCells_t &) const
 Draw calorimeter in RhoZ projection.
 
void DrawRhoZHighlighted (std::vector< TEveCaloData::vCellId_t * > &cellLists) const
 Draw selected calorimeter cells in RhoZ projection.
 
void DrawRPhi (TGLRnrCtx &rnrCtx, TEveCalo2D::vBinCells_t &) const
 Draw calorimeter cells in RPhi projection.
 
void DrawRPhiHighlighted (std::vector< TEveCaloData::vCellId_t * > &cellLists) const
 Draw selected calorimeter cells in RPhi projection.
 
Bool_t IsRPhi () const
 Is current projection type RPhi.
 
void MakeRhoZCell (Float_t thetaMin, Float_t thetaMax, Float_t &offset, Bool_t isBarrel, Bool_t phiPlus, Float_t towerH) const
 Draw cell in RhoZ projection.
 
void MakeRPhiCell (Float_t phiMin, Float_t phiMax, Float_t towerH, Float_t offset) const
 Calculate vertices for the calorimeter cell in RPhi projection.
 
- Protected Member Functions inherited from TGLObject
template<class TT >
TT * DynCast (TObject *obj)
 
void SetAxisAlignedBBox (const Float_t *p)
 Set axis-aligned bounding-box.
 
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 SetModelCheckClass (TObject *obj, TClass *cls)
 Checks if obj is of proper class and sets the model.
 
template<class TT >
TT * SetModelDynCast (TObject *obj)
 
- Protected Member Functions inherited from TGLLogicalShape
void PurgeDLRange (UInt_t base, Int_t size) const
 External object is a fake.
 

Protected Attributes

TEveCalo2DfM
 
- Protected Attributes inherited from TGLObject
Bool_t fMultiColor
 
- Protected Attributes inherited from TGLLogicalShape
TGLBoundingBox fBoundingBox
 Also plays the role of ID.
 
UInt_t fDLBase
 scene where object is stored (can be zero!)
 
Bool_t fDLCache
 display-list validity bit-field
 
Int_t fDLSize
 display-list id base
 
UShort_t fDLValid
 display-list size for different LODs
 
TObjectfExternalObj
 first replica
 
TGLPhysicalShapefFirstPhysical
 physical instance ref counting
 
Bool_t fOwnExtObj
 Strong ref (delete on 0 ref); not in scene.
 
UInt_t fRef
 
Bool_t fRefStrong
 use display list caching
 
TGLScenefScene
 Shape's bounding box.
 

Private Member Functions

 TEveCalo2DGL (const TEveCalo2DGL &)=delete
 
TEveCalo2DGLoperator= (const TEveCalo2DGL &)=delete
 

Additional Inherited Members

- Public Types inherited from TGLLogicalShape
enum  ELODAxes {
  kLODAxesNone = 0 , kLODAxesX = 1 << 0 , kLODAxesY = 1 << 1 , kLODAxesZ = 1 << 2 ,
  kLODAxesAll = kLODAxesX | kLODAxesY | kLODAxesZ
}
 
- Static Public Member Functions inherited from TGLObject
static TClassGetGLRenderer (TClass *isa)
 Return direct-rendering GL class for class isa.
 
- Static Public Member Functions inherited from TGLLogicalShape
static Bool_t GetIgnoreSizeForCameraInterest ()
 Get state of static fgIgnoreSizeForCameraInterest flag.
 
static void SetEnvDefaults ()
 
static void SetIgnoreSizeForCameraInterest (Bool_t isfci)
 Set state of static fgIgnoreSizeForCameraInterest flag.
 
- Static Protected Attributes inherited from TGLLogicalShape
static Bool_t fgIgnoreSizeForCameraInterest = kFALSE
 
static Bool_t fgUseDLs = kTRUE
 
static Bool_t fgUseDLsForVertArrs = kTRUE
 global flag for usage of display-lists
 

#include <TEveCalo2DGL.h>

Inheritance diagram for TEveCalo2DGL:
[legend]

Constructor & Destructor Documentation

◆ TEveCalo2DGL() [1/2]

TEveCalo2DGL::TEveCalo2DGL ( const TEveCalo2DGL )
privatedelete

◆ TEveCalo2DGL() [2/2]

TEveCalo2DGL::TEveCalo2DGL ( )

Constructor.

Definition at line 35 of file TEveCalo2DGL.cxx.

◆ ~TEveCalo2DGL()

virtual TEveCalo2DGL::~TEveCalo2DGL ( )
inlinevirtual

Definition at line 48 of file TEveCalo2DGL.h.

Member Function Documentation

◆ AlwaysSecondarySelect()

virtual Bool_t TEveCalo2DGL::AlwaysSecondarySelect ( ) const
inlinevirtual

Reimplemented from TGLLogicalShape.

Definition at line 58 of file TEveCalo2DGL.h.

◆ DirectDraw()

void TEveCalo2DGL::DirectDraw ( TGLRnrCtx rnrCtx) const
virtual

Render with OpenGL.

Implements TGLLogicalShape.

Definition at line 443 of file TEveCalo2DGL.cxx.

◆ DrawHighlight()

void TEveCalo2DGL::DrawHighlight ( TGLRnrCtx rnrCtx,
const TGLPhysicalShape ps,
Int_t  lvl = -1 
) const
virtual

Draw towers in highlight mode.

Reimplemented from TGLLogicalShape.

Definition at line 469 of file TEveCalo2DGL.cxx.

◆ DrawRhoZ()

void TEveCalo2DGL::DrawRhoZ ( TGLRnrCtx rnrCtx,
TEveCalo2D::vBinCells_t cellLists 
) const
protected

Draw calorimeter in RhoZ projection.

Definition at line 264 of file TEveCalo2DGL.cxx.

◆ DrawRhoZHighlighted()

void TEveCalo2DGL::DrawRhoZHighlighted ( std::vector< TEveCaloData::vCellId_t * > &  cellLists) const
protected

Draw selected calorimeter cells in RhoZ projection.

Definition at line 347 of file TEveCalo2DGL.cxx.

◆ DrawRPhi()

void TEveCalo2DGL::DrawRPhi ( TGLRnrCtx rnrCtx,
TEveCalo2D::vBinCells_t cellLists 
) const
protected

Draw calorimeter cells in RPhi projection.

Definition at line 103 of file TEveCalo2DGL.cxx.

◆ DrawRPhiHighlighted()

void TEveCalo2DGL::DrawRPhiHighlighted ( std::vector< TEveCaloData::vCellId_t * > &  cellLists) const
protected

Draw selected calorimeter cells in RPhi projection.

Definition at line 151 of file TEveCalo2DGL.cxx.

◆ IsRPhi()

Bool_t TEveCalo2DGL::IsRPhi ( ) const
protected

Is current projection type RPhi.

Definition at line 63 of file TEveCalo2DGL.cxx.

◆ MakeRhoZCell()

void TEveCalo2DGL::MakeRhoZCell ( Float_t  thetaMin,
Float_t  thetaMax,
Float_t offset,
Bool_t  isBarrel,
Bool_t  phiPlus,
Float_t  towerH 
) const
protected

Draw cell in RhoZ projection.

Definition at line 209 of file TEveCalo2DGL.cxx.

◆ MakeRPhiCell()

void TEveCalo2DGL::MakeRPhiCell ( Float_t  phiMin,
Float_t  phiMax,
Float_t  towerH,
Float_t  offset 
) const
protected

Calculate vertices for the calorimeter cell in RPhi projection.

Returns outside radius of the tower.

Definition at line 72 of file TEveCalo2DGL.cxx.

◆ operator=()

TEveCalo2DGL & TEveCalo2DGL::operator= ( const TEveCalo2DGL )
privatedelete

◆ ProcessSelection()

void TEveCalo2DGL::ProcessSelection ( TGLRnrCtx rnrCtx,
TGLSelectRecord rec 
)
virtual

Processes tower selection in eta bin or phi bin.

Virtual function from TGLogicalShape. Called from TGLViewer.

Reimplemented from TGLLogicalShape.

Definition at line 513 of file TEveCalo2DGL.cxx.

◆ SetBBox()

void TEveCalo2DGL::SetBBox ( )
virtual

Set bounding box.

Implements TGLObject.

Definition at line 55 of file TEveCalo2DGL.cxx.

◆ SetModel()

Bool_t TEveCalo2DGL::SetModel ( TObject obj,
const Option_t opt = 0 
)
virtual

Set model object.

Implements TGLObject.

Definition at line 46 of file TEveCalo2DGL.cxx.

◆ SupportsSecondarySelect()

virtual Bool_t TEveCalo2DGL::SupportsSecondarySelect ( ) const
inlinevirtual

Reimplemented from TGLLogicalShape.

Definition at line 57 of file TEveCalo2DGL.h.

Member Data Documentation

◆ fM

TEveCalo2D* TEveCalo2DGL::fM
protected

Definition at line 33 of file TEveCalo2DGL.h.

Libraries for TEveCalo2DGL:

The documentation for this class was generated from the following files: