1 #ifndef CondFormats_PhysicsToolsObjects_Histogram3D_h
2 #define CondFormats_PhysicsToolsObjects_Histogram3D_h
10 namespace PhysicsTools {
16 template<
typename Value_t,
typename AxisX_t = Value_t,
17 typename AxisY_t = AxisX_t,
typename AxisZ_t = AxisX_t>
30 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
37 template<
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
60 Histogram3D(
unsigned int nBinsX, AxisX_t minX, AxisX_t maxX,
61 unsigned int nBinsY, AxisY_t minY, AxisY_t maxY,
62 unsigned int nBinsZ, AxisZ_t minZ, AxisZ_t
maxZ);
68 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
70 OAxisX_t, OAxisY_t, OAxisZ_t> &orig);
78 inline int bin3D(
int binX,
int binY,
int binZ)
const
87 Value_t
value(AxisX_t
x, AxisY_t
y, AxisY_t
z)
const
98 Value_t
binError(
int binX,
int binY,
int binZ)
const
100 Value_t
error(AxisX_t
x, AxisY_t
y, AxisZ_t
z)
const
112 void fill(AxisX_t
x, AxisY_t
y, AxisZ_t
z, Value_t
weight = 1.0);
124 inline const std::vector<Value_t> &
values()
const
129 template<
typename OValue_t>
181 #include "CondFormats/PhysicsToolsObjects/interface/Histogram3D.icc"
183 #endif // CondFormats_PhysicsToolsObjects_Histogram3D_h