12 , m_robDataProvider(
"ROBDataProviderSvc",
n)
21 ATH_CHECK(m_rdoContainerKey.initialize());
23 m_maxhashtoUse = m_idHelperSvc->stgcIdHelper().module_hash_max();
24 return StatusCode::SUCCESS;
29 const std::vector<const ROBFragment*>& vecRobs,
30 const std::vector<IdentifierHash>& rdoIdhVect,
34 std::unordered_map<IdentifierHash, std::unique_ptr<STGC_RawDataCollection>> rdo_map;
39 ATH_CHECK( m_decoder->fillCollection(ctx, *fragment, rdoIdhVect, rdo_map) );
43 int nerr_duplicate{0}, nerr_rdo{0};
46 for (
auto& [
hash, collection]: rdo_map) {
48 if ((!collection) or collection->empty())
continue;
54 }
else if (!lock.
addOrDelete(std::move(collection)).isSuccess()) {
62 if (nerr_duplicate)
ATH_MSG_WARNING(nerr_duplicate <<
" elinks skipped since the same module hash has been added by a previous ROB fragment");
64 ATH_MSG_ERROR(
"Failed to add "<<nerr_rdo<<
" RDOs into the identifiable container");
65 return StatusCode::FAILURE;
69 return StatusCode::SUCCESS;