11#include "eformat/SourceIdentifier.h"
12using eformat::helper::SourceIdentifier;
18 declareInterface<IMuonRawDataProviderTool>(
this);
28 for (uint32_t detID : {eformat::MUON_MMEGA_ENDCAP_A_SIDE, eformat::MUON_MMEGA_ENDCAP_C_SIDE}) {
29 for (uint8_t sectorID(0); sectorID < 16; ++sectorID) {
34 uint16_t moduleID = (0x0 << 8) | sectorID;
35 SourceIdentifier sid(
static_cast<eformat::SubDetector
>(detID), moduleID);
38 moduleID = (0x1 << 8) | sectorID;
39 sid = SourceIdentifier(
static_cast<eformat::SubDetector
>(detID), moduleID);
42 moduleID = (0x2 << 8) | sectorID;
43 sid = SourceIdentifier(
static_cast<eformat::SubDetector
>(detID), moduleID);
51 return StatusCode::SUCCESS;
63 if(!externalCacheRDO){
69 ATH_CHECK(rdoContainerHandle.
record(std::make_unique<MM_RawDataContainer>(update.ptr())));
74 if (!(rdoContainer = rdoContainerHandle.
ptr())) {
75 ATH_MSG_ERROR(
"the MM RDO container is null, cannot decode MM data");
76 return StatusCode::FAILURE;
79 return StatusCode::SUCCESS;
90 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecRobf;
95 const std::vector<IdentifierHash> hashIDList;
108 if (rdoIdhVect.empty() ||
m_skipDecoding)
return StatusCode::SUCCESS;
110 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecRobf;
126 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecRobf;
130 const std::vector<IdentifierHash> rdoIdhVect;
139 ATH_MSG_ERROR(
"MM_RawDataProviderToolMT::convert() Not implemented.");
140 return StatusCode::FAILURE;
145 ATH_MSG_ERROR(
"MM_RawDataProviderToolMT::convert(const ROBFragmentList&) not implemented.");
146 return StatusCode::FAILURE;
151 ATH_MSG_ERROR(
"MM_RawDataProviderToolMT::convert(const std::vector<IdentifierHash>&) not implemented.");
152 return StatusCode::FAILURE;
157 ATH_MSG_ERROR(
"MM_RawDataProviderToolMT::convert(const ROBFragmentList&) not implemented.");
158 return StatusCode::FAILURE;
#define ATH_CHECK
Evaluate an expression and check for errors.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.