87 return fData->RefSliceInfo(slice).fThreshold;
114 fData->SetSliceThreshold(slice, val);
122 return fData->RefSliceInfo(slice).fColor;
130 fData->SetSliceColor(slice, col);
171 using namespace TMath;
192 using namespace TMath;
210 using namespace TMath;
228 using namespace TMath;
241 if (data ==
fData)
return;
246 fData->AddElement(
this);
259 fData->GetEtaLimits(min, max);
268 fData->GetPhiLimits(min, max);
269 delta = 0.5*(max - min);
271 fPhi = 0.5*(max + min);
421 c[3] =
fData->GetSliceTransparency(slice);
511 for(
UInt_t i = 0; i <
n; ++i) {
514 cids->clear();
delete cids;
521 for(
UInt_t i = 0; i <
n; ++i) {
524 cids->clear();
delete cids;
575 const TAxis* axis = isRPhi ?
fData->GetPhiBins() :
fData->GetEtaBins();
583 for (
Int_t ibin = 1; ibin <= nBins; ++ibin) {
591 delete clv; clv =
nullptr;
601 for (
Int_t ibin = 1; ibin <= nBins; ++ibin) {
605 if (low >= min && up <= max)
610 delete clv; clv =
nullptr;
625 for (
Int_t ibin = 1; ibin <= nBins; ++ibin) {
632 fData->GetCellData(*it, cellData);
661 const TAxis* axis = isRPhi ?
fData->GetPhiBins() :
fData->GetEtaBins();
664 for (
vBinCells_i it = outputCellLists.begin(); it != outputCellLists.end(); it++)
672 outputCellLists.clear();
674 outputCellLists.resize(nBins+1);
676 outputCellLists[
b] =
nullptr;
678 for(
UInt_t bin = 1; bin <= nBins; ++bin)
688 if( (*i).fTower == (*j).fTower && (*i).fSlice == (*j).fSlice)
690 if (!outputCellLists[bin])
748 x = -
r,
y = 0, z = 0;
762 x = 0,
y = -
r, z = 0;
851 fData->GetEtaLimits(em, eM);
852 fData->GetPhiLimits(pm, pM);
int Int_t
Signed integer 4 bytes (int).
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
short Color_t
Color number (short).
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
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).
void BBoxInit(Float_t infinity=1e6)
Allocate and prepare for incremental filling.
Float_t * fBBox
! Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
Class to manage histogram axis.
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
TClass instances represent classes, structs and namespaces in the ROOT type system.
void UpdateProjection() override
This is virtual method from base-class TEveProjected.
~TEveCalo2D() override
Destructor.
void BuildCellIdCache() override
Build lists of drawn cell IDs. See TEveCalo2DGL::DirecDraw().
TEveCalo2D(const TEveCalo2D &)=delete
void CellSelectionChanged() override
Sort selected cells in eta or phi bins for selection and highlight.
void ComputeBBox() override
Fill bounding-box information of the base-class TAttBBox (virtual method).
void SetScaleAbs(Bool_t) override
Set absolute scale in projected calorimeter.
std::vector< TEveCaloData::vCellId_t * > fCellListsHighlighted
void CellSelectionChangedInternal(TEveCaloData::vCellId_t &cells, std::vector< TEveCaloData::vCellId_t * > &cellLists)
Sort selected cells in eta or phi bins.
std::vector< TEveCaloData::vCellId_t * >::iterator vBinCells_i
Float_t GetValToHeight() const override
Virtual function of TEveCaloViz.
std::vector< TEveCaloData::vCellId_t * > fCellLists
TEveProjection::EPType_e fOldProjectionType
void SetProjection(TEveProjectionManager *proj, TEveProjectable *model) override
Set projection manager and model object.
std::vector< TEveCaloData::vCellId_t * > fCellListsSelected
TEveCaloData::vCellId_t fCellList
void ComputeBBox() override
Fill bounding-box information of the base-class TAttBBox (virtual method).
void BuildCellIdCache() override
Build list of drawn cell IDs. See TEveCalo3DGL::DirectDraw().
Char_t fFrameTransparency
TEveCalo3D(const TEveCalo3D &)=delete
A central manager for calorimeter event data.
std::vector< CellId_t > vCellId_t
std::vector< CellId_t >::iterator vCellId_i
TEveCaloLego(const TEveCaloLego &)=delete
EProjection_e fProjection
Char_t fPlaneTransparency
virtual void SetData(TEveCaloData *d)
Int_t fDrawNumberCellPixels
TEveCaloData::vCellId_t fCellList
Bool_t fHasFixedHeightIn2DMode
void BuildCellIdCache() override
Build list of drawn cell IDs. For more information see TEveCaloLegoGL:DirectDraw().
Float_t fFixedHeightValIn2DMode
void ComputeBBox() override
Fill bounding-box information of the base-class TAttBBox (virtual method).
void SetDataSliceColor(Int_t slice, Color_t col)
Set slice color in data.
Color_t GetDataSliceColor(Int_t slice) const
Get slice color from data.
~TEveCaloViz() override
Destructor.
Float_t GetEtaMin() const
Bool_t AssertCellIdCache() const
Assert cell id cache is ok.
void SetDataSliceThreshold(Int_t slice, Float_t val)
Set threshold for given slice.
Float_t GetDataSliceThreshold(Int_t slice) const
Get threshold for given slice.
Float_t GetPhiRng() const
Float_t GetTransitionEtaBackward() const
Get transition eta between barrel and backward end-cap cells.
void SetPlotEt(Bool_t x)
Set E/Et plot.
TEveRGBAPalette * fPalette
virtual void BuildCellIdCache()=0
void SetPhiWithRng(Float_t x, Float_t r)
Set phi range.
Float_t GetTransitionThetaBackward() const
Get transition angle between barrel and backward end-cap cells.
Float_t GetTransitionEta() const
Get transition eta between barrel and end-cap cells, assuming fEndCapPosF = -fEndCapPosB.
Float_t GetMaxVal() const
void SetEta(Float_t l, Float_t u)
Set eta range.
virtual void SetScaleAbs(Bool_t x)
TEveRGBAPalette * AssertPalette()
Make sure the TEveRGBAPalette pointer is not null.
TEveCaloViz(const TEveCaloViz &)=delete
TEveElement * ForwardEdit() override
Management of selection state and ownership of selected cell list is done in TEveCaloData.
void InvalidateCellIdCache()
TClass * ProjectedClass(const TEveProjection *p) const override
Virtual from TEveProjectable, returns TEveCalo2D class.
void SetPalette(TEveRGBAPalette *p)
Set TEveRGBAPalette object pointer.
Float_t GetEtaMax() const
Float_t GetTransitionThetaForward() const
Get transition angle between barrel and forward end-cap cells.
Float_t GetTransitionEtaForward() const
Get transition eta between barrel and forward end-cap cells.
Float_t GetTransitionTheta() const
Get transition angle between barrel and end-cap cells, assuming fEndCapPosF = -fEndCapPosB.
void AssignCaloVizParameters(TEveCaloViz *cv)
Assign parameters from given model.
void Paint(Option_t *option="") override
Paint this object. Only direct rendering is supported.
Float_t GetPhiMax() const
TEveElement * ForwardSelection() override
Management of selection state and ownership of selected cell list is done in TEveCaloData.
virtual Float_t GetValToHeight() const
Get transformation factor from E/Et to height.
void SetData(TEveCaloData *d)
Set calorimeter event data.
Float_t GetEtaRng() const
void DataChanged()
Update setting and cache on data changed.
Bool_t CellInEtaPhiRng(TEveCaloData::CellData_t &) const
Returns true if given cell is in the ceta phi range.
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.
virtual void SetElementNameTitle(const char *name, const char *title)
Virtual function for setting of name and title of render element.
Bool_t fCanEditMainTransparency
TEveElement()
Default constructor.
virtual void PaintStandard(TObject *id)
Paint object – a generic implementation for EVE elements.
TEveProjectable(const TEveProjectable &)
TEveProjectionManager * fManager
virtual void SetProjection(TEveProjectionManager *mng, TEveProjectable *model)
Sets projection manager and reference in the projectable object.
TEveProjected(const TEveProjected &)
Manager class for steering of projections and managing projected objects.
Base-class for non-linear projections.
A generic, speed-optimised mapping from value to RGBA color supporting different wrapping and range t...
Bool_t GetInterpolate() const
Color_t GetDefaultColor() const
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.
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.
static void Color4ubv(const UChar_t *rgba)
Wrapper for glColor4ubv.
static void ColorTransparency(Color_t color_index, Char_t transparency=0)
Set color from color_index and ROOT-style transparency (default 0).
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Double_t ATan(Double_t)
Returns the principal value of the arc tangent of x, expressed in radians.
Double_t Log(Double_t x)
Returns the natural logarithm of x.
Int_t CeilNint(Double_t x)
Returns the nearest integer of TMath::Ceil(x).
Double_t Tan(Double_t)
Returns the tangent of an angle of x radians.
Cell data inner structure.
Float_t Value(Bool_t) const
Return energy value associated with the cell, usually Et.