From 15a1c5efb470058af0774b86c9083682daf0093d Mon Sep 17 00:00:00 2001
From: mancini <mancini@astron.nl>
Date: Wed, 21 Aug 2019 16:16:53 +0200
Subject: [PATCH] SSB-47: fixing iteration per beam

---
 CAL/CalibrationProcessing/lib/processing/solver.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/CAL/CalibrationProcessing/lib/processing/solver.py b/CAL/CalibrationProcessing/lib/processing/solver.py
index 6a12c575a6d..16d036f83c9 100644
--- a/CAL/CalibrationProcessing/lib/processing/solver.py
+++ b/CAL/CalibrationProcessing/lib/processing/solver.py
@@ -65,10 +65,10 @@ def _compute_pointing_matrices_per_station_frequency_beam(dataset, datatable, ce
 
     pointing_matrix = numpy.matrix(numpy.zeros((n_beams, n_antennas), dtype=complex))
 
-    for i in range(n_beams):
+    for i, beam_str in enumerate(datatable):
         for j in range(n_antennas):
-            l = datatable[central_beam]['mean']['l'][0] - datatable[str(i)]['mean']['l'][0]
-            m = datatable[central_beam]['mean']['m'][0] - datatable[str(i)]['mean']['m'][0]
+            l = datatable[central_beam]['mean']['l'][0] - datatable[beam_str]['mean']['l'][0]
+            m = datatable[central_beam]['mean']['m'][0] - datatable[beam_str]['mean']['m'][0]
             x, y = rotated_coordinates[j, 0:2]
 
             phase = _compute_expected_phase_delay(l, m, x, y, frequency)
@@ -249,13 +249,11 @@ def _solve_gains_per_frequency(dataset, datatable, frequency, direct_complex=Tru
                                                                    datatable,
                                                                    central_beam,
                                                                    frequency)
-    n_beams = len(datatable)
-
     result = dict()
 
     for polarization in ['XX', 'XY', 'YX', 'YY']:
         visibilities = numpy.matrix(
-            [datatable[str(i)]['mean'][polarization] for i in range(n_beams)])
+            [datatable[beam_str]['mean'][polarization] for beam_str in datatable])
 
         if direct_complex is True:
             result[polarization] = _solve_gains(visibilities, matrix, **kwargs)
-- 
GitLab