Skip to content

Commit 3252733

Browse files
committed
add subelements to dumpseq
1 parent 906eb52 commit 3252733

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/madl_sequence.mad

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,7 +1694,7 @@ local function dumpseq (seq, filnam_, info_)
16941694
-- header
16951695
res[1] = 'sequence: ' .. seq.name .. ', ' ..
16961696
'l=' .. (seq.l == uninitialized and 'uninitialized' or seq.l)
1697-
res[2] = 'idx kind flg name l dl \z
1697+
res[2] = 'idx kind flg name l dl \z
16981698
spos upos uds'
16991699
if info_ then
17001700
eal0 = {dx=0, dy=0, ds=0, dtheta=0, dphi=0, dpsi=0}
@@ -1704,17 +1704,24 @@ local function dumpseq (seq, filnam_, info_)
17041704

17051705
-- elements
17061706
seq:foreach \e,i =>
1707-
local ds, uds = seq:ds(i), seq:upos(i)-seq:spos(i)
1708-
local dl = ds-e.l
1709-
res[#res+1] = string.format('%04d %-14s %-3d %-20s%9.3f%8.3g%s%11.3f%11.3f%8.3f%s',
1710-
i, e.kind, e:get_flags(), e.name, e.l, dl, abs(dl) > eps and '*' or ' ',
1711-
seq:spos(i), seq:upos(i), uds, (uds<0 or uds>ds) and '*' or '')
1707+
local ds, up, sp = seq:ds(i), seq:upos(i), seq:spos(i)
1708+
local dl, uds = ds-e.l, up-sp
1709+
res[#res+1] = string.format('%04d %-14s %-3d %-20s%9.3f%9.3g%11.3f%11.3f%8.3f%s',
1710+
i, e.kind, e:get_flags(), e.name, e.l, dl, sp, up, uds,
1711+
(uds<0 or uds>ds) and '*' or '')
17121712
if info_ then
17131713
local eal = seq:align(i) or eal0
17141714
res[#res] = res[#res] ..
17151715
string.format('%11.4f%11.4f%11.4f%11.4f%11.4f%11.4f',
17161716
eal.dx, eal.dy, eal.ds, eal.dtheta, eal.dphi, eal.dpsi)
17171717
end
1718+
for is=1,#e do
1719+
local es = e[is]
1720+
local el = es.sat*e.l
1721+
local sp = sp+el
1722+
res[#res+1] = string.format(' >%02d %-14s %-3d %-18s%9.3f%9s%11.3f%11s%8s',
1723+
is, es.kind, es:get_flags(), es.name, es.l, '-', sp, '-', '-')
1724+
end
17181725
end
17191726

17201727
-- return result as a string

0 commit comments

Comments
 (0)