diff --git a/bilby/gw/utils.py b/bilby/gw/utils.py index 6c30a7f7e79448e8b13c418812a70b66ca5c3a26..d9503b81aff6a57839dc4cd125baa515e0100155 100644 --- a/bilby/gw/utils.py +++ b/bilby/gw/utils.py @@ -596,21 +596,25 @@ def plot_skymap(result, center='120d -40d', nside=512): fig.savefig('{}/{}_skymap.png'.format(result.outdir, result.label)) +def convert_args_list_to_float(*args_list): + """ Converts inputs to floats, returns a list in the same order as the input""" + try: + args_list = [float(arg) for arg in args_list] + except ValueError: + raise ValueError("Unable to convert inputs to floats") + return args_list + + def lalsim_SimInspiralTransformPrecessingNewInitialConditions( theta_jn, phi_jl, tilt_1, tilt_2, phi_12, a_1, a_2, mass_1, mass_2, reference_frequency, phase): - for arg in (theta_jn, phi_jl, tilt_1, tilt_2, phi_12, a_1, a_2, mass_1, - mass_2, reference_frequency, phase): - try: - arg = float(arg) - except ValueError: - raise ValueError("Unable to convert inputs to floats") - - return lalsim.SimInspiralTransformPrecessingNewInitialConditions( + args_list = convert_args_list_to_float( theta_jn, phi_jl, tilt_1, tilt_2, phi_12, a_1, a_2, mass_1, mass_2, reference_frequency, phase) + return lalsim.SimInspiralTransformPrecessingNewInitialConditions(*args_list) + def lalsim_GetApproximantFromString(waveform_approximant): if isinstance(waveform_approximant, str): @@ -626,15 +630,15 @@ def lalsim_SimInspiralChooseFDWaveform( minimum_frequency, maximum_frequency, reference_frequency, waveform_dictionary, approximant): - for arg in (mass_1, mass_2, spin_1x, spin_1y, spin_1z, spin_2x, spin_2y, - spin_2z, luminosity_distance, iota, phase, - longitude_ascending_nodes, eccentricity, mean_per_ano, - delta_frequency, minimum_frequency, maximum_frequency, - reference_frequency): - try: - arg = float(arg) - except ValueError: - raise ValueError("Unable to convert inputs to floats") + # Convert values to floats + [mass_1, mass_2, spin_1x, spin_1y, spin_1z, spin_2x, spin_2y, spin_2z, + luminosity_distance, iota, phase, longitude_ascending_nodes, + eccentricity, mean_per_ano, delta_frequency, minimum_frequency, + maximum_frequency, reference_frequency] = convert_args_list_to_float( + mass_1, mass_2, spin_1x, spin_1y, spin_1z, spin_2x, spin_2y, spin_2z, + luminosity_distance, iota, phase, longitude_ascending_nodes, + eccentricity, mean_per_ano, delta_frequency, minimum_frequency, + maximum_frequency, reference_frequency) # Note, this is the approximant number returns by GetApproximantFromString if isinstance(approximant, int) is False: @@ -662,9 +666,9 @@ def lalsim_SimInspiralWaveformParamsInsertTidalLambda1( def lalsim_SimInspiralWaveformParamsInsertTidalLambda2( waveform_dictionary, lambda_2): try: - lambda_1 = float(lambda_2) + lambda_2 = float(lambda_2) except ValueError: raise ValueError("Unable to convert lambda_2 to float") - return lalsim.SimInspiralWaveformParamsInsertTidalLambda1( - waveform_dictionary, lambda_1) + return lalsim.SimInspiralWaveformParamsInsertTidalLambda2( + waveform_dictionary, lambda_2)