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