8 #include "GaudiKernel/ServiceHandle.h"
9 #include "GaudiKernel/ThreadLocalContext.h"
20 ATH_CHECK(m_rdoContainerCacheKey.initialize(!m_rdoContainerCacheKey.key().empty()));
24 if (!m_rdoContainerCacheKey.key().empty() && m_WriteOutRpcSectorLogic) {
26 "Cannot write out RpcSectorLogic while running with cached RpcPad containers"
27 " as the RpcSectorLogic is not cached at the same time and the written containers will desync."
28 " Please turn off RpcSectorLogic writing when running with cached bytestream container");
29 return StatusCode::FAILURE;
34 return StatusCode::SUCCESS;
45 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
47 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
53 return this->
convert(vecRobs, Gaudi::Hive::currentContext());
58 std::vector<IdentifierHash> collections;
60 return convert(vecRobs, collections, ctx);
65 return this->
convert(robIds, Gaudi::Hive::currentContext());
70 std::vector<IdentifierHash> collections;
71 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
72 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
74 return convert(vecOfRobf, collections, ctx);
79 return this->
convert(rdoIdhVect, Gaudi::Hive::currentContext());
86 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
87 std::vector<uint32_t> robIds;
88 CHECK(readCdo->giveROB_fromRDO(rdoIdhVect, robIds));
89 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
91 return convert(vecOfRobf, rdoIdhVect, ctx);
95 return this->
convert(vecRobs, collections, Gaudi::Hive::currentContext());
99 const EventContext& ctx)
const {
108 const bool externalCacheRDO = !m_rdoContainerCacheKey.key().empty();
109 if (!externalCacheRDO) {
110 ATH_CHECK(rdoContainerHandle.
record(std::make_unique<RpcPadContainer>(m_idHelperSvc->rpcIdHelper().module_hash_max())));
116 ATH_MSG_DEBUG(
"Created container using cache for " << m_rdoContainerCacheKey.key());
121 if (m_WriteOutRpcSectorLogic) {
123 ATH_CHECK(logicHandle.
record(std::make_unique<RpcSectorLogicContainer>()));
124 logic = logicHandle.
ptr();
128 ATH_CHECK(convertIntoContainers(vecRobs, collections, pad, logic,
true));
130 return StatusCode::SUCCESS;