27 declareProperty(
"CscContainerCacheKey",
m_rdoContainerCacheKey,
"Optional external cache for the CSC container");
41 ATH_CHECK(m_rdoContainerCacheKey.initialize(!m_rdoContainerCacheKey.key().empty()));
45 return StatusCode::SUCCESS;
53 return this->
convert(rdoIdhVect, Gaudi::Hive::currentContext());
57 IdContext cscContext = m_idHelperSvc->cscIdHelper().module_context();
59 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
60 std::vector<uint32_t> robIds;
62 for (
unsigned int i = 0;
i < rdoIdhVect.size(); ++
i) {
64 m_cabling->hash2RobFull(rdoIdhVect[
i], rob_id);
65 robIds.push_back(rob_id);
67 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
75 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
76 const std::vector<uint32_t>& robIds = m_hid2re.allRobIds();
79 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
86 const std::vector<IdentifierHash>& )
const {
87 return this->
convert(vecRobs, Gaudi::Hive::currentContext());
94 const bool externalCacheRDO = !m_rdoContainerCacheKey.key().empty();
95 if (!externalCacheRDO) {
96 ATH_CHECK(rdoContainerHandle.
record(std::make_unique<CscRawDataContainer>(m_idHelperSvc->cscIdHelper().module_hash_max())));
102 ATH_MSG_DEBUG(
"Created container using cache for " << m_rdoContainerCacheKey.key());
108 ATH_MSG_ERROR(
"CSC RDO container pointer is null, cannot decode data");
109 return StatusCode::FAILURE;
113 ATH_CHECK(convertIntoContainer(vecRobs, ctx, *container));
115 return StatusCode::SUCCESS;