9 #include "CoralBase/Blob.h"
10 #include <string_view>
24 return StatusCode::SUCCESS;
30 if (writeHandle.isValid()) {
31 ATH_MSG_DEBUG(
"CondHandle " << writeHandle.fullKey() <<
" is already valid."
32 <<
". In theory this should not be called, but may happen"
33 <<
" if multiple concurrent events are being processed out of order.");
34 return StatusCode::SUCCESS;
38 if (!readHandle_ASDpos.isValid()) {
40 return StatusCode::FAILURE;
42 writeHandle.addDependency(readHandle_ASDpos);
45 auto outputCdo = std::make_unique<TgcDigitASDposData>();
46 constexpr std::string_view
delimiter{
";"};
47 for(
const auto &[
channel, attribute] : **readHandle_ASDpos) {
49 const std::string blobline{
static_cast<const char*
>(
blob.startingAddress())};
65 outputCdo->stripAsdPos.emplace(chamberId, std::move(strip_pos));
73 outputCdo->wireAsdPos.emplace(chamberId, std::move(wire_pos));
77 ATH_CHECK(writeHandle.record(std::move(outputCdo)));
78 ATH_MSG_DEBUG(
"recorded new " << writeHandle.key() <<
" with range " << writeHandle.getRange() <<
" into Conditions Store");
80 return StatusCode::SUCCESS;