53 {
54 ATH_MSG_DEBUG(
"will get local ToF parameters for station "<<stationID<<
", trainID "<<trainID<<
", barID "<<barID);
55 nlohmann::json channeldata=jsondata["data"];
56
57
58 int guess_ch=(
stationID/3)*16+trainID*4+barID;
59
60 nlohmann::json paramdata=channeldata.at(std::to_string(guess_ch));
61 int st=paramdata[
"stationID"];
62 int tr=paramdata["trainID"];
63 int ba=paramdata["barID"];
64 if(stationID==st && trainID==tr && barID==ba)
65 {
66 ATH_MSG_DEBUG(
"channel guessed correctly, stationID "<<st<<
", trainID "<<trainID<<
", barID "<<barID<<
", channel guess "<<guess_ch);
67 return ToFLocParamData(st, tr, ba, paramdata["barWeight"], paramdata["barTimeOffset"]);
68 }
69 else
70 {
71 ATH_MSG_DEBUG(
"channel was not guessed correctly, stationID "<<st<<
", trainID "<<trainID<<
", barID "<<barID<<
", channel guess "<<guess_ch);
72 }
73
74
75 for(auto& chan : channeldata.items())
76 {
77
78 nlohmann::json paramdata=
chan.value();
79
80 int st=paramdata[
"stationID"];
81 int tr=paramdata["trainID"];
82 int ba=paramdata["barID"];
83
84 if(stationID==st && trainID==tr && barID==ba)
85 {
86 ATH_MSG_DEBUG(
"channel found for stationID "<<st<<
", trainID "<<trainID<<
", barID "<<barID<<
", channel nr. "<<
chan.key());
87 return ToFLocParamData(st, tr, ba, paramdata["barWeight"], paramdata["barTimeOffset"]);
88 }
89 }
90
91 ATH_MSG_WARNING(
"local ToF parameters data stationID "<<stationID<<
", trainID "<<trainID<<
", barID "<<barID<<
" not found in any channels, returning zeros");
92 return ToFLocParamData(stationID, trainID, barID);
93 }
#define ATH_MSG_WARNING(x)
constexpr uint8_t stationID
Large or Small wedge.