diff --git a/ess/TraceWin.py b/ess/TraceWin.py index ff38e26ae28bc5467db85d8f508dc56ab7f93e17..ec65f6b70ba7950090e1fbb9c415f067a7e6ff26 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