6#include "eformat/SourceIdentifier.h"
8using eformat::helper::SourceIdentifier;
26 return StatusCode::SUCCESS;
30 const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
const std::vector<IdentifierHash>& collections,
32 for (
auto itFrag = vecRobs.begin(); itFrag != vecRobs.end(); itFrag++) {
34 if ((**itFrag).rod_ndata() != 0) {
35 std::vector<IdentifierHash> coll =
to_be_converted(**itFrag, collections);
37 if (
m_decoder->fillCollections(**itFrag, *pad, coll, logic, decodeSL).isFailure()) {
42 uint32_t sourceId = (**itFrag).source_id();
43 msg(MSG::DEBUG) <<
" ROB " << MSG::hex << sourceId <<
" is delivered with an empty payload" << MSG::dec <<
endmsg;
53 return StatusCode::SUCCESS;
57 const std::vector<IdentifierHash>& coll)
const {
61 std::vector<IdentifierHash> to_return;
64 uint32_t source_id = robFrag.rod_source_id();
65 SourceIdentifier sid(source_id);
66 to_return = (readCdo->
rod2hash(sid.subdetector_id(), sid.module_id()));
68 uint32_t source_id = robFrag.rod_source_id();
69 std::vector<IdentifierHash>::const_iterator it = coll.begin();
70 to_return.reserve(coll.size());
71 for (; it != coll.end(); ++it) {
72 if (source_id == readCdo->
hash2source(*it)) to_return.emplace_back(*it);
#define ATH_CHECK
Evaluate an expression and check for errors.
bool msgLvl(const MSG::Level lvl) const
virtual size_t numberOfCollections() const override final
return number of collections
std::vector< IdentifierHash > rod2hash(uint16_t subsystem, uint16_t rod) const
uint32_t hash2source(unsigned int h) const
Use IdentifiableContainer with RpcPad.
eformat::ROBFragment< PointerType > ROBFragment