1 #ifndef CondFormats_PhysicsToolsObjects_Histogram3D_h
2 #define CondFormats_PhysicsToolsObjects_Histogram3D_h
6 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
16 namespace PhysicsTools {
22 template<
typename Value_t,
typename AxisX_t = Value_t,
23 typename AxisY_t = AxisX_t,
typename AxisZ_t = AxisX_t>
36 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
43 template<
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
66 Histogram3D(
unsigned int nBinsX, AxisX_t minX, AxisX_t maxX,
67 unsigned int nBinsY, AxisY_t minY, AxisY_t maxY,
68 unsigned int nBinsZ, AxisZ_t minZ, AxisZ_t
maxZ);
74 template<
typename OValue_t,
typename OAxisX_t,
typename OAxisY_t,
typename OAxisZ_t>
76 OAxisX_t, OAxisY_t, OAxisZ_t> &orig);
84 inline int bin3D(
int binX,
int binY,
int binZ)
const
93 Value_t
value(AxisX_t
x, AxisY_t
y, AxisY_t
z)
const
104 Value_t
binError(
int binX,
int binY,
int binZ)
const
106 Value_t
error(AxisX_t
x, AxisY_t
y, AxisZ_t
z)
const
118 void fill(AxisX_t
x, AxisY_t
y, AxisZ_t
z, Value_t
weight = 1.0);
130 inline const std::vector<Value_t> &
values()
const
135 template<
typename OValue_t>
174 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
193 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
194 #include "CondFormats/PhysicsToolsObjects/interface/Histogram3D.icc"
197 #endif // CondFormats_PhysicsToolsObjects_Histogram3D_h