10 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
15 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
16 common/
pydat2/kchg(500,4),pmas(500,4),parf(2000),vckm(4,4)
17 common/
pydat3/mdcy(500,3),mdme(8000,2),brat(8000),kfdp(8000,5)
19 common/
pyint4/mwid(500),wids(500,5)
22 dimension
ps(2,6),ijoin(100)
26 IF(mstu(12).NE.12345) CALL
pylist(0)
32 IF(mstu(17).LE.0) mstu(90)=0
43 IF(
k(
i,1).LE.0.OR.
k(
i,1).GT.10) goto 130
56 IF(mwid(kc).NE.0.AND.kchg(kc,2).NE.0) CALL
pyresd(
i)
62 IF(
mint(51).NE.0)
RETURN
70 IF(
k(ip,1).GT.0.AND.
k(ip,1).LE.10) kc=
pycomp(
k(ip,2))
75 ELSEIF(mwid(kc).NE.0)
THEN
77 IF(kchg(kc,2).NE.0.AND.
k(
i,1).NE.3)
THEN
80 IF(ibeg.GE.2.AND.
k(ibeg,1).EQ.2) goto 170
81 IF(
k(ibeg,1).NE.2) ibeg=ibeg+1
84 IF(iend.LT.
n.AND.
k(iend,1).EQ.2) goto 180
85 IF(iend.LT.
n.AND.kchg(
pycomp(
k(iend,2)),2).EQ.0) goto 180
88 IF(kchg(
pycomp(
k(iend,2)),2).NE.0)
THEN
96 IF(
mint(51).NE.0)
RETURN
100 ELSEIF(kchg(kc,2).EQ.0)
THEN
101 IF(mstj(21).GE.1.AND.mdcy(kc,1).GE.1.AND.(mstj(51).LE.0.OR.mbe
102 & .EQ.2.OR.pmas(kc,2).GE.parj(91).OR.iabs(
k(ip,2)).EQ.311))
106 IF(mstj(92).GT.0)
THEN
108 qmax=sqrt(
max(0d0,(
p(ip1,4)+
p(ip1+1,4))**2-(
p(ip1,1)+
p(ip1+1,
109 & 1))**2-(
p(ip1,2)+
p(ip1+1,2))**2-(
p(ip1,3)+
p(ip1+1,3))**2))
111 CALL
pyshow(ip1,ip1+1,qmax)
113 IF(
mint(51).NE.0)
RETURN
115 ELSEIF(mstj(92).LT.0)
THEN
120 IF(
mint(51).NE.0)
RETURN
125 ELSEIF(
k(ip,1).EQ.1.OR.
k(ip,1).EQ.2)
THEN
127 IF(mfrag.GE.1.AND.
k(ip,1).EQ.1) mfrag=2
128 IF(mstj(21).GE.2.AND.
k(ip,1).EQ.2.AND.
n.GT.ip)
THEN
129 IF(
k(ip+1,1).EQ.1.AND.
k(ip+1,3).EQ.
k(ip,3).AND.
130 &
k(ip,3).GT.0.AND.
k(ip,3).LT.ip)
THEN
131 IF(kchg(
pycomp(
k(
k(ip,3),2)),2).EQ.0) mfrag=min(1,mfrag)
134 IF(mfrag.EQ.1) CALL
pystrf(ip)
135 IF(mfrag.EQ.2) CALL
pyindf(ip)
136 IF(mfrag.EQ.2.AND.
k(ip,1).EQ.1) mcons=0
137 IF(mfrag.EQ.2.AND.(mstj(3).LE.0.OR.mod(mstj(3),5).EQ.0)) mcons=0
141 IF(mstu(24).NE.0.AND.mstu(21).GE.2)
THEN
142 ELSEIF(ip.LT.
n.AND.
n.LT.mstu(4)-20-mstu(32))
THEN
145 CALL
pyerrm(11,
'(PYEXEC:) no more memory left in PYJETS')
149 IF(mbe.EQ.1.AND.mstj(51).GE.1)
THEN
156 IF(
k(
i,1).LE.0.OR.
k(
i,1).GT.10) goto 210
162 pdev=(abs(
ps(2,1)-
ps(1,1))+abs(
ps(2,2)-
ps(1,2))+abs(
ps(2,3)-
163 &
ps(1,3))+abs(
ps(2,4)-
ps(1,4)))/(1d0+abs(
ps(2,4))+abs(
ps(1,4)))
164 IF(mcons.EQ.1.AND.pdev.GT.paru(11)) CALL
pyerrm(15,
165 &
'(PYEXEC:) four-momentum was not conserved')
166 IF(mcons.EQ.1.AND.abs(
ps(2,6)-
ps(1,6)).GT.0.1d0) CALL
pyerrm(15,
167 &
'(PYEXEC:) charge was not conserved')