91 std::srand(std::time(
nullptr));
105 unsigned long refSumIDCs = 0;
106 for (
const auto val : idcsPerSide) {
107 refSumIDCs +=
static_cast<unsigned long>(
val + 0.1f);
115 for (
int iter = 0; iter < NITER; ++iter) {
118 const unsigned char grPadTmp =
genRand(MAXGRPAD) + 1;
119 const unsigned char grRowTmp =
genRand(MAXGRROW) + 1;
120 const unsigned char grRowThrTmp =
genRand(MAXGRTHR);
121 const unsigned char grPadThrTmp =
genRand(MAXGRTHR);
123 std::array<unsigned char, Mapper::NREGIONS> grPad{};
124 std::fill(grPad.begin(), grPad.end(), grPadTmp);
125 std::array<unsigned char, Mapper::NREGIONS> grRow{};
126 std::fill(grRow.begin(), grRow.end(), grRowTmp);
127 std::array<unsigned char, Mapper::NREGIONS> grRowThr{};
128 std::fill(grRowThr.begin(), grRowThr.end(), grRowThrTmp);
129 std::array<unsigned char, Mapper::NREGIONS> grPadThr{};
130 std::fill(grPadThr.begin(), grPadThr.end(), grPadThrTmp);
134 idcaverage.setIDCs(idcs,
Side::A);
137 std::array<IDCAverageGroup<IDCAverageGroupCRU>,
Mapper::NREGIONS> idcaverageCRU{
150 idcaverageCRU[region].setIDCs(idcsRegion[region]);
155 unsigned long sumGroupedIDCs = 0;
156 unsigned long sumGroupedIDCsCRU = 0;
157 std::vector<unsigned long> sumGroupedIDCsSector(NINTEGRATIONINTERVALS *
Mapper::NSECTORS);
158 for (
unsigned int i = 0;
i < NINTEGRATIONINTERVALS; ++
i) {
164 const auto valSector =
static_cast<unsigned long>(idcaverage.getUngroupedIDCDeltaVal(sector, region, irow, ipad,
i) + 0.1f);
165 const auto valCRU =
static_cast<unsigned long>(idcaverageCRU[region].getUngroupedIDCValLocal(irow, ipad,
i) + 0.1f);
166 sumGroupedIDCsSector[
index] += valSector;
167 sumGroupedIDCsCRU += valCRU;
172 sumGroupedIDCs += sumGroupedIDCsSector[
i];
181 for (
const auto idcsSec : sumGroupedIDCsSector) {
182 BOOST_CHECK(refSumIDCs / sumGroupedIDCsSector.size() == idcsSec);