1 subroutine GSG96evolvep0(xin,qin,p2in,ip2in,pdf)
2 include 'parmsetup.inc'
3 real*8 xin,qin,q2in,p2in,pdf(-6:6),xval(45),qcdl4,qcdl5
4 real*8 upv,dnv,usea,dsea,str,chm,bot,top,glu
6 common/gsgdat/SIG(78,11,3),QNS(78,11,3),GL(78,11,3)
7 character*16 name(nmxset)
8 integer nmem(nmxset),ndef(nmxset),mmem
9 common/NAME/name,nmem,ndef,mmem
15 call GS96HL(iimem,xin,qin,upv,dnv,str,chm,bot,glu)
34 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
35 entry GSG96evolvep1(xin,qin,p2in,ip2in,pdf)
38 call GS96HL(iimem,xin,qin,upv,dnv,str,chm,bot,glu)
57 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
59 read(1,*)nmem(nset),ndef(nset)
63 read(1,*)(sig(k,j,m),j=1,4)
64 read(1,*)(sig(k,j,m),j=5,8)
65 read(1,*)(sig(k,j,m),j=9,11)
68 read(1,*)(qns(k,j,m),j=1,4)
69 read(1,*)(qns(k,j,m),j=5,8)
70 read(1,*)(qns(k,j,m),j=9,11)
73 read(1,*)(gl(k,j,m),j=1,4)
74 read(1,*)(gl(k,j,m),j=5,8)
75 read(1,*)(gl(k,j,m),j=9,11)
80 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
81 entry GSG96alfa(alfas,qalfa)
83 call getnmem(iset,imem)
84 call GetOrderAsM(iset,iord)
85 call Getlam4M(iset,imem,qcdl4)
86 call Getlam5M(iset,imem,qcdl5)
87 call aspdflib(alfas,Qalfa,iord,qcdl5)
90 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
91 entry GSG96init(Eorder,Q2fit)
94 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
97 call setnmem(iset,mem)
103 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
104 c SUBROUTINE GS96HO(X,Q,U,D,S,C,B,G)
105 SUBROUTINE GS96HL(iset,X,Q,U,D,S,C,B,G)
106 implicit real*8 (a-h,o-z)
107 PARAMETER(NP=78,NQ=11,NARG=2)
108 *****************************************************************
109 * Subroutine returns the parton distributions in the photon in *
110 * next-to-leading order. u,d etc. gives the actual distributions*
111 * not x times the distributions; Q2 means Q^2. The distributions*
112 * are valid for 5.0e^-4< x < 1.0 and 5.3 GeV^2 < Q^2 < 1.0e^8. *
113 * if higher Q^2 or lower x is required, these may be obtained *
114 * from the authors on request. *
115 * Lionel Gordon April 1996 : Gordon@hep.anl.gov *
116 * John Storrow :johns@a3.ph.man.ac.uk *
117 *****************************************************************
118 c DIMENSION SIG(NP,NQ),QNS(NP,NQ),GL(NP,NQ),Y(NP)
120 DIMENSION XT(NARG),NA(NARG),A(NP+NQ),QT(NQ)
121 common/gsgdat/SIG(78,11,3),QNS(78,11,3),GL(78,11,3)
123 c SAVE SIG,QNS,GL,Y,ICALL
125 DATA QT /3.0D0,20.0D0,50.0D0,100.0D0,500.0D0,1.0D3,1.0D4,1.0D5,
127 ******************************************************************
129 *if x is out of range
130 IF((X.LT.5.0D-4).OR.(X.GT.1.0D0)) GOTO 90
131 *******************************************************************
133 * get the x coordinates
149 XSIG=DBFINT(2,XT,NA,A,SIG(1,1,iset))
150 XQNS=DBFINT(2,XT,NA,A,QNS(1,1,iset))
151 G =DBFINT(2,XT,NA,A,GL(1,1,iset))
153 IF (Q2.LT.50.0D0) THEN
154 C Use three flavour evolution.
155 U=(XSIG+9.0D0*XQNS)/6.0D0
156 D=(XSIG-4.5D0*XQNS)/6.0D0
161 ELSE IF((Q2.GT.50.0).AND.(Q2.LT.250.0)) THEN
162 C Use four flavour evolution
163 U=(XSIG+6.0D0*XQNS)/8.0D0
164 D=(XSIG-6.0D0*XQNS)/8.0D0
169 C Use five flavour evolution
170 U=(XSIG+7.5D0*XQNS)/10.0D0
171 D=(XSIG-5.0D0*XQNS)/10.0D0
186 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
187 SUBROUTINE GS2XCOR(Y,NP)
188 IMPLICIT REAL*8(A-H,O-Z)
192 Y(N)=DBLE(IX)/2000.0D0
196 Y(N)=DBLE(IX)/2000.0D0
200 Y(N)=REAL(IX)/2000.0D0
203 DO 40 IX=1625,1980,25
204 Y(N)=REAL(IX)/2000.0D0
209 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc