16 #include "CoralBase/Attribute.h"
17 #include "CoralBase/AttributeListSpecification.h"
23 ISvcLocator* pSvcLocator)
33 return StatusCode::SUCCESS;
43 if (writeCablingHandle.isValid()) {
45 << writeCablingHandle.fullKey() <<
" is already valid."
46 <<
". In theory this should not be called, but may happen"
47 <<
" if multiple concurrent events are being processed "
49 return StatusCode::SUCCESS;
54 std::unique_ptr<MuonNRPC_CablingMap> writeCdo{
55 std::make_unique<MuonNRPC_CablingMap>()};
60 if (!in_json.good()) {
63 return StatusCode::FAILURE;
71 if (!coolHandle.isValid()) {
74 return StatusCode::FAILURE;
76 writeCablingHandle.addDependency(coolHandle);
77 for (
const auto& itr : **coolHandle) {
83 if (!writeCdo->finalize(msgStream()))
84 return StatusCode::FAILURE;
86 ATH_CHECK(writeCablingHandle.record(std::move(writeCdo)));
88 return StatusCode::SUCCESS;
95 for (
const auto& cabl_chan :
payload.items()) {
99 cabl_data.eta = cabl_payload[
"eta"];
100 cabl_data.phi = cabl_payload[
"phi"];
101 cabl_data.doubletR = cabl_payload[
"doubletR"];
102 cabl_data.doubletPhi = cabl_payload[
"doubletPhi"];
103 cabl_data.doubletZ = cabl_payload[
"doubletZ"];
104 const int8_t phiAndStrip = cabl_payload[
"measPhi"];
105 cabl_data.setMeasPhiAndSide(phiAndStrip & phiBit, phiAndStrip & sideBit);
106 cabl_data.gasGap = cabl_payload[
"gasGap"];
108 cabl_data.subDetector = cabl_payload[
"subDetector"];
109 cabl_data.tdcSector = cabl_payload[
"tdcSector"];
110 cabl_data.tdc = cabl_payload[
"tdc"];
111 cabl_data.firstStrip = cabl_payload[
"firstStrip"];
112 cabl_data.lastStrip = cabl_payload[
"lastStrip"];
113 cabl_data.firstChannel = cabl_payload[
"firstTdcChan"];
114 cabl_data.lastChannel = cabl_payload[
"lastTdcChan"];
116 return StatusCode::FAILURE;
119 return StatusCode::SUCCESS;