8 #include "eformat/SourceIdentifier.h"
14 const std::string&
name,
18 declareInterface<HLT::HLTResultByteStreamTool>(
this );
30 const auto itr = m_robIDMap.find(objName);
31 if ( itr==m_robIDMap.end() ) {
33 return StatusCode::FAILURE;
35 eformat::helper::SourceIdentifier rob(itr->second);
39 m_fea.idMap().setDetId(rob.subdetector_id());
41 std::vector<uint32_t>*
rod = m_fea.getRodData( rob.code() );
42 if (!
rod)
return StatusCode::FAILURE;
45 m_fea.fill(
re,
msg());
48 <<
" words) to location " << rob.human());
50 return StatusCode::SUCCESS;
62 const auto itr = m_robIDMap.find(objName);
63 if ( itr==m_robIDMap.end() ) {
65 return StatusCode::FAILURE;
67 eformat::helper::SourceIdentifier rob(itr->second);
71 dataProvider.
getROBData(Gaudi::Hive::currentContext(), {rob.code()}, robFrags);
74 std::vector<uint32_t> hltContent;
78 rob->rod_data(rodData);
80 const uint32_t nData = rob->rod_ndata();
81 hltContent.reserve(nData);
82 for (
size_t i = 0;
i < nData;
i++) hltContent.push_back(rodData[
i]);
85 result->deserialize(hltContent);
86 ATH_MSG_DEBUG(
"Deserialized HLT Result " << objName <<
" (" << hltContent.size() <<
" words)");
88 return StatusCode::SUCCESS;