@@ -741,11 +741,14 @@ M.sbend_kick = \el,m,lw -> M.curex_kick(el,m,lw,true) ; --
741
741
742
742
-- TKT [INTER_STREX] ----------------------------------------------------------o
743
743
744
- function M.rbend_thick_new (elm, m, lw) -- [SPAR] -- checked
744
+
745
+ local function rbend_thick_new (elm, m, lw) -- [SPAR] -- checked
745
746
m.atdebug(elm, m, lw, 'rbend_thick:0')
746
747
747
748
local el, eld, knl, beam, T in m
748
- local ld, k0 = (eld or el)*lw, knl[1]/abs(el)
749
+ -- local ld, k0 = (eld or el)*lw, knl[1]/abs(el)
750
+ local l, ld, k0 = el*lw, (eld or el)*lw, knl[1]/abs(eld)
751
+ local lw = (el/eld)*lw
749
752
local beta, k0q, k0lq = beam.beta, k0*beam.charge, knl[1]*lw*beam.charge
750
753
751
754
for i=1,m.npar do
@@ -762,11 +765,12 @@ function M.rbend_thick_new (elm, m, lw) -- [SPAR] --
762
765
local xi = px*_ptt
763
766
local zeta = npx*_ptt
764
767
local xtd = xi*sqrt(1-zeta^2) + zeta*sqrt(1-xi^2)
765
- local xt = ld *(2*px - k0lq)*_ptt^2 / xtd
768
+ local xt = l *(2*px - k0lq)*_ptt^2 / xtd
766
769
local dxs = asinc(xt*k0q)*xt
767
770
771
+ -- MAD.dbg()
768
772
-- eq. 129 in Forest06 with modif. from Sagan
769
- m[i].x = x + ld *(2*px - k0lq) / (pz+pzs)
773
+ m[i].x = x + l *(2*px - k0lq) / (pz+pzs)
770
774
m[i].px = npx
771
775
m[i].y = y + dxs*py
772
776
m[i].t = t - dxs*(1/beta+pt) + (1-T)*ld/beta
@@ -775,11 +779,12 @@ function M.rbend_thick_new (elm, m, lw) -- [SPAR] --
775
779
m.atdebug(elm, m, lw, 'rbend_thick:1')
776
780
end
777
781
778
- function M.rbend_thick (elm, m, lw) -- [SPAR] -- checked
782
+ local function rbend_thick_old (elm, m, lw) -- [SPAR] -- checked
779
783
m.atdebug(elm, m, lw, 'rbend_thick:0')
780
784
781
785
local el, eld, knl, beam, T in m
782
- local ld, k0 = (eld or el)*lw, knl[1]/abs(el)
786
+ local ld, k0 = (eld or el)*lw, knl[1]/abs(eld)
787
+ local lw = (el/eld)*lw
783
788
local beta, k0q, k0lq = beam.beta, k0*beam.charge, knl[1]*lw*beam.charge
784
789
785
790
for i=1,m.npar do
@@ -805,7 +810,14 @@ function M.rbend_thick (elm, m, lw) -- [SPAR] --
805
810
m.atdebug(elm, m, lw, 'rbend_thick:1')
806
811
end
807
812
808
- M.rbend_kick = \el,m,lw -> M.strex_kick(el,m,lw,true) -- checked
813
+ if new_bend_thick then
814
+ M.rbend_thick = rbend_thick_new
815
+ else
816
+ M.rbend_thick = rbend_thick_old
817
+ end
818
+
819
+ M.rbend_strex = \el,m,lw -> M.strex_kick(el,m,(m.el/m.eld)*lw)
820
+ M.rbend_kick = \el,m,lw -> M.strex_kick(el,m,lw,true) -- checked
809
821
810
822
-- TKT [INTER_TKTF] -----------------------------------------------------------o
811
823
0 commit comments