5#ifndef ZDCUTILS_RPDUTILS_H
6#define ZDCUTILS_RPDUTILS_H
8#include <initializer_list>
15 unsigned int constexpr sideC = 0;
16 unsigned int constexpr sideA = 1;
24 unsigned int constexpr nRows = 4;
25 unsigned int constexpr nCols = 4;
26 template <std::ranges::contiguous_range Range,
typename T = std::ranges::range_value_t<Range>>
28 std::fill(v.begin(), v.end(), 0);
30 template <std::ranges::contiguous_range OuterRange,
typename InnerRange = std::ranges::range_value_t<OuterRange>,
typename T = std::ranges::range_value_t<InnerRange>>
31 void helpZero(OuterRange & vv)
requires (std::ranges::contiguous_range<InnerRange> && std::is_arithmetic_v<T>) {
38 std::ostream &
operator <<(std::ostream & os,
const std::vector<T> & v);
49 T
const&
value()
const;
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
unsigned int ZDCSideToSideIndex(int const ZDCSide)
unsigned int constexpr nRows
int constexpr ZDCSumsGlobalZDCSide
unsigned int constexpr nChannels
unsigned int constexpr ZDCModuleRPDType
std::ostream & operator<<(std::ostream &os, const std::vector< T > &v)
unsigned int constexpr sideC
unsigned int constexpr ZDCModuleZDCType
unsigned int constexpr sideA
unsigned int constexpr nCols
std::initializer_list< unsigned int > constexpr sides
unsigned int constexpr ZDCModuleEMModule
std::string vecToString(std::vector< T > const &v)