C *********************************************************************** PROGRAM GGRID C C Two dimensional grid of spin dependent structure functions C *********************************************************************** IMPLICIT NONE INTEGER iQ,nQ,iW,nW REAL*8 x,Q2,M,W,Wmin,Wmax,Wint PARAMETER (nQ=19,nW=202) REAL*8 Qgrid(nQ), Wgrid(nW) REAL*8 xG1Pgrid(nW,nQ),xG1Ngrid(nW,nQ), & xG2Pgrid(nW,nQ),xG2Ngrid(nW,nQ) REAL*8 xg1p,Dxg1p,xg2p,Dxg2p, xg1n,Dxg1n,xg2n,Dxg2n M = 0.939D0 !GeV DO iQ=1,nQ IF (iQ.LE.10) Qgrid(iQ) = DFLOAT(iQ)/10.D0 IF (iQ.GT.10) Qgrid(iQ) = DFLOAT(iQ)-9.D0 Q2 = Qgrid(iQ) C...resonance region (M < W < 2 GeV) Wmin = M Wmax = 2.D0 !GeV Wint = (Wmax-Wmin)/100 iW = 1 DO W=Wmin,Wmax,Wint Wgrid(iW) = W x = Q2/(Q2 + W**2 - M**2) CALL G1G2P (x,Q2,xg1p,Dxg1p,xg2p,Dxg2p) CALL G1G2N (x,Q2,xg1n,Dxg1n,xg2n,Dxg2n) print *, 'R: Q2,iW,W,x,g=',sngl(q2),iw,sngl(w),sngl(x),sngl(xg1p) xG1Pgrid(iW,iQ) = xg1p xG1Ngrid(iW,iQ) = xg1n xG2Pgrid(iW,iQ) = xg2p xG2Ngrid(iW,iQ) = xg2n iW = iW + 1 ENDDO C...DIS region (2 < W < 10 GeV) Wmin = Wmax Wmax = 10.D0 !GeV Wint = (Wmax-Wmin)/100 DO W=Wmin,Wmax,Wint Wgrid(iW) = W x = Q2/(Q2 + W**2 - M**2) CALL G1G2P (x,Q2,xg1p,Dxg1p,xg2p,Dxg2p) CALL G1G2N (x,Q2,xg1n,Dxg1n,xg2n,Dxg2n) print *, 'D: Q2,iW,W,x,g=',sngl(q2),iw,sngl(w),sngl(x),sngl(xg1p) xG1Pgrid(iW,iQ) = xg1p xG1Ngrid(iW,iQ) = xg1n xG2Pgrid(iW,iQ) = xg2p xG2Ngrid(iW,iQ) = xg2n iW = iW + 1 ENDDO ENDDO c if(.true.)stop C...Write data to file OPEN (11, FILE='Ggrid.g1p', STATUS='UNKNOWN', FORM='FORMATTED') OPEN (12, FILE='Ggrid.g1n', STATUS='UNKNOWN', FORM='FORMATTED') OPEN (13, FILE='Ggrid.g2p', STATUS='UNKNOWN', FORM='FORMATTED') OPEN (14, FILE='Ggrid.g2n', STATUS='UNKNOWN', FORM='FORMATTED') WRITE (11,*) Qgrid, Wgrid, xG1Pgrid WRITE (12,*) Qgrid, Wgrid, xG1Ngrid WRITE (13,*) Qgrid, Wgrid, xG2Pgrid WRITE (14,*) Qgrid, Wgrid, xG2Ngrid CLOSE (11) CLOSE (12) CLOSE (13) CLOSE (14) WRITE (*,*) '... data written to file ...' END