11#include "eformat/SourceIdentifier.h"
12using eformat::helper::SourceIdentifier;
18 declareInterface<IMuonRawDataProviderTool>(
this);
27 for (uint32_t detID : {eformat::MUON_STGC_ENDCAP_A_SIDE, eformat::MUON_STGC_ENDCAP_C_SIDE}) {
28 for (uint8_t sectorID(0); sectorID < 16; ++sectorID) {
33 uint16_t moduleID = (0x0 << 8) | sectorID;
34 SourceIdentifier sid(
static_cast<eformat::SubDetector
>(detID), moduleID);
37 moduleID = (0x1 << 8) | sectorID;
38 sid = SourceIdentifier(
static_cast<eformat::SubDetector
>(detID), moduleID);
41 moduleID = (0x2 << 8) | sectorID;
42 sid = SourceIdentifier(
static_cast<eformat::SubDetector
>(detID), moduleID);
45 moduleID = (0x3 << 8) | sectorID;
46 sid = SourceIdentifier(
static_cast<eformat::SubDetector
>(detID), moduleID);
53 return StatusCode::SUCCESS;
64 if(!externalCacheRDO){
70 ATH_CHECK(rdoContainerHandle.
record(std::make_unique<STGC_RawDataContainer>(update.ptr())));
75 if (!(rdoContainer = rdoContainerHandle.
ptr())) {
76 ATH_MSG_ERROR(
"The STGC RDO container is null, cannot decode STGC data");
77 return StatusCode::FAILURE;
80 return StatusCode::SUCCESS;
93 if (rdoIdhVect.empty() ||
m_skipDecoding)
return StatusCode::SUCCESS;
95 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecRobf;
111 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecRobf;
115 const std::vector<IdentifierHash> rdoIdhVect;
127 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecRobf;
132 const std::vector<IdentifierHash> hashIDList;
141 ATH_MSG_ERROR(
"STGC_RawDataProviderToolMT::convert() Not implemented.");
142 return StatusCode::FAILURE;
147 ATH_MSG_ERROR(
"STGC_RawDataProviderToolMT::convert(const ROBFragmentList& vecRobs) Not implemented.");
148 return StatusCode::FAILURE;
153 ATH_MSG_ERROR(
"STGC_RawDataProviderToolMT::convert(const std::vector<IdentifierHash>& rdoIdhVect) Not implemented.");
154 return StatusCode::FAILURE;
159 ATH_MSG_ERROR(
"STGC_RawDataProviderToolMT::convert(const ROBFragmentList& vecRobs, const std::vector<IdentifierHash>&) Not implemented.");
160 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.