10 #include <unordered_map>
17 , m_robDataProvider(
"ROBDataProviderSvc",
n)
28 ATH_CHECK(m_rdoContainerKey.initialize());
30 m_maxhashtoUse = m_idHelperSvc->mmIdHelper().module_hash_max();
32 return StatusCode::SUCCESS;
42 std::unordered_map<IdentifierHash, std::unique_ptr<MM_RawDataCollection>> rdo_map;
47 ATH_CHECK( m_decoder->fillCollection(ctx, *fragment, rdoIdhVect, rdo_map) );
50 int nerr_duplicate{0}, nerr_rdo{0};
53 for (
auto& [
hash, collection]: rdo_map) {
55 if ((!collection) or collection->empty())
continue;
61 }
else if (!lock.
addOrDelete(std::move(collection)).isSuccess()) {
69 if (nerr_duplicate)
ATH_MSG_WARNING(nerr_duplicate <<
" elinks skipped since the same module hash has been added by a previous ROB fragment");
71 ATH_MSG_ERROR(
"Failed to add "<<nerr_rdo<<
" RDOs into the identifiable container");
72 return StatusCode::FAILURE;
76 return StatusCode::SUCCESS;