15#ifndef ROOT7_RHistUtils_h
16#define ROOT7_RHistUtils_h
22namespace Experimental {
25template <
int DIMENSIONS>
27 using Base_t = std::array<double, DIMENSIONS>;
33 template<
class...ELEMENTS,
class =
typename std::enable_if<
sizeof...(ELEMENTS) + 1 == DIMENSIONS>::
type>
38 template<
class T,
class...ELEMENTS,
class =
typename std::enable_if<
sizeof...(ELEMENTS) + 1 != DIMENSIONS>::
type>
40 static_assert(
sizeof...(ELEMENTS) + 1 == DIMENSIONS,
"Number of coordinates does not match DIMENSIONS");
47template <
int DIMENSIONS>
Namespace for new ROOT classes and functions.
RCoordArray(double x, ELEMENTS...el)
Construction with one double per DIMENSION.
RCoordArray(T, ELEMENTS...)
Fallback constructor, invoked if the one above fails because of the wrong number of arguments / coord...
std::array< double, DIMENSIONS > Base_t
RCoordArray(double(&arr)[DIMENSIONS])
Construction from a C-style array.
RCoordArray()=default
Default construction.