19 auto inputs =
data().get_child(
"inputs");
20 for(
size_t slot = 7; slot<=9; ++slot) {
21 for(
size_t conn=0; conn<4; ++conn) {
22 m_ctpin[slot-7][conn] = inputs.get_optional<std::string>(
"ctpin.slot" + std::to_string(slot) +
".connector" + std::to_string(conn)).get_value_or(
"");
25 const auto &
electrical = inputs.get_child(
"electrical");
26 for(
size_t i=0; i<3; ++i) {
29 if(
auto optical = inputs.get_child_optional(
"optical")) {
30 for(
size_t i=0; i<12; ++i) {
31 m_optical[i] =
optical->get_optional<std::string>(
"connector" + std::to_string(i)).get_value_or(
"");
34 for(
auto & mon :
data().get_child(
"monitoring.ctpmon") ) {
35 std::string monName = mon.first;
36 size_t multiplicity = mon.second.get_child(
"multiplicity").get_value<
size_t>();
37 std::string thr = mon.second.get_child(
"thr").get_value<std::string>();
38 m_ctpmon.emplace( std::piecewise_construct,
39 std::forward_as_tuple(monName),
40 std::forward_as_tuple(multiplicity, thr)
43 auto ctpinMon =
data().get_child_optional(
"monitoring.ctpin");
46 std::string monName = mon.first;
47 size_t multiplicity = mon.second.get_child(
"multiplicity").get_value<
size_t>();
48 std::string thr = mon.second.get_child(
"thr").get_value<std::string>();
50 std::forward_as_tuple(monName),
51 std::forward_as_tuple(multiplicity, thr)