Go to the documentation of this file.
4 #ifndef tools_histo_c3d
5 #define tools_histo_c3d
19 static const std::string s_v(
"tools::histo::c3d");
33 bool fill(
double,
double,
double,
double = 1);
40 double value_x(
unsigned int)
const;
41 double value_y(
unsigned int)
const;
42 double value_z(
unsigned int)
const;
43 double weight(
unsigned int)
const;
50 bool convert(
unsigned int,
double,
double,
51 unsigned int,
double,
double,
52 unsigned int,
double,
double);
53 bool convert(
const std::vector<double>&,
54 const std::vector<double>&,
55 const std::vector<double>&);
58 size_t number =
m_xs.size();
59 for(
size_t index=0;index<number;index++) {
65 unsigned int,
double,
double,
66 unsigned int,
double,
double);
113 if(&a_from==
this)
return *
this;
264 unsigned int a_bins_x,
double a_lower_edge_x,
double a_upper_edge_x
265 ,
unsigned int a_bins_y,
double a_lower_edge_y,
double a_upper_edge_y
266 ,
unsigned int a_bins_z,
double a_lower_edge_z,
double a_upper_edge_z
270 a_bins_x,a_lower_edge_x,a_upper_edge_x,
271 a_bins_y,a_lower_edge_y,a_upper_edge_y,
272 a_bins_z,a_lower_edge_z,a_upper_edge_z);
309 size_t number =
m_ws.size();
310 for(
size_t index=0;index<number;index++)
m_ws[index] *= a_scale;
324 unsigned int aCnvXnumber,
double aCnvXmin,
double aCnvXmax
325 ,
unsigned int aCnvYnumber,
double aCnvYmin,
double aCnvYmax
326 ,
unsigned int aCnvZnumber,
double aCnvZmin,
double aCnvZmax
356 bool c3d::fill(
double aX,
double aY,
double aZ,
double aW){
405 const std::vector<double>& a_edges_x
406 ,
const std::vector<double>& a_edges_y
407 ,
const std::vector<double>& a_edges_z
411 a_edges_x,a_edges_y,a_edges_z);
489 rms = ::sqrt(::fabs( (
m_Sx2w /
m_Sw) - mean * mean));
503 rms = ::sqrt(::fabs( (
m_Sy2w /
m_Sw) - mean * mean));
517 rms = ::sqrt(::fabs( (
m_Sz2w /
m_Sw) - mean * mean));