12 #include "Eigen/Dense"
24 explicit BufrAccumulator(Eigen::Index numColumns, Eigen::Index blockSize = 50000);
28 void addRow(std::vector<FloatType>& newRow);
35 Eigen::Index numElementsPerSet,
Accumulates provided data into a dynamically expanding Eigen Array.
void addRow(std::vector< FloatType > &newRow)
Add row of data to the internal data structure.
BufrAccumulator(Eigen::Index numColumns, Eigen::Index blockSize=50000)
Eigen::Index numColumns_
Total number of columns (width of data structure)
Eigen::Index getNumColumns() const
IngesterArray dataArray_
Eigen Array that holds the accumulated data.
IngesterArray getData(Eigen::Index elementPos, Eigen::Index numElementsPerSet, const Channels &indices={1})
Get an Eigen Array that contains a slice of the collected data.
Eigen::Index blockSize_
Amount to allocate when we need to extend the Eigen Array.
Eigen::Index numDataRows_
Number of data rows of collected data.
Eigen::Array< FloatType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > IngesterArray
std::set< size_t > Channels