11 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
15 parameter(ksusy1=1000000,ksusy2=2000000,ktechn=3000000,
16 &kexcit=4000000,kdimen=5000000)
19 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
20 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
21 common/pyctag/nct,mct(4000,2)
24 dimension ns(2),pts(2),pls(2)
27 IF((medit.GE.0.AND.medit.LE.3).OR.medit.EQ.5)
THEN
29 IF(mstu(2).GT.0) imax=mstu(2)
31 DO 110
i=
max(1,mstu(1)),imax
32 IF(
k(
i,1).EQ.0.OR.(
k(
i,1).GE.21.AND.
k(
i,1).LE.40)) goto 110
34 IF(
k(
i,1).GT.10.AND.
k(
i,1).NE.41.AND.
k(
i,1).NE.42) goto 110
35 ELSEIF(medit.EQ.2)
THEN
36 IF(
k(
i,1).GT.10.AND.
k(
i,1).NE.41.AND.
k(
i,1).NE.42) goto 110
38 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
39 & kc.EQ.18.OR.
k(
i,2).EQ.ksusy1+22.OR.
k(
i,2).EQ.39.OR.
40 &
k(
i,2).EQ.ksusy1+39) goto 110
41 ELSEIF(medit.EQ.3)
THEN
42 IF(
k(
i,1).GT.10.AND.
k(
i,1).NE.41.AND.
k(
i,1).NE.42) goto 110
45 IF(kchg(kc,2).EQ.0.AND.
pychge(
k(
i,2)).EQ.0) goto 110
46 ELSEIF(medit.EQ.5)
THEN
47 IF(
k(
i,1).EQ.13.OR.
k(
i,1).EQ.14.OR.
k(
i,1).EQ.52) goto 110
50 IF(
k(
i,1).GT.10.AND.
k(
i,1).NE.41.AND.
k(
i,1).NE.42.AND.
51 & kchg(kc,2).EQ.0) goto 110
64 IF(
i1.LT.
n) mstu(70)=0
68 ELSEIF(medit.GE.11.AND.medit.LE.15)
THEN
71 k(
i,3)=mod(
k(
i,3),mstu(5))
72 IF(medit.EQ.11.AND.
k(
i,1).LT.0) goto 120
73 IF(medit.EQ.12.AND.
k(
i,1).EQ.0) goto 120
74 IF(medit.EQ.13.AND.(
k(
i,1).EQ.11.OR.
k(
i,1).EQ.12.OR.
75 &
k(
i,1).EQ.15.OR.
k(
i,1).EQ.51).AND.
k(
i,2).NE.94) goto 120
76 IF(medit.EQ.14.AND.(
k(
i,1).EQ.13.OR.
k(
i,1).EQ.14.OR.
77 &
k(
i,1).EQ.52.OR.
k(
i,2).EQ.94)) goto 120
78 IF(medit.EQ.15.AND.
k(
i,1).GE.21.AND.
k(
i,1).LE.40) goto 120
85 IF(
k(
i,1).LE.0.OR.(
k(
i,1).GE.21.AND.
k(
i,1).LE.40).OR.
86 &
k(
i,3)/mstu(5).EQ.0) goto 140
88 130 im=mod(
k(
id,3),mstu(5))
89 IF(medit.EQ.13.AND.im.GT.0.AND.im.LE.
n)
THEN
90 IF((
k(im,1).EQ.11.OR.
k(im,1).EQ.12.OR.
k(im,1).EQ.15.OR.
91 &
k(im,1).EQ.51).AND.
k(im,2).NE.94)
THEN
95 ELSEIF(medit.EQ.14.AND.im.GT.0.AND.im.LE.
n)
THEN
96 IF(
k(im,1).EQ.13.OR.
k(im,1).EQ.14.OR.
k(im,1).EQ.52.OR.
102 k(
i,3)=mstu(5)*(
k(
i,3)/mstu(5))
103 IF(im.NE.0)
k(
i,3)=
k(
i,3)+
k(im,3)/mstu(5)
104 IF(
k(
i,1).NE.3.AND.
k(
i,1).NE.13.AND.
k(
i,1).NE.14.AND.
105 &
k(
i,1).NE.42.AND.
k(
i,1).NE.52)
THEN
106 IF(
k(
i,4).GT.0.AND.
k(
i,4).LE.mstu(4))
k(
i,4)=
107 &
k(
k(
i,4),3)/mstu(5)
108 IF(
k(
i,5).GT.0.AND.
k(
i,5).LE.mstu(4))
k(
i,5)=
109 &
k(
k(
i,5),3)/mstu(5)
111 kcm=mod(
k(
i,4)/mstu(5),mstu(5))
112 IF(kcm.GT.0.AND.kcm.LE.mstu(4).AND.
k(
i,1).NE.42.AND.
113 &
k(
i,1).NE.52) kcm=
k(kcm,3)/mstu(5)
114 kcd=mod(
k(
i,4),mstu(5))
115 IF(kcd.GT.0.AND.kcd.LE.mstu(4)) kcd=
k(kcd,3)/mstu(5)
116 k(
i,4)=mstu(5)**2*(
k(
i,4)/mstu(5)**2)+mstu(5)*kcm+kcd
117 kcm=mod(
k(
i,5)/mstu(5),mstu(5))
118 IF(kcm.GT.0.AND.kcm.LE.mstu(4)) kcm=
k(kcm,3)/mstu(5)
119 kcd=mod(
k(
i,5),mstu(5))
120 IF(kcd.GT.0.AND.kcd.LE.mstu(4)) kcd=
k(kcd,3)/mstu(5)
121 k(
i,5)=mstu(5)**2*(
k(
i,5)/mstu(5)**2)+mstu(5)*kcm+kcd
130 IF(
k(
i,3)/mstu(5).EQ.0) goto 170
140 k(
i1,3)=mod(
k(
i1,3),mstu(5))
142 IF(
i.EQ.mstu(90+iz))
THEN
145 paru(90+mstu(90))=paru(90+iz)
149 IF(
i1.LT.
n) mstu(3)=0
150 IF(
i1.LT.
n) mstu(70)=0
154 ELSEIF(medit.EQ.16)
THEN
156 IF(
k(
i,1).LE.10.OR.(
k(
i,1).GE.21.AND.
k(
i,1).LE.50)) goto 220
157 IF(
k(
i,4).NE.0.OR.
k(
i,5).NE.0) goto 220
160 IF(
k(
i1,3).NE.
i)
THEN
161 ELSEIF(
k(
i,4).EQ.0)
THEN
167 IF(
k(
i,5).EQ.0)
k(
i,5)=
k(
i,4)
168 IF(
k(
i,4).NE.0) goto 220
171 IF(im.LE.0.OR.im.GE.
i) goto 220
172 IF(
k(im,1).LE.20.OR.
k(im,1).GT.30) goto 220
173 IF(
k(im,2).NE.
k(
i,2).OR.abs(
p(im,5)-
p(
i,5)).GT.1d-2) goto 220
175 IF(
k(
i1,3).NE.im)
THEN
176 ELSEIF(
k(
i,4).EQ.0)
THEN
182 IF(
k(
i,5).EQ.0)
k(
i,5)=
k(
i,4)
183 IF(
k(
i,4).NE.0) goto 220
189 IF(
k(
i1,3).EQ.im.AND.
k(
i1,1).GE.21.AND.
k(
i1,1).LE.30)
THEN
195 IF(
k(
i1,3).NE.id1.AND.
k(
i1,3).NE.id2)
THEN
196 ELSEIF(
k(
i,4).EQ.0)
THEN
202 IF(
k(
i,5).EQ.0)
k(
i,5)=
k(
i,4)
206 ELSEIF(medit.EQ.21)
THEN
207 IF(2*
n.GE.mstu(4))
THEN
208 CALL
pyerrm(11,
'(PYEDIT:) no more memory left in PYJETS')
221 ELSEIF(medit.EQ.22)
THEN
232 ELSEIF(medit.EQ.23)
THEN
237 IF(
k(kh,1).GE.21.AND.
k(kh,1).LE.30) kh=0
241 IF(
k(
i,1).GE.11.AND.
k(
i,1).LE.20)
k(
i,1)=
k(
i,1)-10
242 IF(
k(
i,1).GE.51.AND.
k(
i,1).LE.60)
k(
i,1)=
k(
i,1)-10
247 ELSEIF(medit.EQ.31.OR.medit.EQ.32)
THEN
249 &
p(mstu(61),2)),0d0,0d0,0d0)
251 &
p(mstu(61),1)),0d0,0d0,0d0,0d0)
253 &
p(mstu(61)+1,2)),0d0,0d0,0d0)
254 IF(medit.EQ.31)
RETURN
263 IF(
k(
i,1).LE.0.OR.
k(
i,1).GT.10) goto 300
264 IF(mstu(41).GE.2)
THEN
266 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
267 & kc.EQ.18.OR.
k(
i,2).EQ.ksusy1+22.OR.
k(
i,2).EQ.39.OR.
268 &
k(
i,2).EQ.ksusy1+39) goto 300
269 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(
k(
i,2))
274 pts(is)=pts(is)+sqrt(
p(
i,1)**2+
p(
i,2)**2)
276 IF(ns(1)*pts(2)**2.LT.ns(2)*pts(1)**2)
277 & CALL
pyrobo(1,
n+mstu(3),paru(1),0d0,0d0,0d0,0d0)
281 IF(
p(
i,3).GE.0d0) goto 310
282 IF(
k(
i,1).LE.0.OR.
k(
i,1).GT.10) goto 310
283 IF(mstu(41).GE.2)
THEN
285 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
286 & kc.EQ.18.OR.
k(
i,2).EQ.ksusy1+22.OR.
k(
i,2).EQ.39.OR.
287 &
k(
i,2).EQ.ksusy1+39) goto 310
288 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(
k(
i,2))
292 pls(is)=pls(is)-
p(
i,3)
294 IF(pls(2).GT.pls(1)) CALL
pyrobo(1,
n+mstu(3),0d0,paru(1),