27 std::unique_ptr<MM_RawDataContainer> rdos = std::make_unique<MM_RawDataContainer>(
m_idHelperSvc->mmIdHelper().module_hash_max());
34 return StatusCode::FAILURE;
36 mmCablingMap = readCondHandle.
cptr();
45 int getRdoCollHash =
m_idHelperSvc->mmIdHelper().get_module_hash(digitId, hash);
46 if (getRdoCollHash != 0) {
48 return StatusCode::FAILURE;
52 if (rdos->addCollection(coll, hash).isFailure()) {
58 for (
const MmDigit* digit : *digitColl) {
61 int tdo{0}, relBcid{0}, pdo{0};
62 m_calibTool->timeToTdo(ctx, digit->stripResponseTime(), newId, tdo, relBcid);
63 m_calibTool->chargeToPdo(ctx, digit->stripResponseCharge(), newId, pdo);
67 std::optional<Identifier> correctedChannelId = mmCablingMap->
correctChannel(newId, msgStream());
68 if (!correctedChannelId) {
69 ATH_MSG_DEBUG(
"Channel was shifted outside its connector and is therefore not decoded into and RDO");
72 newId = (*correctedChannelId);
75 std::unique_ptr<MM_RawData> rdo = std::make_unique<MM_RawData>(newId,
m_idHelperSvc->mmIdHelper().channel(newId),
76 tdo, pdo, relBcid,
true);
85 return StatusCode::SUCCESS;