12#ifndef ROOT_REveCaloData 
   13#define ROOT_REveCaloData 
   26namespace Experimental {
 
   28class REveCaloDataSelector;
 
  115      virtual void  Dump() 
const;
 
 
  128      void Dump() 
const override;
 
 
  176   REveCaloData(
const char* 
n=
"REveCaloData", 
const char* t=
"");
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
Int_t AddHistogram(TH2F *hist)
Add new slice to calo tower.
 
~REveCaloDataHist() override
Destructor.
 
void DataChanged() override
Update limits and notify data users.
 
void GetEtaLimits(Double_t &min, Double_t &max) const override
Get eta limits.
 
void GetCellData(const REveCaloData::CellId_t &id, REveCaloData::CellData_t &data) const override
Get cell geometry and value from cell ID.
 
void GetPhiLimits(Double_t &min, Double_t &max) const override
Get phi limits.
 
void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const override
Get list of cell IDs in given eta and phi range.
 
void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const override
Rebin.
 
REveCaloDataHist & operator=(const REveCaloDataHist &)=delete
 
REveCaloDataHist()
Constructor.
 
virtual ~REveCaloDataSelector()=default
 
void SetActiveSlice(int s)
 
void GetCellsFromSecondaryIndices(const std::set< int > &, REveCaloData::vCellId_t &out)
GetCellsFromSecondaryIndices used in implied selection.
 
void ProcessSelection(REveCaloData::vCellId_t &sel_cells, UInt_t selectionId, Bool_t multi)
Process selection. Called from REveCaloViz object.
 
void AddSliceSelector(std::unique_ptr< REveCaloDataSliceSelector > s)
 
std::vector< std::unique_ptr< REveCaloDataSliceSelector > > fSliceSelectors
 
REveCaloDataSliceSelector(int s)
 
virtual void ProcessSelection(REveCaloData::vCellId_t &sel_cells, UInt_t selectionId, bool multi)=0
 
virtual ~REveCaloDataSliceSelector()=default
 
virtual void GetCellsFromSecondaryIndices(const std::set< int > &idcs, REveCaloData::vCellId_t &out)=0
 
std::vector< Float_t > & GetSliceVals(Int_t slice)
 
REveCaloDataVec & operator=(const REveCaloDataVec &)=delete
 
std::vector< Float_t >::iterator vFloat_i
 
void GetCellData(const REveCaloData::CellId_t &id, REveCaloData::CellData_t &data) const override
Get cell geometry and value from cell ID.
 
std::vector< vFloat_t > vvFloat_t
 
void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const override
Rebin cells.
 
void GetPhiLimits(Double_t &min, Double_t &max) const override
 
Int_t AddSlice()
Add new slice.
 
void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const override
Get list of cell-ids for given eta/phi range.
 
Int_t AddTower(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
Add tower within eta/phi range.
 
void SetAxisFromBins(Double_t epsX=0.001, Double_t epsY=0.001)
Set XY axis from cells geometry.
 
std::vector< Float_t > vFloat_t
 
void GetEtaLimits(Double_t &min, Double_t &max) const override
 
std::vector< vFloat_t >::iterator vvFloat_i
 
REveCaloDataVec(Int_t nslices)
 
std::vector< REveCaloData::CellGeom_t > & GetCellGeom()
 
~REveCaloDataVec() override
Destructor.
 
void DataChanged() override
Update limits and notify data users.
 
void FillSlice(Int_t slice, Float_t value)
Fill given slice in the current tower.
 
Color_t GetSliceColor(Int_t slice) const
Get color for given slice.
 
void SetSelector(REveCaloDataSelector *iSelector)
 
std::vector< SliceInfo_t > vSliceInfo_t
 
virtual Float_t GetMaxVal(Bool_t et) const
 
Char_t GetSliceTransparency(Int_t slice) const
Get transparency for given slice.
 
virtual void SetPhiBins(std::unique_ptr< TAxis > ax)
 
bool RequiresExtraSelectionData() const override
 
void SetWrapTwoPi(Bool_t w)
 
std::vector< CellId_t >::iterator vCellId_i
 
void SetSliceThreshold(Int_t slice, Float_t threshold)
Set threshold for given slice.
 
virtual void GetCellData(const CellId_t &id, CellData_t &data) const =0
 
virtual void SetEtaBins(std::unique_ptr< TAxis > ax)
 
virtual TAxis * GetEtaBins() const
 
std::vector< CellGeom_t >::const_iterator vCellGeom_ci
 
void SetSliceTransparency(Int_t slice, Char_t t)
Set transparency for given slice.
 
static Float_t EtaToTheta(Float_t eta)
 
REveCaloData & operator=(const REveCaloData &)=delete
 
std::unique_ptr< REveCaloDataSelector > fSelector
 
REveCaloData(const char *n="REveCaloData", const char *t="")
 
std::unique_ptr< TAxis > fEtaAxis
 
void FillExtraSelectionData(nlohmann::json &, const std::set< int > &) const override
 
std::string GetHighlightTooltip(const std::set< int > &secondary_idcs) const override
 
virtual void DataChanged()
Tell users (REveCaloViz instances using this data) that data has changed and they should update the l...
 
std::unique_ptr< TAxis > fPhiAxis
 
Bool_t GetWrapTwoPi() const
 
REveCaloDataSelector * GetSelector()
 
std::vector< SliceInfo_t >::iterator vSliceInfo_i
 
virtual Float_t GetEps() const
 
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const =0
 
void ProcessSelection(vCellId_t &sel_cells, UInt_t selectionId, Bool_t multi)
Process newly selected cells with given select-record.
 
Float_t GetSliceThreshold(Int_t slice) const
Get threshold for given slice.
 
SliceInfo_t & RefSliceInfo(Int_t s)
 
virtual void GetEtaLimits(Double_t &min, Double_t &max) const =0
 
virtual void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const =0
 
virtual TAxis * GetPhiBins() const
 
virtual void InvalidateUsersCellIdCache()
Invalidate cell ids cache on back ptr references.
 
std::vector< CellId_t > vCellId_t
 
void SetSliceColor(Int_t slice, Color_t col)
Set color for given slice.
 
std::vector< CellGeom_t >::iterator vCellGeom_i
 
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Write core json.
 
virtual void SetEps(Float_t eps)
 
std::vector< CellGeom_t > vCellGeom_t
 
virtual void GetPhiLimits(Double_t &min, Double_t &max) const =0
 
void FillImpliedSelectedSet(Set_t &impSelSet, const std::set< int > &sec_idcs) override
Populate set impSelSet with derived / dependant elements.
 
virtual std::string GetHighlightTooltip(const std::set< int > &) const
 
Class to manage histogram axis.
 
2-D histogram with a float per channel (see TH1 documentation)
 
The Histogram stack class.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
 
void Dump() const override
Print member data.
 
Float_t Value(Bool_t) const
Return energy value associated with the cell, usually Et.
 
void Configure(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
 
CellGeom_t(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
 
virtual void Dump() const
Print member data.
 
Bool_t IsUpperRho() const
 
Float_t ThetaDelta() const
 
CellId_t(Int_t t, Int_t s, Float_t f=1.0f)
 
bool operator<(const CellId_t &o) const
 
std::vector< Float_t > fSliceData
 
Float_t * GetSliceVals(Int_t bin)
 
std::vector< Int_t > fBinData
 
void Setup(const char *name, Float_t threshold, Color_t col, Char_t transp=101)