diff --git a/mbtrack2/utilities/optics.py b/mbtrack2/utilities/optics.py index 3c7ff926d21c268e6d9187a82db7e39304302965..79026f0d67edbbd8ea934f568376499235b23ec7 100644 --- a/mbtrack2/utilities/optics.py +++ b/mbtrack2/utilities/optics.py @@ -119,9 +119,10 @@ class Optics: self.periodicity = periodicity if self.periodicity > 1: - for i in range(self.periodicity - 1): - pos = np.append(twiss.s_pos, - twiss.s_pos + twiss.s_pos[-1] * (i+1)) + periods = np.arange(0, self.periodicity) + shift = periods*twiss.s_pos[-1] + shift = np.repeat(shift, len(twiss.s_pos)) + pos = np.tile(twiss.s_pos.T, self.periodicity) + shift else: pos = twiss.s_pos