1 #ifndef CondFormats_PhysicsToolsObjects_Histogram3D_h
2 #define CondFormats_PhysicsToolsObjects_Histogram3D_h
4 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
13 namespace PhysicsTools {
19 template<
typename Value_t,
typename AxisX_t = Value_t,
20 typename AxisY_t = AxisX_t,
typename AxisZ_t = AxisX_t>
33 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
40 template<
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
63 Histogram3D(
unsigned int nBinsX, AxisX_t minX, AxisX_t maxX,
64 unsigned int nBinsY, AxisY_t minY, AxisY_t maxY,
65 unsigned int nBinsZ, AxisZ_t minZ, AxisZ_t
maxZ);
71 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
73 OAxisX_t, OAxisY_t, OAxisZ_t> &orig);
81 inline int bin3D(
int binX,
int binY,
int binZ)
const
90 Value_t
value(AxisX_t
x, AxisY_t
y, AxisY_t
z)
const
101 Value_t
binError(
int binX,
int binY,
int binZ)
const
103 Value_t
error(AxisX_t
x, AxisY_t
y, AxisZ_t
z)
const
115 void fill(AxisX_t
x, AxisY_t
y, AxisZ_t
z, Value_t
weight = 1.0);
127 inline const std::vector<Value_t> &
values()
const
132 template<
typename OValue_t>
171 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
188 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
189 #include "CondFormats/PhysicsToolsObjects/interface/Histogram3D.icc"
192 #endif // CondFormats_PhysicsToolsObjects_Histogram3D_h