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;
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;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
StatusCode addOrDelete(std::unique_ptr< T > ptr)
IDC_WriteHandle getWriteHandle(IdentifierHash hash)
size_t size() const
Duplicate of fullSize for backwards compatability.
eformat::ROBFragment< PointerType > ROBFragment