Jpp 20.0.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JROOT::JBinsMapHelper< TH2D > Struct Reference

Auxiliary class for retrieving 2D histograms corresponding to a given histogram name. More...

#include <JBinsMap.hh>

Public Member Functions

 JBinsMapHelper (const JBinsMap &binsMap)
 Constructor.
 
std::unique_ptr< TH2D > operator() (const std::string &name) const
 Get 2D histogram with binning corresponding to a given histogram name.
 

Private Attributes

const JBinsMapbinsMap
 Bins map.
 

Detailed Description

Auxiliary class for retrieving 2D histograms corresponding to a given histogram name.

Definition at line 230 of file JBinsMap.hh.

Constructor & Destructor Documentation

◆ JBinsMapHelper()

JROOT::JBinsMapHelper< TH2D >::JBinsMapHelper ( const JBinsMap & binsMap)
inline

Constructor.

Parameters
binsMapbins map

Definition at line 237 of file JBinsMap.hh.

237 :
239 {}
const JBinsMap & binsMap
Bins map.
Definition JBinsMap.hh:286

Member Function Documentation

◆ operator()()

std::unique_ptr< TH2D > JROOT::JBinsMapHelper< TH2D >::operator() ( const std::string & name) const
inline

Get 2D histogram with binning corresponding to a given histogram name.

Parameters
namehistogram name
Returns
pointer to 2D histogram

Definition at line 248 of file JBinsMap.hh.

249 {
250 using namespace std;
251 using namespace JPP;
252
253 typename JBinsMap::const_iterator i = binsMap.find(name);
254
255 if (i == binsMap.cend()) {
256 THROW(JNoValue, "JBinsMapHelper<TH2D>::operator(): No bin configuration found for " << name);
257 }
258
259 const typename JBinsMap::mapped_type& bins = i->second;
260
261 typename JBinsMap::mapped_type::const_iterator p = bins.find('x');
262
263 if (p != bins.cend()) {
264
265 const vector<double>& Xbins = p->second;
266
267 typename JBinsMap::mapped_type::const_iterator q = bins.find('y');
268
269 if (q != bins.cend()) {
270
271 const vector<double>& Ybins = q->second;
272
273 return std::make_unique<TH2D>(name.c_str(), "",
274 Xbins.size()-1, Xbins.data(),
275 Ybins.size()-1, Ybins.data());
276 }
277
278 THROW(JNoValue, "JBinsMapHelper<TH2D>::operator(): Missing y-axis binning for " << name);
279 }
280
281 THROW(JNoValue, "JBinsMapHelper<TH2D>::operator(): Missing x-axis binning for " << name);
282 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for missing value.
map_type::const_iterator const_iterator
Definition JBinsMap.hh:53
map_type::mapped_type mapped_type
Definition JBinsMap.hh:47
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).

Member Data Documentation

◆ binsMap

const JBinsMap& JROOT::JBinsMapHelper< TH2D >::binsMap
private

Bins map.

Definition at line 286 of file JBinsMap.hh.


The documentation for this struct was generated from the following file: