diff --git a/examples/injection_examples/basic_tutorial.py b/examples/injection_examples/basic_tutorial.py index cb1b81c7b6ab560569f23b2a10ae88244d4a2ae9..c3548b4d41ad42bd5584c2bf863f00ffd79b385e 100644 --- a/examples/injection_examples/basic_tutorial.py +++ b/examples/injection_examples/basic_tutorial.py @@ -41,17 +41,13 @@ waveform_generator = tupak.WaveformGenerator(time_duration=time_duration, frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters, waveform_arguments=waveform_arguments) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. In this case we'll use three interferometers (LIGO-Hanford (H1), LIGO-Livingston (L1), # and Virgo (V1)). These default to their design sensitivity -IFOs = [] -for name in ['H1', 'L1', 'V1']: - IFOs.append( - tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, - injection_parameters=injection_parameters, - time_duration=time_duration, - sampling_frequency=sampling_frequency, outdir=outdir)) +IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, + sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1']] # Set up prior, which is a dictionary # By default we will sample all terms in the signal models. However, this will take a long time for the calculation, diff --git a/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py b/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py index 3a9770f0398da7181ab146f75d3aa15bfc6eadd1..2d90386e16a2692f709f86106cf2cd7b64feb63c 100644 --- a/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py +++ b/examples/injection_examples/basic_tutorial_dist_time_phase_marg.py @@ -39,11 +39,12 @@ waveform_generator = tupak.WaveformGenerator(time_duration=time_duration, frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters, waveform_arguments=waveform_arguments) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. In this case we'll use three interferometers (LIGO-Hanford (H1), LIGO-Livingston (L1), # and Virgo (V1)). These default to their design sensitivity IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, injection_parameters=injection_parameters, time_duration=time_duration, + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1']] # Set up prior, which is a dictionary diff --git a/examples/injection_examples/basic_tutorial_time_phase_marg.py b/examples/injection_examples/basic_tutorial_time_phase_marg.py index 370539586a3b49f97bedb7225f310224ab1fff86..3f7525db6fc9daf48de68828f3bb4c65b05414fd 100644 --- a/examples/injection_examples/basic_tutorial_time_phase_marg.py +++ b/examples/injection_examples/basic_tutorial_time_phase_marg.py @@ -38,11 +38,12 @@ waveform_generator = tupak.WaveformGenerator(time_duration=time_duration, frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters, waveform_arguments=waveform_arguments) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. In this case we'll use three interferometers (LIGO-Hanford (H1), LIGO-Livingston (L1), # and Virgo (V1)). These default to their design sensitivity IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, injection_parameters=injection_parameters, time_duration=time_duration, + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1']] # Set up prior, which is a dictionary diff --git a/examples/injection_examples/change_sampled_parameters.py b/examples/injection_examples/change_sampled_parameters.py index 8114c4734f1f2b3ba5a3a6f4f63cd570fb5f1bb1..d5766e5475075c4bbf969fc92127d33dd3d8cba7 100644 --- a/examples/injection_examples/change_sampled_parameters.py +++ b/examples/injection_examples/change_sampled_parameters.py @@ -32,16 +32,12 @@ waveform_generator = tupak.gw.waveform_generator.WaveformGenerator( parameter_conversion=tupak.gw.conversion.convert_to_lal_binary_black_hole_parameters, non_standard_sampling_parameter_keys=['chirp_mass', 'mass_ratio'], parameters=injection_parameters, waveform_arguments=waveform_arguments) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. -IFOs = [] -for name in ['H1', 'L1', 'V1']: - IFOs.append( - tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, - injection_parameters=injection_parameters, - time_duration=time_duration, - sampling_frequency=sampling_frequency, outdir=outdir)) +IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, + sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1', 'V1']] # Set up prior priors = tupak.gw.prior.BBHPriorSet() diff --git a/examples/injection_examples/create_your_own_source_model.py b/examples/injection_examples/create_your_own_source_model.py index 10dd2b0a36de0b039b0ec8fdd9b1bfef61e2d631..a595695044d828ef7205ee13fc72eafdec043e29 100644 --- a/examples/injection_examples/create_your_own_source_model.py +++ b/examples/injection_examples/create_your_own_source_model.py @@ -29,10 +29,11 @@ waveform_generator = tupak.gw.waveform_generator.WaveformGenerator(time_duration sampling_frequency=sampling_frequency, frequency_domain_source_model=sine_gaussian, parameters=injection_parameters) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1', 'V1']] diff --git a/examples/injection_examples/create_your_own_time_domain_source_model.py b/examples/injection_examples/create_your_own_time_domain_source_model.py index 8c4f57affca36aec1e0122216660cd1f640ff73b..f89bb0f77c3ccbec9a9e39bd54bb23232ad7af06 100644 --- a/examples/injection_examples/create_your_own_time_domain_source_model.py +++ b/examples/injection_examples/create_your_own_time_domain_source_model.py @@ -36,6 +36,7 @@ waveform = tupak.gw.waveform_generator.WaveformGenerator(time_duration=time_dura time_domain_source_model=time_domain_damped_sinusoid, parameters=injection_parameters) +hf_signal = waveform.frequency_domain_strain() #note we could plot the time domain signal with the following code # import matplotlib.pyplot as plt # plt.plot(waveform.time_array, waveform.time_domain_strain()['plus']) @@ -46,14 +47,12 @@ waveform = tupak.gw.waveform_generator.WaveformGenerator(time_duration=time_dura # inject the signal into three interferometers -IFOs = [] -for name in ['H1', 'L1', 'V1']: - IFOs.append( - tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform, - injection_parameters=injection_parameters, - time_duration=time_duration, - sampling_frequency=sampling_frequency, outdir=outdir)) +IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( + name, injection_polarizations=hf_signal, + injection_parameters=injection_parameters, time_duration=time_duration, + sampling_frequency=sampling_frequency, outdir=outdir) + for name in ['H1', 'L1']] + # create the priors prior = injection_parameters.copy() diff --git a/examples/injection_examples/how_to_specify_the_prior.py b/examples/injection_examples/how_to_specify_the_prior.py index 10ba8d0c1a5838a6925f3aaef0c8aad6e9d1516a..d33fc753486bd01f8fbef8968a2cf407da54ecea 100644 --- a/examples/injection_examples/how_to_specify_the_prior.py +++ b/examples/injection_examples/how_to_specify_the_prior.py @@ -28,10 +28,11 @@ waveform_generator = tupak.WaveformGenerator(time_duration=time_duration, frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters, waveform_arguments=waveform_arguments) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, injection_parameters=injection_parameters, time_duration=time_duration, + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1', 'V1']] # Set up prior diff --git a/examples/injection_examples/marginalized_likelihood.py b/examples/injection_examples/marginalized_likelihood.py index 8d1e0ac0d5f2319095e20a8f38a18c82f4ab8018..6ada100981861f8cf52050c007d2dd71f51029a5 100644 --- a/examples/injection_examples/marginalized_likelihood.py +++ b/examples/injection_examples/marginalized_likelihood.py @@ -26,16 +26,12 @@ waveform_generator = tupak.WaveformGenerator( time_duration=time_duration, sampling_frequency=sampling_frequency, frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters, waveform_arguments=waveform_arguments) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. -IFOs = [] -for name in ['H1', 'L1', 'V1']: - IFOs.append( - tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, - injection_parameters=injection_parameters, - time_duration=time_duration, - sampling_frequency=sampling_frequency, outdir=outdir)) +IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, + sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1', 'V1']] # Set up prior priors = tupak.gw.prior.BBHPriorSet() diff --git a/examples/injection_examples/sine_gaussian_example.py b/examples/injection_examples/sine_gaussian_example.py index e06536374cc27ff9d0612fe560c1d7a80a92ea9c..adc1e9bbb1eb7dd17b147d32d04563a7c84f2c5d 100644 --- a/examples/injection_examples/sine_gaussian_example.py +++ b/examples/injection_examples/sine_gaussian_example.py @@ -29,11 +29,12 @@ waveform_generator = tupak.gw.waveform_generator.WaveformGenerator(time_duration sampling_frequency=sampling_frequency, frequency_domain_source_model=tupak.gw.source.sinegaussian, parameters=injection_parameters) +hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. In this case we'll use three interferometers (LIGO-Hanford (H1), LIGO-Livingston (L1), # and Virgo (V1)). These default to their design sensitivity IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection( - name, waveform_generator=waveform_generator, injection_parameters=injection_parameters, time_duration=time_duration, + name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, time_duration=time_duration, sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1', 'V1']] # Set up prior, which is a dictionary diff --git a/test/detector_tests.py b/test/detector_tests.py index 9e2c5838d4a9ab1035d62f4121176b053b134195..e241c5422c36137c1e99d2cc351de900f977cf79 100644 --- a/test/detector_tests.py +++ b/test/detector_tests.py @@ -247,9 +247,9 @@ class TestDetector(unittest.TestCase): parameters=dict(ra=0, dec=0, geocent_time=0, psi=0)) self.assertTrue(np.array_equal(response, (plus+cross)*self.ifo.frequency_mask*np.exp(-0j))) - #def test_inject_signal_no_waveform_generator(self): - # with self.assertRaises(ValueError): - # self.ifo.inject_signal(waveform_generator=None, parameters=None) + def test_inject_signal_no_waveform_polarizations(self): + with self.assertRaises(ValueError): + self.ifo.inject_signal(waveform_polarizations=None, parameters=None) def test_unit_vector_along_arm_default(self): with self.assertRaises(ValueError): diff --git a/test/make_standard_data.py b/test/make_standard_data.py index 59df56fdeae4cccec00a84de8d756ab954aa08f7..cc9731bf444f82f061591db94f58bba28442b0a9 100644 --- a/test/make_standard_data.py +++ b/test/make_standard_data.py @@ -36,8 +36,9 @@ waveform_generator = WaveformGenerator(time_duration=time_duration, sampling_fre frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=simulation_parameters) +signal = waveform_generator.frequency_domain_strain() -IFO = tupak.gw.detector.get_interferometer_with_fake_noise_and_injection(name='H1', waveform_generator=waveform_generator, +IFO = tupak.gw.detector.get_interferometer_with_fake_noise_and_injection(name='H1', injection_polarizations=signal, injection_parameters=simulation_parameters, time_duration=time_duration, plot=False, sampling_frequency=sampling_frequency)