+ }
+
+ // Then we two targets with the typical local minimum:
+ //
+ // * Target A moves from location 0 to the middle, stays there for a
+ // while, and comes back, and is strongly detected on the first
+ // half
+ //
+ // * Target B moves from location nb_locations-1 to the middle, stay
+ // there for a while, and comes back, and is strongly detected on
+ // the second half
+
+ int la, lb; // Target locations
+ scalar_t sa, sb; // Target detection scores
+ for(int t = 0; t < nb_time_steps; t++) {
+ if(t < nb_time_steps/2) {
+ la = t;
+ lb = nb_locations - 1 - t;
+ sa = detection_score(10.0, -1.0, score_noise, flip_noise);
+ sb = detection_score( 1.0, -1.0, score_noise, flip_noise);
+ } else {
+ la = nb_time_steps - 1 - t;
+ lb = t - nb_time_steps + nb_locations;
+ sa = detection_score( 1.0, -1.0, score_noise, flip_noise);
+ sb = detection_score(10.0, -1.0, score_noise, flip_noise);
+ }
+
+ if(la > nb_locations/2 - 1) la = nb_locations/2 - 1;
+ if(lb < nb_locations/2 + 1) lb = nb_locations/2 + 1;
+
+ tracker->detection_scores[t][la] = sa;
+ tracker->detection_scores[t][lb] = sb;
+ }