Logo ROOT  
Reference Guide
REveCaloData.hxx
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_REveCaloData
13 #define ROOT_REveCaloData
14 
15 #include <vector>
16 #include "ROOT/REveElement.hxx"
18 
19 #include "TMath.h"
20 #include "TAxis.h"
21 
22 class TH2F;
23 class THStack;
24 
25 namespace ROOT {
26 namespace Experimental {
27 
28 class REveCaloDataSelector;
29 
30 class REveCaloData: public REveElement,
31  public REveAuntAsList,
33 {
34 public:
35  struct SliceInfo_t
36  {
37  TString fName; // Name of the slice, eg. ECAL, HCAL.
38  Float_t fThreshold; // Only display towers with higher energy.
39  Color_t fColor; // Color used to draw this longitudinal slice.
40  Color_t fTransparency; // Transparency used to draw this longitudinal slice.
41 
43 
44  virtual ~SliceInfo_t() {}
45 
46  void Setup(const char* name, Float_t threshold, Color_t col, Char_t transp = 101)
47  {
48  fName = name;
49  fThreshold = threshold;
50  fColor = col;
51  if (transp <= 100) fTransparency = transp;
52  };
53  };
54 
55  typedef std::vector<SliceInfo_t> vSliceInfo_t;
56  typedef std::vector<SliceInfo_t>::iterator vSliceInfo_i;
57 
58  /**************************************************************************/
59 
60  struct CellId_t
61  {
62  // Cell ID inner structure.
63 
66 
68 
69  CellId_t() : fTower(0), fSlice(0), fFraction(0) {}
71 
72  bool operator<(const CellId_t& o) const
73  { return (fTower == o.fTower) ? fSlice < o.fSlice : fTower < o.fTower; }
74  };
75 
76  struct CellGeom_t
77  {
78  // Cell geometry inner structure.
79 
84 
85  Float_t fThetaMin; // cached
86  Float_t fThetaMax; // cached
87 
89  CellGeom_t(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax) {Configure(etaMin, etaMax, phiMin, phiMax);}
90  virtual ~CellGeom_t() {}
91 
92  void Configure(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax);
93 
94  Float_t EtaMin() const { return fEtaMin; }
95  Float_t EtaMax() const { return fEtaMax; }
96  Float_t Eta() const { return (fEtaMin+fEtaMax)*0.5f; }
97  Float_t EtaDelta() const { return fEtaMax-fEtaMin; }
98 
99  Float_t PhiMin() const { return fPhiMin; }
100  Float_t PhiMax() const { return fPhiMax; }
101  Float_t Phi() const { return (fPhiMin+fPhiMax)*0.5f; }
102  Float_t PhiDelta() const { return fPhiMax-fPhiMin; }
103 
104  Float_t ThetaMin() const { return fThetaMin; }
105  Float_t ThetaMax() const { return fThetaMax; }
106  Float_t Theta() const { return (fThetaMax+fThetaMin)*0.5f; }
107  Float_t ThetaDelta() const { return fThetaMax-fThetaMin; }
108 
110  {
111  const Float_t phi = Phi();
112  return ((phi > 0 && phi <= TMath::Pi()) || phi < - TMath::Pi());
113  }
114 
115  virtual void Dump() const;
116  };
117 
118  struct CellData_t : public CellGeom_t
119  {
120  // Cell data inner structure.
121 
123 
125  virtual ~CellData_t() {}
126 
127  Float_t Value(Bool_t) const;
128  virtual void Dump() const;
129  };
130 
131 
132  struct RebinData_t
133  {
135 
136  std::vector<Float_t> fSliceData;
137  std::vector<Int_t> fBinData;
138 
139  Float_t* GetSliceVals(Int_t bin);
140 
141  void Clear()
142  {
143  fSliceData.clear();
144  fBinData.clear();
145  }
146  };
147 
148  /**************************************************************************/
149 
150  typedef std::vector<CellId_t> vCellId_t;
151  typedef std::vector<CellId_t>::iterator vCellId_i;
152 
153  typedef std::vector<CellGeom_t> vCellGeom_t;
154  typedef std::vector<CellGeom_t>::iterator vCellGeom_i;
155  typedef std::vector<CellGeom_t>::const_iterator vCellGeom_ci;
156 
157 private:
159 
160 protected:
162 
163  std::unique_ptr<TAxis> fEtaAxis;
164  std::unique_ptr<TAxis> fPhiAxis;
165 
167 
168  Float_t fMaxValEt; // cached
169  Float_t fMaxValE; // cached
170 
172 
173  std::unique_ptr<REveCaloDataSelector> fSelector;
174 
175 public:
176  REveCaloData(const char* n="REveCaloData", const char* t="");
177  virtual ~REveCaloData() {}
178 
179  void FillImpliedSelectedSet(Set_t& impSelSet) override;
180 
181  virtual void GetCellList(Float_t etaMin, Float_t etaMax,
182  Float_t phi, Float_t phiRng,
183  vCellId_t &out) const = 0;
184 
185  void ProcessSelection(vCellId_t& sel_cells, UInt_t selectionId, Bool_t multi);
186 
187  virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const = 0;
188 
189 
190  virtual void GetCellData(const CellId_t &id, CellData_t& data) const = 0;
191 
192  virtual void InvalidateUsersCellIdCache();
193  virtual void DataChanged();
194 
195  Int_t GetNSlices() const { return fSliceInfos.size(); }
197  void SetSliceThreshold(Int_t slice, Float_t threshold);
198  Float_t GetSliceThreshold(Int_t slice) const;
199  void SetSliceColor(Int_t slice, Color_t col);
200  Color_t GetSliceColor(Int_t slice) const;
201  void SetSliceTransparency(Int_t slice, Char_t t);
202  Char_t GetSliceTransparency(Int_t slice) const;
203 
204  virtual void GetEtaLimits(Double_t &min, Double_t &max) const = 0;
205 
206  virtual void GetPhiLimits(Double_t &min, Double_t &max) const = 0;
207 
208  virtual Float_t GetMaxVal(Bool_t et) const { return et ? fMaxValEt : fMaxValE; }
209  Bool_t Empty() const { return fMaxValEt < 1e-5; }
210 
211  virtual TAxis* GetEtaBins() const { return fEtaAxis.get(); }
212  virtual void SetEtaBins(std::unique_ptr<TAxis> ax) { fEtaAxis = std::move(ax); }
213 
214  virtual TAxis* GetPhiBins() const { return fPhiAxis.get(); }
215  virtual void SetPhiBins(std::unique_ptr<TAxis> ax) { fPhiAxis= std::move(ax); }
216 
217  virtual Float_t GetEps() const { return fEps; }
218  virtual void SetEps(Float_t eps) { fEps=eps; }
219 
220  Bool_t GetWrapTwoPi() const { return fWrapTwoPi; }
222 
223  void SetSelector(REveCaloDataSelector* iSelector) { fSelector.reset(iSelector); }
225 
226  Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
227 
228  static Float_t EtaToTheta(Float_t eta);
229 
230  bool RequiresExtraSelectionData() const override { return true; };
231  void FillExtraSelectionData(nlohmann::json&, const std::set<int>&) const override;
232 
234  std::string GetHighlightTooltip(const std::set<int>& secondary_idcs) const override;
235 };
236 
237 /**************************************************************************/
238 /**************************************************************************/
239 
241 {
242 
243 private:
245 
246 protected:
247  typedef std::vector<Float_t> vFloat_t;
248  typedef std::vector<Float_t>::iterator vFloat_i;
249 
250  typedef std::vector<vFloat_t> vvFloat_t;
251  typedef std::vector<vFloat_t>::iterator vvFloat_i;
252 
255 
256  Int_t fTower; // current tower
257 
260 
263 
264 public:
265  REveCaloDataVec(Int_t nslices);
266  virtual ~REveCaloDataVec();
267 
268  Int_t AddSlice();
269  Int_t AddTower(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax);
270  void FillSlice(Int_t slice, Float_t value);
271  void FillSlice(Int_t slice, Int_t tower, Float_t value);
272 
273  Int_t GetNCells() { return fGeomVec.size(); }
274  std::vector<Float_t>& GetSliceVals(Int_t slice) { return fSliceVec[slice]; }
275  std::vector<REveCaloData::CellGeom_t>& GetCellGeom() { return fGeomVec; }
276 
277  virtual void GetCellList(Float_t etaMin, Float_t etaMax,
278  Float_t phi, Float_t phiRng,
279  vCellId_t &out) const;
280 
281  virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const;
282 
283  virtual void GetCellData(const REveCaloData::CellId_t &id, REveCaloData::CellData_t& data) const;
284  virtual void GetEtaLimits(Double_t &min, Double_t &max) const { min=fEtaMin, max=fEtaMax;}
285  virtual void GetPhiLimits(Double_t &min, Double_t &max) const { min=fPhiMin; max=fPhiMax;}
286 
287 
288  virtual void DataChanged();
289  void SetAxisFromBins(Double_t epsX=0.001, Double_t epsY=0.001);
290 };
291 
292 /**************************************************************************/
293 /**************************************************************************/
294 
296 {
297 private:
299 
300 protected:
301  THStack* fHStack{nullptr};
302 
303 public:
305  virtual ~REveCaloDataHist();
306 
307  virtual void GetCellList( Float_t etaMin, Float_t etaMax,
308  Float_t phi, Float_t phiRng, vCellId_t &out) const;
309 
310  virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const;
311 
312  virtual void GetCellData(const REveCaloData::CellId_t &id, REveCaloData::CellData_t& data) const;
313 
314  virtual void GetEtaLimits(Double_t &min, Double_t &max) const;
315  virtual void GetPhiLimits(Double_t &min, Double_t &max) const;
316 
317 
318  virtual void DataChanged();
319 
320  THStack* GetStack() { return fHStack; }
321 
322  TH2F* GetHist(Int_t slice) const;
323 
324  Int_t AddHistogram(TH2F* hist);
325 };
326 
327 /**************************************************************************/
328 /**************************************************************************/
329 
331 {
332 public:
333  virtual void ProcessSelection( REveCaloData::vCellId_t& sel_cells, UInt_t selectionId, Bool_t multi) = 0;
334  virtual void GetCellsFromSecondaryIndices(const std::set<int>&, REveCaloData::vCellId_t& out) = 0;
335  virtual ~REveCaloDataSelector() = default;
336 };
337 
338 } // namespace Experimental
339 } // namespace ROOT
340 #endif
341 
ROOT::Experimental::REveCaloDataVec::SetAxisFromBins
void SetAxisFromBins(Double_t epsX=0.001, Double_t epsY=0.001)
Set XY axis from cells geometry.
Definition: REveCaloData.cxx:563
ROOT::Experimental::REveCaloData::DataChanged
virtual void DataChanged()
Tell users (REveCaloViz instances using this data) that data has changed and they should update the l...
Definition: REveCaloData.cxx:246
ROOT::Experimental::REveCaloData::CellGeom_t::Configure
void Configure(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
Definition: REveCaloData.cxx:48
ROOT::Experimental::REveCaloData::vSliceInfo_i
std::vector< SliceInfo_t >::iterator vSliceInfo_i
Definition: REveCaloData.hxx:56
ROOT::Experimental::REveCaloData::SliceInfo_t
Definition: REveCaloData.hxx:36
ROOT::Experimental::REveCaloDataVec::REveCaloDataVec
REveCaloDataVec(Int_t nslices)
Definition: REveCaloData.cxx:348
n
const Int_t n
Definition: legend1.C:16
ROOT::Experimental::REveCaloData::CellId_t::fTower
Int_t fTower
Definition: REveCaloData.hxx:64
ROOT::Experimental::REveCaloDataHist::operator=
REveCaloDataHist & operator=(const REveCaloDataHist &)=delete
TAxis
Class to manage histogram axis.
Definition: TAxis.h:30
ROOT::Experimental::REveCaloDataVec::GetSliceVals
std::vector< Float_t > & GetSliceVals(Int_t slice)
Definition: REveCaloData.hxx:274
ROOT::Experimental::REveCaloData::CellData_t::CellData_t
CellData_t()
Definition: REveCaloData.hxx:124
ROOT::Math::etaMax
T etaMax()
Function providing the maximum possible value of pseudorapidity for a non-zero rho,...
Definition: etaMax.h:50
e
#define e(i)
Definition: RSha256.hxx:103
ROOT::Experimental::REveCaloData::CellGeom_t::ThetaMax
Float_t ThetaMax() const
Definition: REveCaloData.hxx:105
ROOT::Experimental::REveCaloDataVec::GetCellData
virtual void GetCellData(const REveCaloData::CellId_t &id, REveCaloData::CellData_t &data) const
Get cell geometry and value from cell ID.
Definition: REveCaloData.cxx:522
f
#define f(i)
Definition: RSha256.hxx:104
ROOT::Experimental::REveCaloDataVec::vFloat_i
std::vector< Float_t >::iterator vFloat_i
Definition: REveCaloData.hxx:248
ROOT::Experimental::REveCaloDataVec::DataChanged
virtual void DataChanged()
Update limits and notify data users.
Definition: REveCaloData.cxx:532
ROOT::Experimental::REveCaloData::CellGeom_t::fPhiMax
Float_t fPhiMax
Definition: REveCaloData.hxx:81
ROOT::Experimental::REveCaloDataVec::~REveCaloDataVec
virtual ~REveCaloDataVec()
Destructor.
Definition: REveCaloData.cxx:367
ROOT::Experimental::REveSecondarySelectable
Definition: REveSecondarySelectable.hxx:25
ROOT::Experimental::REveElement::GetHighlightTooltip
virtual std::string GetHighlightTooltip(const std::set< int > &) const
Definition: REveElement.cxx:139
ROOT::Experimental::REveCaloData::SliceInfo_t::fTransparency
Color_t fTransparency
Definition: REveCaloData.hxx:40
ROOT::Experimental::REveCaloDataHist::~REveCaloDataHist
virtual ~REveCaloDataHist()
Destructor.
Definition: REveCaloData.cxx:661
TH2F
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
ROOT::Experimental::REveCaloData::RebinData_t::Clear
void Clear()
Definition: REveCaloData.hxx:141
ROOT::Experimental::REveCaloData::CellGeom_t::Dump
virtual void Dump() const
Print member data.
Definition: REveCaloData.cxx:41
ROOT::Experimental::REveCaloData::CellData_t::fValue
Float_t fValue
Definition: REveCaloData.hxx:122
ROOT::Experimental::REveCaloData::CellGeom_t::ThetaDelta
Float_t ThetaDelta() const
Definition: REveCaloData.hxx:107
THStack
The Histogram stack class.
Definition: THStack.h:38
ROOT::Experimental::REveCaloDataVec::FillSlice
void FillSlice(Int_t slice, Float_t value)
Fill given slice in the current tower.
Definition: REveCaloData.cxx:409
ROOT::Experimental::REveCaloDataHist::REveCaloDataHist
REveCaloDataHist()
Constructor.
Definition: REveCaloData.cxx:649
ROOT::Experimental::REveCaloData::SetEps
virtual void SetEps(Float_t eps)
Definition: REveCaloData.hxx:218
ROOT::Experimental::REveCaloData::ProcessSelection
void ProcessSelection(vCellId_t &sel_cells, UInt_t selectionId, Bool_t multi)
Process newly selected cells with given select-record.
Definition: REveCaloData.cxx:135
ROOT::Experimental::REveCaloData::SetSliceColor
void SetSliceColor(Int_t slice, Color_t col)
Set color for given slice.
Definition: REveCaloData.cxx:187
ROOT::Experimental::REveCaloData::GetCellList
virtual void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const =0
ROOT::Experimental::REveCaloData::GetPhiLimits
virtual void GetPhiLimits(Double_t &min, Double_t &max) const =0
ROOT::Experimental::REveCaloData::GetPhiBins
virtual TAxis * GetPhiBins() const
Definition: REveCaloData.hxx:214
ROOT::Experimental::REveCaloData::CellGeom_t::EtaMin
Float_t EtaMin() const
Definition: REveCaloData.hxx:94
ROOT::Experimental::REveCaloData::SetSliceThreshold
void SetSliceThreshold(Int_t slice, Float_t threshold)
Set threshold for given slice.
Definition: REveCaloData.cxx:170
ROOT::Experimental::REveCaloData::CellGeom_t::PhiMax
Float_t PhiMax() const
Definition: REveCaloData.hxx:100
ROOT::Experimental::REveCaloData::GetHighlightTooltip
virtual std::string GetHighlightTooltip(const std::set< int > &) const
Definition: REveElement.cxx:139
REveSecondarySelectable.hxx
ROOT::Experimental::REveCaloDataVec::AddSlice
Int_t AddSlice()
Add new slice.
Definition: REveCaloData.cxx:374
ROOT::Experimental::REveCaloData::SetSliceTransparency
void SetSliceTransparency(Int_t slice, Char_t t)
Set transparency for given slice.
Definition: REveCaloData.cxx:208
Float_t
float Float_t
Definition: RtypesCore.h:57
TGeant4Unit::s
static constexpr double s
Definition: TGeant4SystemOfUnits.h:162
ROOT::Experimental::REveCaloDataSelector::GetCellsFromSecondaryIndices
virtual void GetCellsFromSecondaryIndices(const std::set< int > &, REveCaloData::vCellId_t &out)=0
ROOT::Experimental::REveCaloData::vSliceInfo_t
std::vector< SliceInfo_t > vSliceInfo_t
Definition: REveCaloData.hxx:55
Int_t
int Int_t
Definition: RtypesCore.h:45
ROOT::Experimental::REveCaloData::CellId_t::CellId_t
CellId_t()
Definition: REveCaloData.hxx:69
ROOT::Experimental::REveCaloData::CellId_t
Definition: REveCaloData.hxx:61
ROOT::Experimental::REveCaloData::fMaxValE
Float_t fMaxValE
Definition: REveCaloData.hxx:169
ROOT::Experimental::REveCaloData::GetSelector
REveCaloDataSelector * GetSelector()
Definition: REveCaloData.hxx:224
ROOT::Experimental::REveCaloData::FillExtraSelectionData
void FillExtraSelectionData(nlohmann::json &, const std::set< int > &) const override
Definition: REveCaloData.cxx:278
ROOT::Experimental::REveCaloDataVec::vvFloat_i
std::vector< vFloat_t >::iterator vvFloat_i
Definition: REveCaloData.hxx:251
ROOT::Experimental::REveCaloDataHist::AddHistogram
Int_t AddHistogram(TH2F *hist)
Add new slice to calo tower.
Definition: REveCaloData.cxx:808
ROOT::Experimental::REveCaloData::SetPhiBins
virtual void SetPhiBins(std::unique_ptr< TAxis > ax)
Definition: REveCaloData.hxx:215
ROOT::Experimental::REveCaloData::fWrapTwoPi
Bool_t fWrapTwoPi
Definition: REveCaloData.hxx:166
ROOT::Experimental::REveCaloData::CellData_t::~CellData_t
virtual ~CellData_t()
Definition: REveCaloData.hxx:125
ROOT::Experimental::REveCaloDataHist::GetStack
THStack * GetStack()
Definition: REveCaloData.hxx:320
ROOT::Experimental::REveCaloData::CellGeom_t::fThetaMin
Float_t fThetaMin
Definition: REveCaloData.hxx:85
ROOT::Experimental::REveCaloData::Empty
Bool_t Empty() const
Definition: REveCaloData.hxx:209
TString
Basic string class.
Definition: TString.h:136
ROOT::Experimental::REveCaloDataHist::fHStack
THStack * fHStack
Definition: REveCaloData.hxx:301
ROOT::Experimental::REveElement
Definition: REveElement.hxx:41
ROOT::Experimental::REveCaloDataVec::GetCellGeom
std::vector< REveCaloData::CellGeom_t > & GetCellGeom()
Definition: REveCaloData.hxx:275
ROOT::Experimental::REveCaloDataHist
Definition: REveCaloData.hxx:296
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
ROOT::Experimental::REveCaloData::fPhiAxis
std::unique_ptr< TAxis > fPhiAxis
Definition: REveCaloData.hxx:164
Color_t
short Color_t
Definition: RtypesCore.h:83
ROOT::Experimental::REveCaloData::Rebin
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const =0
ROOT::Experimental::REveCaloDataVec::AddTower
Int_t AddTower(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
Add tower within eta/phi range.
Definition: REveCaloData.cxx:386
ROOT::Experimental::REveCaloData::vCellGeom_t
std::vector< CellGeom_t > vCellGeom_t
Definition: REveCaloData.hxx:153
bool
ROOT::Experimental::REveCaloData::GetMaxVal
virtual Float_t GetMaxVal(Bool_t et) const
Definition: REveCaloData.hxx:208
ROOT::Experimental::REveCaloDataVec::fSliceVec
vvFloat_t fSliceVec
Definition: REveCaloData.hxx:253
ROOT::Experimental::REveCaloData::CellGeom_t::Phi
Float_t Phi() const
Definition: REveCaloData.hxx:101
ROOT::Experimental::REveCaloDataHist::GetPhiLimits
virtual void GetPhiLimits(Double_t &min, Double_t &max) const
Get phi limits.
Definition: REveCaloData.cxx:845
ROOT::Experimental::REveCaloData::CellData_t::Dump
virtual void Dump() const
Print member data.
Definition: REveCaloData.cxx:88
ROOT::Experimental::REveCaloData::GetNSlices
Int_t GetNSlices() const
Definition: REveCaloData.hxx:195
ROOT::Experimental::REveCaloDataSelector::~REveCaloDataSelector
virtual ~REveCaloDataSelector()=default
ROOT::Experimental::REveCaloData::RequiresExtraSelectionData
bool RequiresExtraSelectionData() const override
Definition: REveCaloData.hxx:230
ROOT::Experimental::REveCaloData::SliceInfo_t::~SliceInfo_t
virtual ~SliceInfo_t()
Definition: REveCaloData.hxx:44
ROOT::Experimental::REveCaloData::SliceInfo_t::Setup
void Setup(const char *name, Float_t threshold, Color_t col, Char_t transp=101)
Definition: REveCaloData.hxx:46
ROOT::Experimental::REveCaloDataHist::GetHist
TH2F * GetHist(Int_t slice) const
Get histogram in given slice.
Definition: REveCaloData.cxx:827
ROOT::Experimental::REveCaloData::vCellId_t
std::vector< CellId_t > vCellId_t
Definition: REveCaloData.hxx:150
ROOT::Experimental::REveCaloDataHist::DataChanged
virtual void DataChanged()
Update limits and notify data users.
Definition: REveCaloData.cxx:669
ROOT::Experimental::REveCaloData::CellGeom_t::fPhiMin
Float_t fPhiMin
Definition: REveCaloData.hxx:80
ROOT::Experimental::REveCaloDataHist::GetCellData
virtual void GetCellData(const REveCaloData::CellId_t &id, REveCaloData::CellData_t &data) const
Get cell geometry and value from cell ID.
Definition: REveCaloData.cxx:788
TMath::Pi
constexpr Double_t Pi()
Definition: TMath.h:37
ROOT::Experimental::REveCaloData::RefSliceInfo
SliceInfo_t & RefSliceInfo(Int_t s)
Definition: REveCaloData.hxx:196
ROOT::Experimental::REveCaloData::CellId_t::CellId_t
CellId_t(Int_t t, Int_t s, Float_t f=1.0f)
Definition: REveCaloData.hxx:70
ROOT::Experimental::REveCaloData::CellData_t
Definition: REveCaloData.hxx:119
ROOT::Experimental::REveCaloDataVec::vFloat_t
std::vector< Float_t > vFloat_t
Definition: REveCaloData.hxx:247
ROOT::Experimental::REveCaloData::operator=
REveCaloData & operator=(const REveCaloData &)=delete
ROOT::Experimental::REveCaloData::SetSelector
void SetSelector(REveCaloDataSelector *iSelector)
Definition: REveCaloData.hxx:223
ROOT::Experimental::REveCaloData::CellGeom_t
Definition: REveCaloData.hxx:77
ROOT::Experimental::REveCaloData::SetWrapTwoPi
void SetWrapTwoPi(Bool_t w)
Definition: REveCaloData.hxx:221
ROOT::Experimental::REveCaloDataHist::GetCellList
virtual void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const
Get list of cell IDs in given eta and phi range.
Definition: REveCaloData.cxx:706
REveElement.hxx
ROOT::Experimental::REveCaloData::SetEtaBins
virtual void SetEtaBins(std::unique_ptr< TAxis > ax)
Definition: REveCaloData.hxx:212
ROOT::Experimental::REveCaloData::GetSliceColor
Color_t GetSliceColor(Int_t slice) const
Get color for given slice.
Definition: REveCaloData.cxx:200
ROOT::Experimental::REveCaloData::CellGeom_t::CellGeom_t
CellGeom_t(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t phiMax)
Definition: REveCaloData.hxx:89
ROOT::Experimental::REveCaloData::SliceInfo_t::fName
TString fName
Definition: REveCaloData.hxx:37
ROOT::Experimental::REveCaloData::SliceInfo_t::fColor
Color_t fColor
Definition: REveCaloData.hxx:39
ROOT::Experimental::REveCaloDataVec::GetCellList
virtual void GetCellList(Float_t etaMin, Float_t etaMax, Float_t phi, Float_t phiRng, vCellId_t &out) const
Get list of cell-ids for given eta/phi range.
Definition: REveCaloData.cxx:426
ROOT::Experimental::REveCaloData::REveCaloData
REveCaloData(const char *n="REveCaloData", const char *t="")
Definition: REveCaloData.cxx:118
ROOT::Experimental::REveCaloDataVec::GetEtaLimits
virtual void GetEtaLimits(Double_t &min, Double_t &max) const
Definition: REveCaloData.hxx:284
ROOT::Experimental::REveCaloData::RebinData_t
Definition: REveCaloData.hxx:133
ROOT::Experimental::REveCaloData::InvalidateUsersCellIdCache
virtual void InvalidateUsersCellIdCache()
Invalidate cell ids cache on back ptr references.
Definition: REveCaloData.cxx:229
ROOT::Experimental::REveCaloDataVec::vvFloat_t
std::vector< vFloat_t > vvFloat_t
Definition: REveCaloData.hxx:250
ROOT::Experimental::REveCaloDataVec::fPhiMax
Float_t fPhiMax
Definition: REveCaloData.hxx:262
ROOT::Experimental::REveCaloData::SliceInfo_t::SliceInfo_t
SliceInfo_t()
Definition: REveCaloData.hxx:42
ROOT::Experimental::REveElement::Set_t
std::set< REveElement * > Set_t
Definition: REveElement.hxx:50
kRed
@ kRed
Definition: Rtypes.h:66
ROOT::Experimental::REveCaloData::CellId_t::operator<
bool operator<(const CellId_t &o) const
Definition: REveCaloData.hxx:72
ROOT::Experimental::REveCaloData::CellGeom_t::EtaDelta
Float_t EtaDelta() const
Definition: REveCaloData.hxx:97
ROOT::Experimental::REveCaloDataVec::fPhiMin
Float_t fPhiMin
Definition: REveCaloData.hxx:261
ROOT::Experimental::REveCaloData
Definition: REveCaloData.hxx:33
ROOT::Experimental::REveCaloData::RebinData_t::fBinData
std::vector< Int_t > fBinData
Definition: REveCaloData.hxx:137
unsigned int
ROOT::Experimental::REveCaloDataHist::GetEtaLimits
virtual void GetEtaLimits(Double_t &min, Double_t &max) const
Get eta limits.
Definition: REveCaloData.cxx:836
ROOT::Experimental::REveCaloData::vCellGeom_ci
std::vector< CellGeom_t >::const_iterator vCellGeom_ci
Definition: REveCaloData.hxx:155
ROOT::Experimental::REveCaloDataHist::Rebin
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const
Rebin.
Definition: REveCaloData.cxx:760
ROOT::Experimental::REveCaloData::CellGeom_t::fThetaMax
Float_t fThetaMax
Definition: REveCaloData.hxx:86
ROOT::Experimental::REveCaloData::CellId_t::fSlice
Int_t fSlice
Definition: REveCaloData.hxx:65
ROOT::Experimental::REveCaloData::CellGeom_t::Eta
Float_t Eta() const
Definition: REveCaloData.hxx:96
ROOT::Experimental::REveCaloData::CellData_t::Value
Float_t Value(Bool_t) const
Return energy value associated with the cell, usually Et.
Definition: REveCaloData.cxx:77
ROOT::Experimental::REveCaloDataVec::fTower
Int_t fTower
Definition: REveCaloData.hxx:256
ROOT::Experimental::REveCaloData::GetEtaLimits
virtual void GetEtaLimits(Double_t &min, Double_t &max) const =0
ROOT::Experimental::REveCaloData::CellGeom_t::Theta
Float_t Theta() const
Definition: REveCaloData.hxx:106
ROOT::Experimental::REveCaloData::RebinData_t::fNSlices
Int_t fNSlices
Definition: REveCaloData.hxx:134
Double_t
double Double_t
Definition: RtypesCore.h:59
ROOT::Experimental::REveCaloDataVec::GetPhiLimits
virtual void GetPhiLimits(Double_t &min, Double_t &max) const
Definition: REveCaloData.hxx:285
ROOT::Experimental::REveCaloData::CellGeom_t::CellGeom_t
CellGeom_t()
Definition: REveCaloData.hxx:88
ROOT::Experimental::REveCaloData::RebinData_t::GetSliceVals
Float_t * GetSliceVals(Int_t bin)
Definition: REveCaloData.cxx:95
ROOT::Experimental::REveCaloDataVec::fEtaMin
Float_t fEtaMin
Definition: REveCaloData.hxx:258
ROOT::Experimental::REveCaloData::CellId_t::fFraction
Float_t fFraction
Definition: REveCaloData.hxx:67
ROOT::Experimental::REveCaloDataSelector
Definition: REveCaloData.hxx:331
ROOT::Experimental::REveCaloDataVec::fGeomVec
vCellGeom_t fGeomVec
Definition: REveCaloData.hxx:254
ROOT::Experimental::REveCaloData::GetCellData
virtual void GetCellData(const CellId_t &id, CellData_t &data) const =0
ROOT::Experimental::REveCaloData::fEtaAxis
std::unique_ptr< TAxis > fEtaAxis
Definition: REveCaloData.hxx:163
TAxis.h
ROOT::Experimental::REveCaloData::fEps
Float_t fEps
Definition: REveCaloData.hxx:171
ROOT::Experimental::REveCaloData::fMaxValEt
Float_t fMaxValEt
Definition: REveCaloData.hxx:168
ROOT::Experimental::REveCaloData::GetSliceTransparency
Char_t GetSliceTransparency(Int_t slice) const
Get transparency for given slice.
Definition: REveCaloData.cxx:221
name
char name[80]
Definition: TGX11.cxx:110
ROOT::Experimental::REveCaloData::GetWrapTwoPi
Bool_t GetWrapTwoPi() const
Definition: REveCaloData.hxx:220
ROOT::Experimental::REveCaloData::CellGeom_t::PhiMin
Float_t PhiMin() const
Definition: REveCaloData.hxx:99
ROOT::Experimental::REveCaloData::WriteCoreJson
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Write core json.
Definition: REveCaloData.cxx:260
ROOT::Experimental::REveCaloData::CellGeom_t::EtaMax
Float_t EtaMax() const
Definition: REveCaloData.hxx:95
ROOT::Experimental::REveCaloData::fSelector
std::unique_ptr< REveCaloDataSelector > fSelector
Definition: REveCaloData.hxx:173
ROOT::Experimental::REveCaloData::FillImpliedSelectedSet
void FillImpliedSelectedSet(Set_t &impSelSet) override
Populate set impSelSet with derived / dependant elements.
Definition: REveCaloData.cxx:159
ROOT::Experimental::REveCaloDataVec::fEtaMax
Float_t fEtaMax
Definition: REveCaloData.hxx:259
ROOT::Experimental::REveAuntAsList
Definition: REveElement.hxx:398
ROOT::Experimental::REveCaloDataVec::GetNCells
Int_t GetNCells()
Definition: REveCaloData.hxx:273
ROOT::Experimental::REveCaloData::SliceInfo_t::fThreshold
Float_t fThreshold
Definition: REveCaloData.hxx:38
ROOT::Experimental::REveCaloData::CellGeom_t::PhiDelta
Float_t PhiDelta() const
Definition: REveCaloData.hxx:102
ROOT::Experimental::REveCaloData::EtaToTheta
static Float_t EtaToTheta(Float_t eta)
Definition: REveCaloData.cxx:302
ROOT::Experimental::REveCaloData::CellGeom_t::fEtaMin
Float_t fEtaMin
Definition: REveCaloData.hxx:82
ROOT::Experimental::REveCaloData::RebinData_t::fSliceData
std::vector< Float_t > fSliceData
Definition: REveCaloData.hxx:136
ROOT::Experimental::REveCaloDataSelector::ProcessSelection
virtual void ProcessSelection(REveCaloData::vCellId_t &sel_cells, UInt_t selectionId, Bool_t multi)=0
ROOT::Experimental::REveCaloData::vCellId_i
std::vector< CellId_t >::iterator vCellId_i
Definition: REveCaloData.hxx:151
ROOT::Experimental::REveCaloData::GetSliceThreshold
Float_t GetSliceThreshold(Int_t slice) const
Get threshold for given slice.
Definition: REveCaloData.cxx:179
Char_t
char Char_t
Definition: RtypesCore.h:33
ROOT::Experimental::REveCaloData::CellGeom_t::fEtaMax
Float_t fEtaMax
Definition: REveCaloData.hxx:83
ROOT::Experimental::REveCaloData::CellGeom_t::IsUpperRho
Bool_t IsUpperRho() const
Definition: REveCaloData.hxx:109
ROOT
VSD Structures.
Definition: StringConv.hxx:21
ROOT::Experimental::REveCaloData::fSliceInfos
vSliceInfo_t fSliceInfos
Definition: REveCaloData.hxx:161
ROOT::Experimental::REveCaloData::CellGeom_t::ThetaMin
Float_t ThetaMin() const
Definition: REveCaloData.hxx:104
ROOT::Experimental::REveCaloData::GetEps
virtual Float_t GetEps() const
Definition: REveCaloData.hxx:217
ROOT::Experimental::REveCaloDataVec
Definition: REveCaloData.hxx:241
ROOT::Experimental::REveCaloDataVec::Rebin
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, RebinData_t &out) const
Rebin cells.
Definition: REveCaloData.cxx:486
ROOT::Experimental::REveCaloData::~REveCaloData
virtual ~REveCaloData()
Definition: REveCaloData.hxx:177
ROOT::Experimental::REveCaloData::CellGeom_t::~CellGeom_t
virtual ~CellGeom_t()
Definition: REveCaloData.hxx:90
TMath.h
ROOT::Experimental::REveCaloData::vCellGeom_i
std::vector< CellGeom_t >::iterator vCellGeom_i
Definition: REveCaloData.hxx:154
int
ROOT::Experimental::REveCaloData::GetEtaBins
virtual TAxis * GetEtaBins() const
Definition: REveCaloData.hxx:211
ROOT::Experimental::REveCaloDataVec::operator=
REveCaloDataVec & operator=(const REveCaloDataVec &)=delete