56 SUBROUTINE parpolnew (ISET, X, Q2, U, D, UB, DB, ST,GL,G1P,G1N)
57 IMPLICIT DOUBLE PRECISION (a-h,o-
z)
59 dimension xuf(nx,nq), xdf(nx,nq), xubf(nx,nq), xdbf(nx,nq),
60 1 xsf(nx,nq), xgf(nx,nq), xg1p(nx,nq), xg1n(nx,nq),
62 3 na(narg), arrf(nx+nq)
63 COMMON / intini / iini
64 SAVE xuf, xdf, xubf, xdbf, xsf, xgf, xg1p, xg1n, na, arrf
66 DATA qs / 0.8d0, 1.0d0, 1.25d0, 1.5d0, 2.d0, 2.5d0,
67 1 4.0d0, 6.4d0, 1.0d1, 1.5d1, 2.5d1, 4.0d1, 6.4d1,
68 2 1.0d2, 1.8d2, 3.2d2, 5.8d2, 1.0d3, 1.8d3,
69 3 3.2d3, 5.8d3, 1.0d4, 1.8d4, 3.2d4, 5.8d4,
70 4 1.0d5, 1.8d5, 3.2d5, 5.8d5, 1.0d6 /
72 1 1.
d-4, 1.5
d-4, 2.2
d-4, 3.2
d-4, 4.8
d-4, 7.
d-4,
73 2 1.
d-3, 1.5
d-3, 2.2
d-3, 3.2
d-3, 4.8
d-3, 7.
d-3,
74 3 1.
d-2, 1.5
d-2, 2.2
d-2, 3.2
d-2, 5.0
d-2, 7.5
d-2,
75 4 0.1, 0.125, 0.15, 0.175, 0.2, 0.225, 0.25, 0.275,
76 5 0.3, 0.325, 0.35, 0.375, 0.4, 0.45, 0.5, 0.55,
77 6 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 1.0 /
82 IF ( (
x.LT.1.0
d-6) .OR. (
x.GT.1.0d0) )
THEN
84 91
FORMAT (2
x,
'PARTON INTERPOLATION: X OUT OF RANGE')
88 IF ( (q2.LT.0.8d0) .OR. (q2.GT.1.d6) )
THEN
90 92
FORMAT (2
x,
'PARTON INTERPOLATION: Q2 OUT OF RANGE')
104 IF (iini.NE.0) goto 16
108 ELSE IF (iset.EQ.2)
THEN
111 ELSE IF (iset.EQ.3)
THEN
114 ELSE IF (iset.EQ.4)
THEN
119 93
FORMAT (2
x,
'PARTON INTERPOLATION: ISET OUT OF RANGE')
125 READ(iiread,90)
parton(1,
n,m),
parton(2,
n,m),
parton(3,
n,m),
128 90
FORMAT (8(1pe12.4))
138 xuf(ix,iq) =
parton(1,iq,ix) / (xb1**3 * xb0)
139 xdf(ix,iq) =
parton(2,iq,ix) / (xb1**4 * xb0)
140 xubf(ix,iq) =
parton(3,iq,ix) / (xb1**8 * xb0**0.5)
141 xdbf(ix,iq) =
parton(4,iq,ix) / (xb1**8 * xb0**0.5)
142 xsf(ix,iq) =
parton(5,iq,ix) / (xb1**8 * xb0**0.5)
143 xgf(ix,iq) =
parton(6,iq,ix) / (xb1**5 * xb0**2.)
144 xg1p(ix,iq) =
parton(7,iq,ix) / xb1**3
145 xg1n(ix,iq) =
parton(8,iq,ix) / xb1**3
159 arrf(ix) = dlog(
xb(ix))
162 arrf(nx+iq) = dlog(qs(iq))
168 u =
dfintnew(narg,xt,na,arrf,xuf) * (1.d0-
x)**3 *
x
169 d =
dfintnew(narg,xt,na,arrf,xdf) * (1.d0-
x)**4 *
x
170 ub =
dfintnew(narg,xt,na,arrf,xubf) * (1.d0-
x)**8 *
x**0.5
171 db =
dfintnew(narg,xt,na,arrf,xdbf) * (1.d0-
x)**8 *
x**0.5
172 st =
dfintnew(narg,xt,na,arrf,xsf) * (1.d0-
x)**8 *
x**0.5
173 gl =
dfintnew(narg,xt,na,arrf,xgf) * (1.d0-
x)**5 *
x**2.
174 g1p =
dfintnew(narg,xt,na,arrf,xg1p) * (1.d0-
x)**3
175 g1n =
dfintnew(narg,xt,na,arrf,xg1n) * (1.d0-
x)**3