131 std::vector<CommonMode>& commonModeOutput,
const Sector& sector,
TimeBin timeBin,
140 for (
size_t iPad = 0; iPad < mGlobalPads.size(); ++iPad) {
141 auto& digit = mGlobalPads[iPad];
143 auto& prevDigit = (*prevTime)[iPad];
144 if (prevDigit.hasSignal()) {
145 digit.foldSignal(prevDigit, sector.
getSector(), iPad, timeBin, debugStream, padParams);
147 prevDigit.signal = digit.getChargePad();
149 const CRU cru = mapper.getCRU(sector, iPad);
150 const float cmKValue = (padParams[2]) ? padParams[2]->getValue(sector.
getSector(), iPad) : 1.f;
151 mCommonMode[cru.
gemStack()] += digit.getChargePad() * eleParam.commonModeCoupling * cmKValue;
155 for (
size_t i = 0;
i < mCommonMode.size(); ++
i) {
158 commonModeOutput.push_back({cm, timeBin,
static_cast<unsigned char>(
i)});
162 for (
size_t iPad = 0; iPad < mGlobalPads.size(); ++iPad) {
163 auto& digit = mGlobalPads[iPad];
164 if (eleParam.doNoiseEmptyPads || (digit.getChargePad() > 0.f)) {
167 prevDigit = (*prevTime)[iPad];
169 const CRU cru = mapper.getCRU(sector, iPad);
170 digit.fillOutputContainer<MODE>(
output, mcTruth, cru, timeBin, iPad, mLabels,
getCommonMode(cru), prevDigit, debugStream, deadMap);
void fillOutputContainer(std::vector< Digit > &output, dataformats::MCTruthContainer< MCCompLabel > &mcTruth, std::vector< CommonMode > &commonModeOutput, const Sector §or, TimeBin timeBin, PrevDigitInfoArray *prevTime=nullptr, Streamer *debugStream=nullptr, const CalPad *itParams[2]=nullptr, const CalDet< bool > *deadMap=nullptr)