21                                const std::string& 
name,
 
   32   ATH_MSG_DEBUG((topoRawMode==ConversionMode::Encoding ? 
"Encoding" : 
"Decoding") << 
" topoRaw ROB IDs: " 
   33         << std::hex << std::showbase << 
m_robIds.value() << std::dec);
 
   36   return StatusCode::SUCCESS;
 
   44   auto l1topoContainer = std::make_unique<xAOD::L1TopoRawDataContainer> ();
 
   45   auto l1topoAuxContainer = std::make_unique<xAOD::L1TopoRawDataAuxContainer> ();
 
   46   l1topoContainer->setStore(l1topoAuxContainer.get());
 
   49   for (
const ROBF* rob : vrobf) {
 
   54   ATH_CHECK(l1topo_cont.
record(std::move(l1topoContainer),std::move(l1topoAuxContainer)));
 
   55   ATH_MSG_DEBUG(
"Recorded L1TopoRawDataContainer with key " << l1topo_cont.
key());
 
   57   return StatusCode::SUCCESS;
 
   63   return StatusCode::FAILURE;
 
   67   ATH_MSG_DEBUG(
"executing convert() from ROBFragment to xAOD::L1TopoRawData");
 
   69   uint32_t rodId = rob->rob_source_id();
 
   71   ATH_MSG_DEBUG(
"ROD sub-detector ID: 0x" << MSG::hex << rodId << MSG::dec);
 
   74   bool error_rob(
false);
 
   75   bool error_rod(
false);
 
   77     if (rob->check_rob()) {
 
   85     if (rob->check_rod()) {
 
   96           << 
"  rod_version           0x" << rob->rod_version() << 
" \n" 
   97           << 
"  rod_run_no            0x" << MSG::dec
 
   98           << rob->rod_run_no() << 
" \n" 
   99           << 
"  rod_lvl1_id           0x" << MSG::hex
 
  100           << rob->rod_lvl1_id() << 
" \n" 
  101           << 
"  rod_bc_id             0x" << rob->rod_bc_id() << 
" \n" 
  102           << 
"  rod_lvl1_trigger_type 0x" << rob->rod_lvl1_trigger_type()
 
  104           << 
"  nchildren             0x" << rob->nchildren() << 
" \n" 
  109   const uint32_t nstatus = rob->rod_nstatus();
 
  111   std::vector<uint32_t> vStatusWords;
 
  112   vStatusWords.reserve(nstatus);
 
  114   for (
uint32_t i = 0; 
i < nstatus; ++
i, ++it_status) {
 
  115     vStatusWords.push_back(
static_cast<uint32_t>(*it_status));
 
  117             << *it_status << MSG::dec);
 
  124   bool error_status(
false);
 
  125   if (vStatusWords.size() == 0) {
 
  128   if (vStatusWords.size() > 0 && vStatusWords.at(0) != 0) {
 
  129     ATH_MSG_WARNING(
"Non-zero first status word, payload may not be valid");
 
  135   const uint32_t ndata = rob->rod_ndata();
 
  139   std::vector<uint32_t> vDataWords;
 
  140   vDataWords.reserve(ndata);
 
  142     vDataWords.push_back(
static_cast<uint32_t>(*it_data));
 
  144             << *it_data << MSG::dec);
 
  160   container->
push_back(std::make_unique<xAOD::L1TopoRawData>());
 
  161   container->
back()->initialize(vDataWords,vStatusWords,
error,rodId);
 
  163   return StatusCode::SUCCESS;