172 using namespace TMath;
193 using namespace TMath;
211 using namespace TMath;
229 using namespace TMath;
242 if (data ==
fData)
return;
270 delta = 0.5*(max -
min);
445 fRnrEndCapFrame (
kTRUE),
446 fRnrBarrelFrame (
kTRUE),
448 fFrameColor (
kGray+1),
449 fFrameTransparency (80)
514 for(
UInt_t i = 0; i <
n; ++i) {
517 cids->clear();
delete cids;
524 for(
UInt_t i = 0; i <
n; ++i) {
527 cids->clear();
delete cids;
586 for (
Int_t ibin = 1; ibin <= nBins; ++ibin) {
604 for (
Int_t ibin = 1; ibin <= nBins; ++ibin) {
608 if (low >= min && up <= max)
628 for (
Int_t ibin = 1; ibin <= nBins; ++ibin) {
667 for (
vBinCells_i it = outputCellLists.begin(); it != outputCellLists.end(); it++)
675 outputCellLists.clear();
677 outputCellLists.resize(nBins+1);
678 for (
UInt_t b = 0; b <= nBins; ++b)
679 outputCellLists[b] = 0;
681 for(
UInt_t bin = 1; bin <= nBins; ++bin)
691 if( (*i).fTower == (*j).fTower && (*i).fSlice == (*j).fSlice)
693 if (!outputCellLists[bin])
751 x = -
r, y = 0, z = 0;
765 x = 0, y = -
r, z = 0;
787 fPlaneTransparency(60),
804 fHasFixedHeightIn2DMode(
kFALSE),
805 fFixedHeightValIn2DMode(0.
f),
807 fDrawNumberCellPixels(18),
808 fCellPixelFontSize(12)
TEveRGBAPalette * AssertPalette()
Make sure the TEveRGBAPalette pointer is not null.
Abstract base class for classes that hold results of a non-linear projection transformation.
vCellId_t & GetCellsSelected()
TEveProjection::EPType_e fOldProjectionType
Bool_t GetInterpolate() const
virtual TAxis * GetPhiBins() const
A generic, speed-optimised mapping from value to RGBA color supporting different wrapping and range t...
A central manager for calorimeter event data.
virtual Float_t GetValToHeight() const
Get transformation factor from E/Et to height.
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
void SetEta(Float_t l, Float_t u)
Set eta range.
std::vector< CellId_t >::iterator vCellId_i
SliceInfo_t & RefSliceInfo(Int_t s)
void SetPalette(TEveRGBAPalette *p)
Set TEveRGBAPalette object pointer.
static void ColorTransparency(Color_t color_index, Char_t transparency=0)
Set color from color_index and ROOT-style transparency (default 0).
TEveCalo3D(const TEveCalo3D &)
void SetPlotEt(Bool_t x)
Set E/Et plot.
virtual Float_t GetMaxVal(Bool_t et) const
virtual Float_t GetEps() const
Color_t GetSliceColor(Int_t slice) const
Get color for given slice.
virtual void SetScaleAbs(Bool_t)
Set absolute scale in projected calorimeter.
void SetDataSliceColor(Int_t slice, Color_t col)
Set slice color in data.
virtual TEveElement * ForwardSelection()
Management of selection state and ownership of selected cell list is done in TEveCaloData.
void SetPhiWithRng(Float_t x, Float_t r)
Set phi range.
Char_t GetSliceTransparency(Int_t slice) const
Get transparency for given slice.
Bool_t CellInEtaPhiRng(TEveCaloData::CellData_t &) const
Returns true if given cell is in the ceta phi range.
Float_t GetTransitionEta() const
Get transition eta between barrel and end-cap cells, assuming fEndCapPosF = -fEndCapPosB.
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
TEveCaloLego(const TEveCaloLego &)
static Bool_t IsU1IntervalOverlappingByMinMax(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Return true if interval Q is overlapping within interval M for U1 variables.
Float_t GetPhiRng() const
virtual void PaintStandard(TObject *id)
Paint object – a generic implementation for EVE elements.
TEveCaloViz(const TEveCaloViz &)
Float_t GetMaxVal() const
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
TEveCaloData::vCellId_t fCellList
virtual void SetProjection(TEveProjectionManager *mng, TEveProjectable *model)
Sets projection manager and reference in the projectable object.
Float_t GetTransitionTheta() const
Get transition angle between barrel and end-cap cells, assuming fEndCapPosF = -fEndCapPosB.
Float_t GetEtaRng() const
virtual void BuildCellIdCache()=0
void SetSliceColor(Int_t slice, Color_t col)
Set color for given slice.
virtual void UpdateProjection()
This is virtual method from base-class TEveProjected.
Color_t GetDataSliceColor(Int_t slice) const
Get slice color from data.
Float_t GetTransitionThetaForward() const
Get transition angle between barrel and forward end-cap cells.
virtual void ComputeBBox()
Fill bounding-box information of the base-class TAttBBox (virtual method).
virtual void RemoveElement(TEveElement *el)
Remove el from the list of children.
std::vector< TEveCaloData::vCellId_t * > fCellListsSelected
virtual void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const =0
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
virtual void ProjectPoint(Float_t &x, Float_t &y, Float_t &z, Float_t d, EPProc_e p=kPP_Full)=0
Visualization of a calorimeter event data in 2D.
Bool_t fCanEditMainTransparency
The TNamed class is the base class for all named ROOT classes.
virtual void SetScaleAbs(Bool_t x)
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, returns TEveCalo2D class.
Base-class for non-linear projections.
Float_t GetTransitionThetaBackward() const
Get transition angle between barrel and backward end-cap cells.
std::vector< CellId_t > vCellId_t
virtual void GetPhiLimits(Double_t &min, Double_t &max) const =0
virtual ~TEveCaloViz()
Destructor.
Manager class for steering of projections and managing projected objects.
Float_t GetDataSliceThreshold(Int_t slice) const
Get threshold for given slice.
Float_t GetEtaMin() const
virtual void CellSelectionChanged()
Sort selected cells in eta or phi bins for selection and highlight.
void SetDataSliceThreshold(Int_t slice, Float_t val)
Set threshold for given slice.
TEveCalo2D(const TEveCalo2D &)
Abstract base-class for non-linear projectable objects.
virtual ~TEveCalo2D()
Destructor.
void SetDefaultColor(Color_t ci)
Set default color.
std::vector< TEveCaloData::vCellId_t * > fCellLists
virtual void BuildCellIdCache()
Build list of drawn cell IDs. See TEveCalo3DGL::DirectDraw().
const UChar_t * ColorFromValue(Int_t val) const
void SetMin(Int_t min)
Set current min value.
Class to manage histogram axis.
void InvalidateCellIdCache()
double Pi()
Mathematical constants.
Color_t GetDefaultColor() const
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
virtual void SetElementNameTitle(const char *name, const char *title)
Virtual function for setting of name and title of render element.
Float_t GetPhiMin() const
TEveProjectionManager * fManager
virtual void BuildCellIdCache()
Build lists of drawn cell IDs. See TEveCalo2DGL::DirecDraw().
Float_t GetTransitionEtaBackward() const
Get transition eta between barrel and backward end-cap cells.
void BBoxZero(Float_t epsilon=0, Float_t x=0, Float_t y=0, Float_t z=0)
Create cube of volume (2*epsilon)^3 at (x,y,z).
TEveCaloData::vCellId_t fCellList
virtual void GetCellData(const CellId_t &id, CellData_t &data) const =0
The ROOT global object gROOT contains a list of all defined classes.
void SetMax(Int_t max)
Set current max value.
virtual void AddElement(TEveElement *el)
Add el to the list of children.
vCellId_t & GetCellsHighlighted()
Float_t Value(Bool_t) const
Return energy value associated with the cell, usually Et.
TEveProjection * GetProjection()
Visualization of calorimeter data as eta/phi histogram.
Float_t GetTransitionEtaForward() const
Get transition eta between barrel and forward end-cap cells.
std::vector< TEveCaloData::vCellId_t * >::iterator vBinCells_i
std::vector< TEveCaloData::vCellId_t * > fCellListsHighlighted
virtual void ComputeBBox()
Fill bounding-box information of the base-class TAttBBox (virtual method).
Float_t GetPhiMax() const
virtual void BuildCellIdCache()
Build list of drawn cell IDs. For more information see TEveCaloLegoGL:DirectDraw().
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.
Base class for calorimeter data visualization.
void DataChanged()
Update setting and cache on data changed.
virtual Float_t GetValToHeight() const
Virtual function of TEveCaloViz.
virtual void SetData(TEveCaloData *d)
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
Float_t GetEtaMax() const
Bool_t AssertCellIdCache() const
Assert cell id cache is ok.
virtual void GetEtaLimits(Double_t &min, Double_t &max) const =0
virtual TAxis * GetEtaBins() const
void SetLimits(Int_t low, Int_t high)
Set low/high limits on signal value.
Short_t Max(Short_t a, Short_t b)
void CellSelectionChangedInternal(TEveCaloData::vCellId_t &cells, std::vector< TEveCaloData::vCellId_t * > &cellLists)
Sort selected cells in eta or phi bins.
Cell data inner structure.
void AssignCaloVizParameters(TEveCaloViz *cv)
Assign parameters from given model.
void type_of_call hlimit(const int &)
Visualization of a calorimeter event data in 3D.
void SetData(TEveCaloData *d)
Set calorimeter event data.
TEveRGBAPalette * fPalette
virtual void SetProjection(TEveProjectionManager *proj, TEveProjectable *model)
Set projection manager and model object.
void SetSliceThreshold(Int_t slice, Float_t threshold)
Set threshold for given slice.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
void BBoxInit(Float_t infinity=1e6)
Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
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.
Int_t CeilNint(Double_t x)
static void Color4ubv(const UChar_t *rgba)
Wrapper for glColor4ubv.
virtual void ComputeBBox()
Fill bounding-box information of the base-class TAttBBox (virtual method).
virtual TEveElement * ForwardEdit()
Management of selection state and ownership of selected cell list is done in TEveCaloData.
virtual void Paint(Option_t *option="")
Paint this object. Only direct rendering is supported.