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

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

#include <JBinsMap.hh>

Public Member Functions

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

Private Attributes

const JBinsMapbinsMap
 Bins map.
 

Detailed Description

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

Definition at line 294 of file JBinsMap.hh.

Constructor & Destructor Documentation

◆ JBinsMapHelper()

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

Constructor.

Parameters
binsMapbins map

Definition at line 301 of file JBinsMap.hh.

301 :
303 {}
const JBinsMap & binsMap
Bins map.
Definition JBinsMap.hh:360

Member Function Documentation

◆ operator()()

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

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

Parameters
namehistogram name
Returns
pointer to 3D histogram

Definition at line 312 of file JBinsMap.hh.

313 {
314 using namespace std;
315 using namespace JPP;
316
317 typename JBinsMap::const_iterator i = binsMap.find(name);
318
319 if (i == binsMap.cend()) {
320 THROW(JNoValue, "JBinsMapHelper<TH3D>::operator(): No bin configuration found for " << name);
321 }
322
323 const typename JBinsMap::mapped_type& bins = i->second;
324
325 typename JBinsMap::mapped_type::const_iterator p = bins.find('x');
326
327 if (p != bins.cend()) {
328
329 const vector<double>& Xbins = p->second;
330
331 typename JBinsMap::mapped_type::const_iterator q = bins.find('y');
332
333 if (q != bins.cend()) {
334
335 const vector<double>& Ybins = q->second;
336
337 typename JBinsMap::mapped_type::const_iterator r = bins.find('z');
338
339 if (r != bins.cend()) {
340
341 const vector<double>& Zbins = r->second;
342
343 return std::make_unique<TH3D>(name.c_str(), "",
344 Xbins.size()-1, Xbins.data(),
345 Ybins.size()-1, Ybins.data(),
346 Zbins.size()-1, Zbins.data());
347 }
348
349 THROW(JNoValue, "JBinsMapHelper<TH3D>::operator(): Missing z-axis binning for " << name);
350 }
351
352 THROW(JNoValue, "JBinsMapHelper<TH3D>::operator(): Missing y-axis binning for " << name);
353 }
354
355 THROW(JNoValue, "JBinsMapHelper<TH3D>::operator(): Missing x-axis binning for " << name);
356 }
#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< TH3D >::binsMap
private

Bins map.

Definition at line 360 of file JBinsMap.hh.


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