24#ifndef genfit_RKTools_h
25#define genfit_RKTools_h
29#include <initializer_list>
33template <
size_t nRows,
size_t nCols>
35 double vals[nRows * nCols];
39 RKMatrix(std::initializer_list<double> initList) {
40 std::copy(initList.begin(), initList.end(),
vals);
44 return vals[nCols*iRow + iCol];
54 double*
end() {
return vals + nRows * nCols; }
56 const double*
end()
const {
return vals + nRows * nCols; }
59 std::copy(o.
begin(), o.
end(), this->begin());
92 void printDim(
const double* mat,
unsigned int dimX,
unsigned int dimY);
96template<
size_t nRows,
size_t nCols>
Defines for I/O streams used for error and debug printing.
double & operator[](size_t n)
const double * end() const
const double & operator[](size_t n) const
RKMatrix< nRows, nCols > & operator=(const RKMatrix< nRows, nCols > &o)
double & operator()(size_t iRow, size_t iCol)
RKMatrix(std::initializer_list< double > initList)
const double * begin() const
double vals[nRows *nCols]
RKMatrix(const RKMatrix &)=default