7 SUBROUTINE pyradk(ECM,MK,PAK,THEK,PHIK,ALPK)
10 IMPLICIT DOUBLE PRECISION(a-
h, o-
z)
14 common/
pydat1/mstu(200),paru(200),mstj(200),parj(200)
18 fxk(xx)=2d0*
log(xx)+parj(161)*
log(1d0-xx)+parj(162)*xx+
19 &parj(163)*
log((xx-szm)**2+szw**2)+parj(164)*atan((xx-szm)/szw)
24 IF(parj(160).LT.
pyr(0))
RETURN
29 xku=min(parj(136),1d0-(2d0*parj(127)/ecm)**2)
30 IF(mstj(102).LE.1)
THEN
31 100 xk=1d0/(1d0+(1d0/xkl-1d0)*((1d0/xku-1d0)/(1d0/xkl-1d0))**
pyr(0))
32 IF(1d0+(1d0-xk)**2.LT.2d0*
pyr(0)) goto 100
36 szm=1d0-(parj(123)/ecm)**2
37 szw=parj(123)*parj(124)/ecm**2
41 fxkr=fxkl+
pyr(0)*(fxku-fxkl)
53 IF(nxk.LT.15.AND.fxku-fxkl.GT.fxkd) goto 110
54 xk=xkl+(xku-xkl)*(fxkr-fxkl)/(fxku-fxkl)
59 pme=2d0*(
pymass(11)/ecm)**2
60 120 cthm=pme*(2d0/pme)**
pyr(0)
61 IF(1d0-(xk**2*cthm*(1d0-0.5d0*cthm)+2d0*(1d0-xk)*pme/
max(pme,
62 &cthm*(1d0-0.5d0*cthm)))/(1d0+(1d0-xk)**2).LT.
pyr(0)) goto 120
64 IF(
pyr(0).GT.0.5d0) cthe=-cthe
65 sthe=sqrt(
max(0d0,(cthm-pme)*(2d0-cthm)))
71 IF(0.5d0*(2d0-xk*(1d0-cthe))**2/((2d0-xk)**2+(xk*cthe)**2).GT.
73 alpk=asin(sgn*sthe*(xk-sgn*(2d0*sqrt(1d0-xk)-2d0+xk)*cthe)/
74 &(2d0-xk*(1d0-sgn*cthe)))