diff --git a/examples/injection_examples/basic_tutorial.py b/examples/injection_examples/basic_tutorial.py index c105e80d0d8e435c448c8bd502b3766b244f7173..dd990be32f856d842a49386009d90852fd5bec04 100644 --- a/examples/injection_examples/basic_tutorial.py +++ b/examples/injection_examples/basic_tutorial.py @@ -23,10 +23,10 @@ injection_parameters = dict(mass_1=36., mass_2=29., a_1=0.4, a_2=0.3, tilt_1=0.5 waveform_approximant='IMRPhenomPv2', reference_frequency=50., ra=1.375, dec=-1.2108) # Create the waveform_generator using a LAL BinaryBlackHole source function -waveform_generator = tupak.waveform_generator.WaveformGenerator( - sampling_frequency=sampling_frequency, time_duration=time_duration, - frequency_domain_source_model=tupak.source.lal_binary_black_hole, - parameters=injection_parameters) +waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=time_duration, + sampling_frequency=sampling_frequency, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + parameters=injection_parameters) hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. diff --git a/examples/injection_examples/create_your_own_source_model.py b/examples/injection_examples/create_your_own_source_model.py index 072b90e253ae1679df212109048fa79694bdc829..225a1495f8b3c68f916c808e9a68d00edc650bca 100644 --- a/examples/injection_examples/create_your_own_source_model.py +++ b/examples/injection_examples/create_your_own_source_model.py @@ -26,11 +26,10 @@ def sine_gaussian(f, A, f0, tau, phi0, geocent_time, ra, dec, psi): # We now define some parameters that we will inject and then a waveform generator injection_parameters = dict(A=1e-21, f0=10, tau=1, phi0=0, geocent_time=0, ra=0, dec=0, psi=0) -waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=sine_gaussian, - sampling_frequency=sampling_frequency, - time_duration=time_duration, - parameters=injection_parameters) +waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=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. diff --git a/examples/injection_examples/how_to_specify_the_prior.py b/examples/injection_examples/how_to_specify_the_prior.py index d1c5ceb169f77000d97509630b598ae09a06aca9..500cf91a9635a9c0034beb7e2e96db97570622bf 100644 --- a/examples/injection_examples/how_to_specify_the_prior.py +++ b/examples/injection_examples/how_to_specify_the_prior.py @@ -19,10 +19,10 @@ injection_parameters = dict(mass_1=36., mass_2=29., a_1=0.4, a_2=0.3, tilt_1=0.5 waveform_approximant='IMRPhenomPv2', reference_frequency=50., ra=1.375, dec=-1.2108) # Create the waveform_generator using a LAL BinaryBlackHole source function -waveform_generator = tupak.waveform_generator.WaveformGenerator( - sampling_frequency=sampling_frequency, time_duration=time_duration, - frequency_domain_source_model=tupak.source.lal_binary_black_hole, - parameters=injection_parameters) +waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=time_duration, + sampling_frequency=sampling_frequency, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + parameters=injection_parameters) hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. diff --git a/examples/injection_examples/injection.py b/examples/injection_examples/injection.py index 3ede362872dbdea9e115be95f6f786e4b32e0a59..23b669e5e53ba139237982fcad0b73bd49a76b09 100644 --- a/examples/injection_examples/injection.py +++ b/examples/injection_examples/injection.py @@ -15,9 +15,10 @@ def main(): label = 'injection' # Create the waveform generator - waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=tupak.source.lal_binary_black_hole, sampling_frequency=2048, time_duration=4, - parameters={'reference_frequency': 50.0, 'waveform_approximant': 'IMRPhenomPv2'}) + waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=4, sampling_frequency=2048, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + parameters={'reference_frequency': 50.0, + 'waveform_approximant': 'IMRPhenomPv2'}) # Define the prior # Merger time is some time in 2018, shame LIGO will never see it... diff --git a/examples/injection_examples/marginalized_likelihood.py b/examples/injection_examples/marginalized_likelihood.py index 3479a5f134820fbaeb44db4561544c61426229d8..7fcd0acee31f1c19b266007f6cc98d3e4e77d024 100644 --- a/examples/injection_examples/marginalized_likelihood.py +++ b/examples/injection_examples/marginalized_likelihood.py @@ -20,10 +20,10 @@ injection_parameters = dict(mass_1=36., mass_2=29., a_1=0.4, a_2=0.3, tilt_1=0.5 waveform_approximant='IMRPhenomPv2', reference_frequency=50., ra=1.375, dec=-1.2108) # Create the waveform_generator using a LAL BinaryBlackHole source function -waveform_generator = tupak.waveform_generator.WaveformGenerator( - sampling_frequency=sampling_frequency, time_duration=time_duration, - frequency_domain_source_model=tupak.source.lal_binary_black_hole, - parameters=injection_parameters) +waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=time_duration, + sampling_frequency=sampling_frequency, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + parameters=injection_parameters) hf_signal = waveform_generator.frequency_domain_strain() # Set up interferometers. diff --git a/examples/injection_examples/time_domain_source_model.py b/examples/injection_examples/time_domain_source_model.py index 6f8d8c22cec28eb485e548eb92765c4d64bb207f..b9446703ed9e0b74747968aade1a0ff31f031b67 100644 --- a/examples/injection_examples/time_domain_source_model.py +++ b/examples/injection_examples/time_domain_source_model.py @@ -30,7 +30,9 @@ parameters['ra'] = 0 parameters['dec'] = 0 parameters['psi'] = 0 -wg = tupak.waveform_generator.WaveformGenerator(time_domain_source_model=time_domain_sine_gaussian, time_duration=2000, sampling_frequency=1000, parameters=parameters) +wg = tupak.waveform_generator.WaveformGenerator(time_duration=2000, sampling_frequency=1000, + time_domain_source_model=time_domain_sine_gaussian, + parameters=parameters) wg.parameters = parameters plt.plot(wg.frequency_array, wg.frequency_domain_strain()['plus']) plt.xlim(4, 6) diff --git a/examples/open_data_examples/GW150914.py b/examples/open_data_examples/GW150914.py index 4d02714775da3c3d2cb08d2de2fc57ccea41bdbd..2f582f38785e93a2b22707f851460de387aeefb5 100644 --- a/examples/open_data_examples/GW150914.py +++ b/examples/open_data_examples/GW150914.py @@ -44,11 +44,12 @@ prior['luminosity_distance'] = tupak.prior.PowerLaw( # creates the frequency-domain strain. In this instance, we are using the # `lal_binary_black_hole model` source model. We also pass other parameters: # the waveform approximant and reference frequency. -waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=tupak.source.lal_binary_black_hole, - sampling_frequency=interferometers[0].sampling_frequency, - time_duration=interferometers[0].duration, - parameters={'waveform_approximant': 'IMRPhenomPv2', 'reference_frequency': 50}) +waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=interferometers[0].duration, + sampling_frequency=interferometers[ + 0].sampling_frequency, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + parameters={'waveform_approximant': 'IMRPhenomPv2', + 'reference_frequency': 50}) # In this step, we define the likelihood. Here we use the standard likelihood # function, passing it the data and the waveform generator. diff --git a/examples/other_examples/alternative_likelihoods.py b/examples/other_examples/alternative_likelihoods.py index 74acbc2776d9fb50817ed107a621a5ca3328dff3..ea0f1ed089237242240d5d327799da3d2ea9ce97 100644 --- a/examples/other_examples/alternative_likelihoods.py +++ b/examples/other_examples/alternative_likelihoods.py @@ -68,9 +68,9 @@ fig.savefig('{}/data.png'.format(outdir)) # name doesn't make so much sense. But essentially this is an objects that # can generate a signal. We give it information on how to make the time series # and the model() we wrote earlier. -waveform_generator = tupak.waveform_generator.WaveformGenerator( - sampling_frequency=sampling_frequency, time_duration=time_duration, - time_domain_source_model=model) +waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=time_duration, + sampling_frequency=sampling_frequency, + time_domain_source_model=model) # Now lets instantiate a version of out Likelihood, giving it the time, data diff --git a/test/make_standard_data.py b/test/make_standard_data.py index 71f60fc90b7c697b64df804135676c80a52d17e2..67b395f44ecc750588c51867544d541350a43834 100644 --- a/test/make_standard_data.py +++ b/test/make_standard_data.py @@ -32,9 +32,8 @@ simulation_parameters = dict( psi=2.659 ) -waveform_generator = WaveformGenerator(frequency_domain_source_model=tupak.source.lal_binary_black_hole, - sampling_frequency=sampling_frequency, - time_duration=time_duration, +waveform_generator = WaveformGenerator(time_duration=time_duration, sampling_frequency=sampling_frequency, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, parameters=simulation_parameters) signal = waveform_generator.frequency_domain_strain() diff --git a/test/waveform_generator_tests.py b/test/waveform_generator_tests.py index 5a1cf8dbfef1a23b1b170ecaa16e4318ed776020..460ef23b6a984436a282a85849170f94c1a0257b 100644 --- a/test/waveform_generator_tests.py +++ b/test/waveform_generator_tests.py @@ -17,8 +17,8 @@ def gaussian_frequency_domain_strain_2(frequency_array, a, m, s, ra, dec, geocen class TestWaveformGeneratorInstantiationWithoutOptionalParameters(unittest.TestCase): def setUp(self): - self.waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=gaussian_frequency_domain_strain) + self.waveform_generator = tupak.waveform_generator.WaveformGenerator(1, 4096, + frequency_domain_source_model=gaussian_frequency_domain_strain) self.simulation_parameters = dict(amplitude=1e-21, mu=100, sigma=1, ra=1.375, dec=-1.2108, @@ -52,8 +52,8 @@ class TestWaveformGeneratorInstantiationWithoutOptionalParameters(unittest.TestC class TestParameterSetter(unittest.TestCase): def setUp(self): - self.waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=gaussian_frequency_domain_strain) + self.waveform_generator = tupak.waveform_generator.WaveformGenerator(1, 4096, + frequency_domain_source_model=gaussian_frequency_domain_strain) self.simulation_parameters = dict(amplitude=1e-21, mu=100, sigma=1, ra=1.375, dec=-1.2108, @@ -91,8 +91,8 @@ class TestParameterSetter(unittest.TestCase): class TestSourceModelSetter(unittest.TestCase): def setUp(self): - self.waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=gaussian_frequency_domain_strain) + self.waveform_generator = tupak.waveform_generator.WaveformGenerator(1, 4096, + frequency_domain_source_model=gaussian_frequency_domain_strain) self.waveform_generator.frequency_domain_source_model = gaussian_frequency_domain_strain_2 self.simulation_parameters = dict(amplitude=1e-21, mu=100, sigma=1, ra=1.375, diff --git a/tupak/likelihood.py b/tupak/likelihood.py index feb5f2dbda31f37c0ec9acf8dd8581c4967d89f4..17bc336a5cd595d186cd55ff4029a99d0b5fec56 100644 --- a/tupak/likelihood.py +++ b/tupak/likelihood.py @@ -150,12 +150,12 @@ def get_binary_black_hole_likelihood(interferometers): likelihood: tupak.likelihood.Likelihood The likelihood to pass to `run_sampler` """ - waveform_generator = tupak.waveform_generator.WaveformGenerator( - frequency_domain_source_model=tupak.source.lal_binary_black_hole, - sampling_frequency=interferometers[0].sampling_frequency, - time_duration=interferometers[0].duration, - parameters={'waveform_approximant': 'IMRPhenomPv2', - 'reference_frequency': 50}) + waveform_generator = tupak.waveform_generator.WaveformGenerator(time_duration=interferometers[0].duration, + sampling_frequency=interferometers[ + 0].sampling_frequency, + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + parameters={'waveform_approximant': 'IMRPhenomPv2', + 'reference_frequency': 50}) likelihood = tupak.likelihood.Likelihood( interferometers, waveform_generator) return likelihood diff --git a/tupak/waveform_generator.py b/tupak/waveform_generator.py index 23c7726d728fb594423e1d59a12b0ba07982ba48..6bbd936868c0baf4d52898844eedce580b3dc874 100644 --- a/tupak/waveform_generator.py +++ b/tupak/waveform_generator.py @@ -23,8 +23,8 @@ class WaveformGenerator(object): """ - def __init__(self, frequency_domain_source_model=None, time_domain_source_model=None, sampling_frequency=4096, time_duration=1, - parameters=None): + def __init__(self, time_duration, sampling_frequency, frequency_domain_source_model=None, + time_domain_source_model=None, parameters=None): self.time_duration = time_duration self.sampling_frequency = sampling_frequency self.frequency_domain_source_model = frequency_domain_source_model