17 : m_idHelperSvc{
svc} {}
20 MsgStream&
msg)
const {
29 <<
" has no known cabling correction" <<
endmsg;
30 return std::make_optional<Identifier>(
id);
34 sTgcHelper.channel(
id);
35 NswZebraSet::const_iterator zebra_conn = correctionSet.find(
channel);
36 if (zebra_conn == correctionSet.end()) {
40 <<
" was mounted correctly -> no correction needed " <<
endmsg;
41 return std::make_optional<Identifier>(
id);
43 const int newChannel =
channel + zebra_conn->shiftChannel;
44 if (newChannel < zebra_conn->firstChannel ||
45 newChannel > zebra_conn->lastChannel) {
49 <<
" is shifted outside of the zebra connector range: "
50 << newChannel <<
". Mask the channel." <<
endmsg;
54 const Identifier newId = mmHelper.channelID(
id,
55 mmHelper.multilayer(
id),
62 return std::make_optional<Identifier>(std::move(newId));
64 const Identifier newId = sTgcHelper.channelID(
id,
65 sTgcHelper.multilayer(
id),
66 sTgcHelper.gasGap(
id),
67 sTgcHelper.channelType(
id),
74 return std::make_optional<Identifier>(std::move(newId));
81 msg << MSG::ERROR <<
"Invalid zebra definition has been parsed for "
89 <<
" is already partially covered " << connector <<
endmsg;
92 msg <<
MSG::DEBUG <<
"Add new zebra connector " << connector <<
" to "
94 correctionSet.insert(connector);