From 54666b1376253d98dd537f6859a702fd9699b1d1 Mon Sep 17 00:00:00 2001
From: Colm Talbot <colm.talbot@ligo.org>
Date: Mon, 31 Aug 2020 14:30:04 -0500
Subject: [PATCH] Make spin post-processing conversion better

---
 bilby/gw/conversion.py | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/bilby/gw/conversion.py b/bilby/gw/conversion.py
index 0b1f3aacc..a8ac2cf8e 100644
--- a/bilby/gw/conversion.py
+++ b/bilby/gw/conversion.py
@@ -1009,18 +1009,19 @@ def generate_component_spins(sample):
         ['theta_jn', 'phi_jl', 'tilt_1', 'tilt_2', 'phi_12', 'a_1', 'a_2',
          'mass_1', 'mass_2', 'reference_frequency', 'phase']
     if all(key in output_sample.keys() for key in spin_conversion_parameters):
-        output_sample['iota'], output_sample['spin_1x'],\
-            output_sample['spin_1y'], output_sample['spin_1z'], \
-            output_sample['spin_2x'], output_sample['spin_2y'],\
-            output_sample['spin_2z'] =\
-            transform_precessing_spins(
-                output_sample['theta_jn'], output_sample['phi_jl'],
-                output_sample['tilt_1'], output_sample['tilt_2'],
-                output_sample['phi_12'], output_sample['a_1'],
-                output_sample['a_2'],
-                output_sample['mass_1'] * solar_mass,
-                output_sample['mass_2'] * solar_mass,
-                output_sample['reference_frequency'], output_sample['phase'])
+        (
+            output_sample['iota'], output_sample['spin_1x'],
+            output_sample['spin_1y'], output_sample['spin_1z'],
+            output_sample['spin_2x'], output_sample['spin_2y'],
+            output_sample['spin_2z']
+        ) = np.vectorize(bilby_to_lalsimulation_spins)(
+            output_sample['theta_jn'], output_sample['phi_jl'],
+            output_sample['tilt_1'], output_sample['tilt_2'],
+            output_sample['phi_12'], output_sample['a_1'], output_sample['a_2'],
+            output_sample['mass_1'] * solar_mass,
+            output_sample['mass_2'] * solar_mass,
+            output_sample['reference_frequency'], output_sample['phase']
+        )
 
         output_sample['phi_1'] =\
             np.fmod(2 * np.pi + np.arctan2(
-- 
GitLab