From b5b3a1cfcb33aea30031d65a6c6dc637f59e56dd Mon Sep 17 00:00:00 2001
From: Daichi Tsuna <daichi.tsuna@ligo.org>
Date: Sat, 6 Apr 2019 02:33:14 -0700
Subject: [PATCH] string_triggergen: add start_time & duration

binjfind needs them to identify sim_burst <-> sngl_burst coincs
---
 gstlal-burst/gst/lal/gstlal_string_triggergen.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gstlal-burst/gst/lal/gstlal_string_triggergen.c b/gstlal-burst/gst/lal/gstlal_string_triggergen.c
index 226949518b..f232dac49d 100644
--- a/gstlal-burst/gst/lal/gstlal_string_triggergen.c
+++ b/gstlal-burst/gst/lal/gstlal_string_triggergen.c
@@ -239,7 +239,16 @@ static GstFlowReturn trigger_generator(GSTLALStringTriggergen *element, GstBuffe
 		for(channel = 0; channel < element->num_templates; channel++, snrsample++) {
 			float snr = fabsf(*snrsample);
 			if(snr >= element->threshold) {
+				/*
+				 * If this is the first sample above threshold (i.e. snr of trigger is (re)set to 0), record the start time.
+				 */
+				if(element->bank[channel].snr < element->threshold)
+					element->bank[channel].start_time = t;
+				/*
+				 * Keep track of last time above threshold and the duration.
+				 */
 				element->last_time[channel] = t;
+				element->bank[channel].duration = XLALGPSDiff(&element->last_time[channel], &element->bank[channel].start_time);
 				if(snr > element->bank[channel].snr) {
 					/*
 					 * Higher SNR than the "current winner". Update.
@@ -406,6 +415,8 @@ static gboolean start(GstBaseTransform *trans)
 			 */
 
 			XLALINT8NSToGPS(&element->bank[i].peak_time, 0);
+			XLALINT8NSToGPS(&element->bank[i].start_time, 0);
+			element->bank[i].duration = 0;
 			element->bank[i].snr = 0;
 
 			/*
-- 
GitLab