From be2fb42d749d82e32495a03f276e5edef25b6f0b Mon Sep 17 00:00:00 2001 From: Yngve Inntjore Levinsen <Yngve.Levinsen@esss.se> Date: Wed, 23 Mar 2016 11:39:26 +0100 Subject: [PATCH] updated TraceWin.density_file for version 9 --- ess/TraceWin.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ess/TraceWin.py b/ess/TraceWin.py index c4c9f0f..da2518b 100644 --- a/ess/TraceWin.py +++ b/ess/TraceWin.py @@ -498,12 +498,12 @@ class density_file: # in case we did not read all data, this will detect our mistake: shift=0 - while year!=2011 or version!=8: + while year!=2011 or version not in [8,9]: shift+=1 version=year year=numpy.fromfile(self.fin, dtype=numpy.int16, count=1)[0] - if shift: + print(year,version) raise ValueError("ERROR, shifted "+str(shift*2)+" bytes") self.vlong=numpy.fromfile(self.fin, dtype=numpy.int16, count=1)[0] @@ -519,9 +519,14 @@ class density_file: self._getHeader() if self.envelope: - numpy.fromfile(self.fin, dtype=numpy.int16, count=292/2) + if self.version==8: + numpy.fromfile(self.fin, dtype=numpy.int16, count=292/2) + if self.version==9: + numpy.fromfile(self.fin, dtype=numpy.int16, count=300/2) elif self.version==8: numpy.fromfile(self.fin, dtype=numpy.int16, count=12344/2) + elif self.version==9: + numpy.fromfile(self.fin, dtype=numpy.int16, count=12352/2) elif self.Nrun>1: #WARN not 100% sure if this is correct.. numpy.fromfile(self.fin, dtype=numpy.int16, count=((5588+self.Nrun*12)/2)) @@ -556,6 +561,9 @@ class density_file: # Aperture self.Xouv[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0] self.Youv[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0] + if self.version>=9: + dXouv=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0] + dYouv=numpy.fromfile(self.fin, dtype=numpy.float32, count=1)[0] step=numpy.fromfile(self.fin, dtype=numpy.int32, count=1)[0] n=7 # x [m], y[m], Phase [deg], Energy [MeV], R[m], Z[m], dp/p -- GitLab