13 declareInterface<Muon::IMuonRawDataProviderTool>(
this);
38 return StatusCode::SUCCESS;
42 const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
MdtCsmContainer& mdtContainer)
const {
47 if (frag->rod_ndata() != 0) {
48 m_decoder->fillCollections(*frag, mdtContainer).ignore();
50 ATH_MSG_DEBUG(
" ROB " << MSG::hex << frag->source_id() <<
" is delivered with an empty payload" );
56 return StatusCode::SUCCESS;
62 return convert(Gaudi::Hive::currentContext());
66 const EventContext& ctx)
const
72 return StatusCode::FAILURE;
78 return convert(HashVec, Gaudi::Hive::currentContext());
86 return StatusCode::FAILURE;
92 return convert(robIds, Gaudi::Hive::currentContext());
96 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
102 const std::vector<IdentifierHash>&)
const {
103 return convert(vecRobs, Gaudi::Hive::currentContext());
107 const std::vector<IdentifierHash>& ,
const EventContext& ctx)
const {
112 return convert(vecRobs, Gaudi::Hive::currentContext());
116 const EventContext& ctx)
const {
128 if (!externalCacheRDO) {
132 rdoContainer = rdoContainerHandle.
ptr();
137 ATH_CHECK(rdoContainerHandle.
record(std::make_unique<MdtCsmContainer>(update.ptr())));
139 rdoContainer = rdoContainerHandle.
ptr();
144 ATH_MSG_ERROR(
"MdtCsmContainer is null, cannot convert MDT raw data");
145 return StatusCode::FAILURE;
151 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
virtual size_t numberOfCollections() const override final
return number of collections
This container provides acces to the MDT RDOs.
const ListOfROB & getAllROBId() const
return the ROD id of a given chamber
uint32_t getROBId(const IdentifierHash &stationCode, MsgStream &log) const
return the ROD id of a given chamber, given the hash id
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.
eformat::ROBFragment< PointerType > ROBFragment