156 unsigned int channel = 0;
157 unsigned int next_channel = 0;
158 unsigned int next = 0;
159 unsigned int tol_count = 0;
162 std::vector<std::pair<int, TriggerPrimitive>> chanTPList;
164 chanTPList.push_back(std::make_pair(
channel_t(tp.channel), tp));
166 std::sort(chanTPList.begin(),
168 [](
const std::pair<int, TriggerPrimitive>& a,
const std::pair<int, TriggerPrimitive>& b) {
169 return (a.first < b.first);
181 for (
int i = 0; i < chanTPList.size(); ++i) {
185 next = (i + 1) % chanTPList.size();
186 channel = chanTPList.at(i).first;
187 next_channel = chanTPList.at(next).first;
191 next_channel = channel - 1;
195 if (next_channel == channel)
199 if (win_adj.
inputs.size() == 0)
200 win_adj.
add(chanTPList[i].second);
203 if (next_channel - channel == 1) {
204 win_adj.
add(chanTPList[next].second);
209 else if (next_channel - channel > 0 && next_channel - channel <= 5 && tol_count <
m_adj_tolerance) {
210 win_adj.
add(chanTPList[next].second);
211 tol_count += next_channel - channel - 1;
216 win_adj_max = win_adj;