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