From bb8a8c63aacc799e415e315f9f472b3fc403122c Mon Sep 17 00:00:00 2001 From: Yngve Inntjore Levinsen <Yngve.Levinsen@esss.se> Date: Mon, 23 Mar 2015 19:22:54 +0100 Subject: [PATCH] added TraceWin.plt.twiss_beta,twiss_alpha --- ess/TraceWin.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ess/TraceWin.py b/ess/TraceWin.py index ff38e26..ec65f6b 100644 --- a/ess/TraceWin.py +++ b/ess/TraceWin.py @@ -350,11 +350,17 @@ class plt: self.twiss_eps.append([numpy.sqrt(numpy.linalg.det(self.sigma[j][i:i+2][:,i:i+2])) for i in (0,2,4)]) self.twiss_eps=numpy.array(self.twiss_eps) + # Calculate beta: + # This is a factor 10 different from what TraceWin plots self.twiss_beta = [[self.sigma[j][i][i]/self.twiss_eps[j,i/2] for i in (0,2,4)] for j in xrange(len(self.Nelp))] + self.twiss_beta = numpy.array(self.twiss_beta) - self.twiss_beta=numpy.array(self.twiss_beta) + # Calculate alpha: + self.twiss_alpha = [[-self.sigma[j][i][i+1]/self.twiss_eps[j,i/2] for i in (0,2,4)] for j in xrange(len(self.Nelp))] + self.twiss_alpha = numpy.array(self.twiss_alpha) - # calculate normalized emittance: + # Calculate normalized emittance: + # TODO: this is NOT correct normalization for longitudinal self.twiss_eps_normed=self.twiss_eps.copy() for i in xrange(3): self.twiss_eps_normed[:,i]*=self.gamma*self.beta -- GitLab