From c7d840c600fbc890ce4c6d9d4495e462feed330c Mon Sep 17 00:00:00 2001 From: gubaidulinvadim <gubaidulinvadim@gmail.com> Date: Tue, 4 Jun 2024 16:27:01 +0200 Subject: [PATCH] Bunch.cs_invariant(self) takes into account nonzero dispersion --- mbtrack2/tracking/particles.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mbtrack2/tracking/particles.py b/mbtrack2/tracking/particles.py index 4c3934b..939f476 100644 --- a/mbtrack2/tracking/particles.py +++ b/mbtrack2/tracking/particles.py @@ -293,11 +293,13 @@ class Bunch: Return the average Courant-Snyder invariant of each plane. """ - Jx = (self.ring.optics.local_gamma[0] * self['x']**2) + \ - (2*self.ring.optics.local_alpha[0] * self['x'])*self['xp'] + \ + xb = self['x'] - self['delta'] * self.ring.optics.local_dispersion[0] + yy = self['y'] - self['delta'] * self.ring.optics.local_dispersion[2] + Jx = (self.ring.optics.local_gamma[0] * xb**2) + \ + (2*self.ring.optics.local_alpha[0] *xb)*self['xp'] + \ (self.ring.optics.local_beta[0] * self['xp']**2) - Jy = (self.ring.optics.local_gamma[1] * self['y']**2) + \ - (2*self.ring.optics.local_alpha[1] * self['y']*self['yp']) + \ + Jy = (self.ring.optics.local_gamma[1] * yb**2) + \ + (2*self.ring.optics.local_alpha[1] * yb*self['yp']) + \ (self.ring.optics.local_beta[1] * self['yp']**2) Js = (self.ring.long_gamma * self['tau']**2) + \ (2*self.ring.long_alpha * self['tau']*self['delta']) + \ -- GitLab