From 3214090284ebfe3535b7912e2fbd0acd1a7f36c2 Mon Sep 17 00:00:00 2001
From: Moritz Huebner <moritz.huebner@ligo.org>
Date: Thu, 19 Dec 2019 22:53:57 -0600
Subject: [PATCH] Resolve "Injection in frequency domain doesn't update time
 domain strain"

---
 bilby/gw/detector/strain_data.py | 1 +
 test/detector_test.py            | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/bilby/gw/detector/strain_data.py b/bilby/gw/detector/strain_data.py
index 05499a3d3..358a507d7 100644
--- a/bilby/gw/detector/strain_data.py
+++ b/bilby/gw/detector/strain_data.py
@@ -216,6 +216,7 @@ class InterferometerStrainData(object):
         if not len(self.frequency_array) == len(frequency_domain_strain):
             raise ValueError("The frequency_array and the set strain have different lengths")
         self._frequency_domain_strain = frequency_domain_strain
+        self._time_domain_strain = None
 
     def to_gwpy_timeseries(self):
         """
diff --git a/test/detector_test.py b/test/detector_test.py
index 2f225c719..ffd40962a 100644
--- a/test/detector_test.py
+++ b/test/detector_test.py
@@ -366,6 +366,13 @@ class TestInterferometer(unittest.TestCase):
         expected = self.injection_polarizations['plus'] + self.injection_polarizations['cross'] + original_strain
         self.assertTrue(np.array_equal(expected, self.ifo.strain_data._frequency_domain_strain))
 
+    def test_inject_signal_from_waveform_polarizations_update_time_domain_strain(self):
+        original_td_strain = self.ifo.strain_data.time_domain_strain
+        self.ifo.get_detector_response = lambda x, params: x['plus'] + x['cross']
+        self.ifo.inject_signal_from_waveform_polarizations(parameters=self.parameters,
+                                                           injection_polarizations=self.injection_polarizations)
+        self.assertFalse(np.array_equal(original_td_strain, self.ifo.strain_data.time_domain_strain))
+
     def test_inject_signal_from_waveform_polarizations_meta_data(self):
         self.ifo.get_detector_response = lambda x, params: x['plus'] + x['cross']
         self.ifo.inject_signal_from_waveform_polarizations(parameters=self.parameters,
-- 
GitLab