19 const static auto& paramIDCGroup = ParameterIDCGroup::Instance();
20 switch (paramIDCGroup.method) {
23 return mRobustAverage[mThreadNum].getFilteredAverage(paramIDCGroup.sigma).first;
26 return withweights ? mRobustAverage[mThreadNum].getWeightedMean() : mRobustAverage[mThreadNum].getMean();
33 mThreadNum = threadNum;
34 mIntegrationInterval = integrationInterval;
35 mOffsetUngrouped = integrationInterval * Mapper::PADSPERREGION[getRegion()];
40 mRobustAverage[mThreadNum].addValue(getUngroupedIDCVal(padInRegion) * Mapper::INVPADAREA[getRegion()],
weight);
45 mRobustAverage[mThreadNum].addValue(getUngroupedIDCVal(padInRegion) * Mapper::INVPADAREA[getRegion()]);
50 mRobustAverage[mThreadNum].clear();
55 return mIDCsGrouped.getValue(mIDCGroupHelperSector.getIndexUngroupedGlobal(getSector(), getRegion(), urow, upad, mIntegrationInterval));
60 const unsigned int index = mIDCGroupHelperSector.getOffsRow(getRegion(), glrow) + padGrouped + mOffsetGrouped;
66 return mIDCsUngrouped.getValue(padInRegion + mOffsetUngrouped);
71 mIntegrationInterval = integrationInterval;
72 mOffsetUngrouped = (mIntegrationInterval *
SECTORSPERSIDE + getSector() %
SECTORSPERSIDE) * Mapper::getPadsInSector() + Mapper::GLOBALPADOFFSET[getRegion()];
73 const int offs = mIDCGroupHelperSector.getGroupingParameter().getEdgePadGroupingType() == EdgePadGroupingMethod::ROWS ? 1 : mIDCGroupHelperSector.getGroupingParameter().getGroupRows(getRegion());
74 mOffsetGrouped = mIDCGroupHelperSector.getIndexGrouped(getSector(), getRegion(), 0, 0, mIntegrationInterval) - mIDCGroupHelperSector.getGroupingParameter().getGroupedPadsSectorEdges() * offs;
79 const static auto& paramIDCGroup = ParameterIDCGroup::Instance();
80 switch (paramIDCGroup.method) {
83 return mRobustAverage[mThreadNum].getFilteredAverage(paramIDCGroup.sigma).first;
86 return withweights ? mRobustAverage[mThreadNum].getWeightedMean() : mRobustAverage[mThreadNum].getMean();
93 mRobustAverage[mThreadNum].addValue(getUngroupedIDCVal(padInRegion),
weight);
98 mRobustAverage[mThreadNum].addValue(getUngroupedIDCVal(padInRegion));
103 mRobustAverage[mThreadNum].clear();
108 const int index = mIDCGroupHelperSector.getIndexUngrouped(getSector(), getRegion(), ulrow, upad, mIntegrationInterval);
109 mIDCsGrouped.setValue(getGroupedIDC(
false),
index);
base class for averaging and grouping of IDCs
helper class for averaging and grouping of IDCs
This file provides the structs for storing the factorized IDC values and fourier coefficients to be s...
class for performing robust averaging and outlier filtering
GLuint GLuint GLfloat weight
constexpr unsigned char SECTORSPERSIDE
@ SLOW
Outlier filtering performed. Filtering + averaging.
@ FAST
no outlier filtering performed. Only averaging