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)
24 ptlrat=1d0/sinh(paru(51))**2
28 IF(
k(
i,1).LE.0.OR.
k(
i,1).GT.10) goto 110
29 IF(
p(
i,1)**2+
p(
i,2)**2.LE.ptlrat*
p(
i,3)**2) goto 110
30 IF(mstu(41).GE.2)
THEN
32 IF(kc.EQ.0.OR.kc.EQ.12.OR.kc.EQ.14.OR.kc.EQ.16.OR.
33 & kc.EQ.18.OR.
k(
i,2).EQ.ksusy1+22.OR.
k(
i,2).EQ.39.OR.
34 &
k(
i,2).EQ.ksusy1+39) goto 110
35 IF(mstu(41).GE.3.AND.kchg(kc,2).EQ.0.AND.
pychge(
k(
i,2)).EQ.0)
39 pt=sqrt(
p(
i,1)**2+
p(
i,2)**2)
41 ieta=
max(1,min(mstu(51),1+int(mstu(51)*0.5d0*
42 & (
eta/paru(51)+1d0))))
44 iphi=
max(1,min(mstu(52),1+int(mstu(52)*0.5d0*
45 & (
phi/paru(1)+1d0))))
46 ietph=mstu(52)*ieta+iphi
50 IF(ietph.EQ.
k(ic,3))
THEN
56 IF(nc.GE.mstu(4)-mstu(32)-5)
THEN
57 CALL
pyerrm(11,
'(PYCELL:) no more memory left in PYJETS')
65 p(nc,1)=(paru(51)/mstu(51))*(2*ieta-1-mstu(51))
66 p(nc,2)=(paru(1)/mstu(52))*(2*iphi-1-mstu(52))
71 IF(mstu(53).GE.1)
THEN
74 IF(mstu(53).EQ.2) pei=
p(ic,5)*cosh(
p(ic,1))
75 120 pef=pei+paru(55)*sqrt(-2d0*
log(
max(1d-10,
pyr(0)))*pei)*
77 IF(pef.LT.0d0.OR.pef.GT.paru(56)*pei) goto 120
79 IF(mstu(53).EQ.2)
p(ic,5)=pef/cosh(
p(ic,1))
84 IF(paru(58).GT.0d0)
THEN
88 IF(
p(ic,5).GT.paru(58))
THEN
104 IF(
k(ic,5).NE.2) goto 160
105 IF(
p(ic,5).LE.etmax) goto 160
111 IF(etmax.LT.paru(52)) goto 220
112 IF(nj.GE.mstu(4)-mstu(32)-5)
THEN
113 CALL
pyerrm(11,
'(PYCELL:) no more memory left in PYJETS')
129 IF(
k(ic,5).EQ.0) goto 170
130 IF(abs(
p(ic,1)-
eta).GT.paru(54)) goto 170
131 dphia=abs(
p(ic,2)-
phi)
132 IF(dphia.GT.paru(54).AND.dphia.LT.paru(2)-paru(54)) goto 170
134 IF(dphia.GT.paru(1)) phic=phic+
sign(paru(2),
phi)
135 IF((
p(ic,1)-
eta)**2+(phic-
phi)**2.GT.paru(54)**2) goto 170
137 k(nj,4)=
k(nj,4)+
k(ic,4)
138 p(nj,3)=
p(nj,3)+
p(ic,5)*
p(ic,1)
139 p(nj,4)=
p(nj,4)+
p(ic,5)*phic
140 p(nj,5)=
p(nj,5)+
p(ic,5)
144 IF(
p(nj,5).LT.paru(53))
THEN
147 IF(
k(ic,5).LT.0)
k(ic,5)=-
k(ic,5)
149 ELSEIF(mstu(54).LE.2)
THEN
150 p(nj,3)=
p(nj,3)/
p(nj,5)
151 p(nj,4)=
p(nj,4)/
p(nj,5)
152 IF(abs(
p(nj,4)).GT.paru(1))
p(nj,4)=
p(nj,4)-
sign(paru(2),
155 IF(
k(ic,5).LT.0)
k(ic,5)=0
162 IF(
k(ic,5).GE.0) goto 210
163 p(nj,1)=
p(nj,1)+
p(ic,5)*cos(
p(ic,2))
164 p(nj,2)=
p(nj,2)+
p(ic,5)*sin(
p(ic,2))
165 p(nj,3)=
p(nj,3)+
p(ic,5)*sinh(
p(ic,1))
166 p(nj,4)=
p(nj,4)+
p(ic,5)*cosh(
p(ic,1))
176 IF(
k(ij,5).EQ.0) goto 230
177 IF(
p(ij,5).LT.etmax) goto 230
195 IF(mstu(54).EQ.2)
THEN
204 ELSEIF(mstu(54).GE.3)
THEN
206 p(
i,5)=sqrt(
max(0d0,
p(
i,4)**2-
p(
i,1)**2-
p(
i,2)**2-
p(
i,3)**2))
214 IF(mstu(43).LE.1) mstu(3)=
max(0,njet)
215 IF(mstu(43).GE.2)
n=
n+
max(0,njet)