gstlal-inspiral  0.4.2
 All Classes Namespaces Files Functions Variables Pages
gstlal_peakfinder.ct.patch
1 diff --git a/gstlal/lib/gstlal/gstlal_peakfinder.ct b/gstlal/lib/gstlal/gstlal_peakfinder.ct
2 index 7a61bef..1b728b2 100644
3 --- a/gstlal/lib/gstlal/gstlal_peakfinder.ct
4 +++ b/gstlal/lib/gstlal/gstlal_peakfinder.ct
5 @@ -19,6 +19,8 @@ int NAME(gstlal,peak_over_window)(struct gstlal_peak_state *state, const TYPE *d
6  guint sample, channel;
7  TYPE *maxdata = MEMBER(state->values.as);
8  guint *maxsample = state->samples;
9 + double absdata;
10 + double absdatachannel;
11 
12  /* clear the state array */
13  gstlal_peak_state_clear(state);
14 @@ -26,9 +28,10 @@ int NAME(gstlal,peak_over_window)(struct gstlal_peak_state *state, const TYPE *d
15  /* Find maxima of the data */
16  for(sample = 0; sample < length; sample++) {
17  for(channel = 0; channel < state->channels; channel++) {
18 - if(ABSFUNC(*data) > ABSFUNC(maxdata[channel]) && ABSFUNC(*data) > state->thresh) {
19 + absdata = ABSFUNC(*data);
20 + if(absdata > state->thresh && absdata > (absdatachannel = ABSFUNC(maxdata[channel]))) {
21  /* only increment events if the previous value was 0 */
22 - if (ABSFUNC(maxdata[channel]) == 0)
23 + if (absdatachannel == 0)
24  state->num_events += 1;
25  maxdata[channel] = *data;
26  maxsample[channel] = sample;