@@ -181,16 +181,16 @@ def twiss_line(line, particle_ref=None, method=None,
181181 - dx: horizontal dispersion (d x / d delta) in meters
182182 - dy: vertical dispersion (d y / d delta) in meters
183183 - dzeta: longitudinal dispersion (d zeta / d delta) in meters
184- - dpx: horizontal dispersion (d px / d delta)
185- - dpy: vertical dispersion (d y / d delta)
184+ - dpx: higher order horizontal dispersion (d px / d delta)
185+ - dpy: higher order vertical dispersion (d py / d delta)
186186 - ddx: horizontal second order dispersion (d^2 x / d delta^2) in meters
187187 - ddy: vertical second order dispersion (d^2 y / d delta^2) in meters
188188 - ddpx: horizontal second order dispersion (d^2 px / d delta^2)
189189 - ddpy: vertical second order dispersion (d^2 py / d delta^2)
190190 - dx_zeta: horizontal crab dispersion (d x / d zeta)
191191 - dy_zeta: vertical crab dispersion (d y / d zeta)
192- - dpx_zeta: horizontal crab dispersion (d px / d zeta)
193- - dpy_zeta: vertical crab dispersion (d py / d zeta)
192+ - dpx_zeta: higher order horizontal crab dispersion (d px / d zeta)
193+ - dpy_zeta: higher order vertical crab dispersion (d py / d zeta)
194194 - ax_chrom: chromatic function (d alfx / d delta - alfx / betx d betx / d delta)
195195 - ay_chrom: chromatic function (d alfy / d delta - alfy / bety d bety / d delta)
196196 - bx_chrom: chromatic function (d betx / d delta)
@@ -1051,11 +1051,17 @@ def _compute_lattice_functions(Ws, use_full_inverse, s_co):
10511051 muy = np .unwrap (temp_phiy ) / 2 / np .pi
10521052 muzeta = np .unwrap (phizeta ) / 2 / np .pi
10531053
1054+ # Crab dispersion
10541055 dx_zeta = (Ws [:, 0 , 4 ] - Ws [:, 0 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ]) / (
10551056 Ws [:, 4 , 4 ] - Ws [:, 4 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ])
1057+ dpx_zeta = (Ws [:, 1 , 4 ] - Ws [:, 1 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ]) / (
1058+ Ws [:, 4 , 4 ] - Ws [:, 4 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ])
10561059 dy_zeta = (Ws [:, 2 , 4 ] - Ws [:, 2 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ]) / (
10571060 Ws [:, 4 , 4 ] - Ws [:, 4 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ])
1061+ dpy_zeta = (Ws [:, 3 , 4 ] - Ws [:, 3 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ]) / (
1062+ Ws [:, 4 , 4 ] - Ws [:, 4 , 5 ] * Ws [:, 5 , 4 ] / Ws [:, 5 , 5 ])
10581063
1064+ # Dispersion
10591065 dx_pzeta = (Ws [:, 0 , 5 ] - Ws [:, 0 , 4 ] * Ws [:, 4 , 5 ] / Ws [:, 4 , 4 ]) / (
10601066 Ws [:, 5 , 5 ] - Ws [:, 5 , 4 ] * Ws [:, 4 , 5 ] / Ws [:, 4 , 4 ])
10611067 dpx_pzeta = (Ws [:, 1 , 5 ] - Ws [:, 1 , 4 ] * Ws [:, 4 , 5 ] / Ws [:, 4 , 4 ]) / (
@@ -1081,7 +1087,9 @@ def _compute_lattice_functions(Ws, use_full_inverse, s_co):
10811087 'dy' : dy_pzeta ,
10821088 'dpy' : dpy_pzeta ,
10831089 'dx_zeta' : dx_zeta ,
1090+ 'dpx_zeta' : dpx_zeta ,
10841091 'dy_zeta' : dy_zeta ,
1092+ 'dpy_zeta' : dpy_zeta ,
10851093 'betx1' : betx1 ,
10861094 'bety1' : bety1 ,
10871095 'betx2' : betx2 ,
0 commit comments