14 template <
class TC,
class TO,
class TN,
class TW,
class TH>
119 return ::sqrt(::fabs((sx2w / sw) - mean * mean));
130 return ::sqrt(::fabs((sx2w / sw) - mean * mean));
141 return ::sqrt(::fabs((sx2w / sw) - mean * mean));
156 if(!
parent::m_axes[0].in_range_to_absolute_index(aI,ibin))
return 0;
157 bn_t jbin,kbin,offset;
164 for(jbin=0;jbin<ybins;jbin++) {
167 for(kbin=0;kbin<zbins;kbin++) {
180 if(!
parent::m_axes[1].in_range_to_absolute_index(aJ,jbin))
return 0;
187 TO joffset = jbin * yoffset;
189 for(ibin=0;ibin<xbins;ibin++) {
192 for(kbin=0;kbin<zbins;kbin++) {
205 if(!
parent::m_axes[2].in_range_to_absolute_index(aK,kbin))
return 0;
212 TO koffset = kbin * zoffset;
214 for(ibin=0;ibin<xbins;ibin++) {
217 for(jbin=0;jbin<ybins;jbin++) {
231 if(!
parent::m_axes[0].in_range_to_absolute_index(aI,ibin))
return 0;
238 for(
bn_t jbin=0;jbin<ybins;jbin++) {
241 for(
bn_t kbin=0;kbin<zbins;kbin++) {
254 if(!
parent::m_axes[1].in_range_to_absolute_index(aJ,jbin))
return 0;
259 TO joffset = jbin * yoffset;
261 for(
bn_t ibin=0;ibin<xbins;ibin++) {
264 for(
bn_t kbin=0;kbin<zbins;kbin++) {
277 if(!
parent::m_axes[2].in_range_to_absolute_index(aK,kbin))
return 0;
282 TO koffset = kbin * zoffset;
284 for(
bn_t ibin=0;ibin<xbins;ibin++) {
287 for(
bn_t jbin=0;jbin<ybins;jbin++) {
310 b3(
const std::string& a_title,
311 bn_t aXnumber,TC aXmin,TC aXmax,
312 bn_t aYnumber,TC aYmin,TC aYmax,
313 bn_t aZnumber,TC aZmin,TC aZmax)
316 std::vector<bn_t> nbins;
317 nbins.push_back(aXnumber);
318 nbins.push_back(aYnumber);
319 nbins.push_back(aZnumber);
320 std::vector<TC> mins;
321 mins.push_back(aXmin);
322 mins.push_back(aYmin);
323 mins.push_back(aZmin);
324 std::vector<TC> maxs;
325 maxs.push_back(aXmax);
326 maxs.push_back(aYmax);
327 maxs.push_back(aZmax);
331 b3(
const std::string& a_title,
332 const std::vector<TC>& a_edges_x,
333 const std::vector<TC>& a_edges_y,
334 const std::vector<TC>& a_edges_z)
337 std::vector< std::vector<TC> > edges(3);
338 edges[0] = a_edges_x;
339 edges[1] = a_edges_y;
340 edges[2] = a_edges_z;
350 bn_t aYnumber,TC aYmin,TC aYmax,
351 bn_t aZnumber,TC aZmin,TC aZmax){
352 std::vector<bn_t> nbins;
353 nbins.push_back(aXnumber);
354 nbins.push_back(aYnumber);
355 nbins.push_back(aZnumber);
356 std::vector<TC> mins;
357 mins.push_back(aXmin);
358 mins.push_back(aYmin);
359 mins.push_back(aZmin);
360 std::vector<TC> maxs;
361 maxs.push_back(aXmax);
362 maxs.push_back(aYmax);
363 maxs.push_back(aZmax);
368 const std::vector<TC>& a_edges_y,
369 const std::vector<TC>& a_edges_z){
370 std::vector< std::vector<TC> > edges(3);
371 edges[0] = a_edges_x;
372 edges[1] = a_edges_y;
373 edges[2] = a_edges_z;
381 if(!
parent::m_axes[0].in_range_to_absolute_index(aI,ibin)) {a_offset=0;
return false;}
382 if(!
parent::m_axes[1].in_range_to_absolute_index(aJ,jbin)) {a_offset=0;
return false;}
383 if(!
parent::m_axes[2].in_range_to_absolute_index(aK,kbin)) {a_offset=0;
return false;}