From 4cba0ca9aec7ff4a3d83532eaec984ddeed540ad Mon Sep 17 00:00:00 2001
From: Colm Talbot <colm.talbot@ligo.org>
Date: Fri, 21 Sep 2018 13:39:01 +1000
Subject: [PATCH] make parameters kwargs optional

---
 tupak/gw/waveform_generator.py | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/tupak/gw/waveform_generator.py b/tupak/gw/waveform_generator.py
index cd18651b2..48c1d58a9 100644
--- a/tupak/gw/waveform_generator.py
+++ b/tupak/gw/waveform_generator.py
@@ -83,12 +83,19 @@ class WaveformGenerator(object):
             .format(self.duration, self.sampling_frequency, self.start_time, fdsm_name, tdsm_name,
                     param_conv_name, self.waveform_arguments)
 
-    def frequency_domain_strain(self, parameters):
+    def frequency_domain_strain(self, parameters=None):
         """ Rapper to source_model.
 
         Converts self.parameters with self.parameter_conversion before handing it off to the source model.
         Automatically refers to the time_domain_source model via NFFT if no frequency_domain_source_model is given.
 
+        Parameters
+        ----------
+        parameters: dict, optional
+            Parameters to evaluate the waveform for, this overwrites
+            `self.parameters`.
+            If not provided will fall back to `self.parameters`.
+
         Returns
         -------
         array_like: The frequency domain strain for the given set of parameters
@@ -105,13 +112,20 @@ class WaveformGenerator(object):
                                       transformed_model=self.time_domain_source_model,
                                       transformed_model_data_points=self.time_array)
 
-    def time_domain_strain(self, parameters):
+    def time_domain_strain(self, parameters=None):
         """ Rapper to source_model.
 
         Converts self.parameters with self.parameter_conversion before handing it off to the source model.
         Automatically refers to the frequency_domain_source model via INFFT if no frequency_domain_source_model is
         given.
 
+        Parameters
+        ----------
+        parameters: dict, optional
+            Parameters to evaluate the waveform for, this overwrites
+            `self.parameters`.
+            If not provided will fall back to `self.parameters`.
+
         Returns
         -------
         array_like: The time domain strain for the given set of parameters
@@ -130,7 +144,8 @@ class WaveformGenerator(object):
 
     def _calculate_strain(self, model, model_data_points, transformation_function, transformed_model,
                           transformed_model_data_points, parameters):
-        self.parameters = parameters.copy()
+        if parameters is not None:
+            self.parameters = parameters.copy()
         if model is not None:
             model_strain = self._strain_from_model(model_data_points, model)
         elif transformed_model is not None:
-- 
GitLab