c a simple fortran wrapper around LHAPDFv2,3 for easy interfacing c to g++ c by Stefan Gieseke 2004 c adapted for LHAPDFv4 by Mike Whalley c adapted for LHAPDFv5 by Craig Group/Mike Whalley c subroutine finitpdfset(name) character name*200 call InitPDFset(name) end c subroutine finitpdfsetm(nset,name) character name*200 integer nset call InitPDFsetM(nset,name) end c subroutine finitpdfsetbyname(name) character name*200 call InitPDFsetByName(name) end c subroutine finitpdfsetbynameM(nset,name) character name*200 integer nset call InitPDFsetByNameM(nset,name) end c subroutine finitpdf(mem) integer mem call InitPDF(mem) end c subroutine finitpdfM(nset,mem) integer nset,mem call InitPDFM(nset,mem) end c subroutine fnumberpdf(set) integer set call numberPDF(set) end c subroutine fnumberpdfM(nset,set) integer nset,set call numberPDFM(nset,set) end c subroutine fevolvepdf(x,Q,f) real*8 x,Q real*8 f(-6:6) call evolvePDF(x,Q,f) end c subroutine fevolvepdfm(nset,x,Q,f) real*8 x,Q real*8 f(-6:6) integer nset call evolvePDFM(nset,x,Q,f) end c subroutine fevolvepdfp(x,Q,P2,ip,f) real*8 x,Q,P2 real*8 f(-6:6) integer ip call evolvePDFp(x,Q,P2,ip,f) end c subroutine fevolvepdfpM(nset,x,Q,P2,ip,f) real*8 x,Q,P2 real*8 f(-6:6) integer ip,nset call evolvePDFpM(nset,x,Q,P2,ip,f) end c subroutine fevolvepdfa(x,Q,a,f) real*8 x,Q,a real*8 f(-6:6) call evolvePDFa(x,Q,a,f) end c subroutine fevolvepdfaM(nset,x,Q,a,f) real*8 x,Q,a real*8 f(-6:6) integer nset call evolvePDFaM(nset,x,Q,a,f) end c subroutine fevolvepdfphoton(x,Q,f,photon) real*8 x,Q,photon real*8 f(-6:6) call evolvePDFphoton(x,Q,f,photon) end c subroutine fevolvepdfphotonM(nset,x,Q,f,photon) real*8 x,Q,photon real*8 f(-6:6) integer nset call evolvePDFphotonM(nset,x,Q,f,photon) end c subroutine falphaspdfm(nset,Q,ans) real*8 ans,Q integer nset ans=alphasPDFM(nset,Q) end c subroutine falphaspdf(Q,ans) real*8 ans,Q ans=alphasPDF(Q) end c subroutine fgetorderpdf(order) integer order call getorderpdf(order) end c subroutine fgetorderpdfm(nset,order) integer nset,order call getorderpdfM(nset,order) end c subroutine fgetorderas(order) integer order call getorderas(order) end c subroutine fgetorderasm(nset,order) integer nset,order call getorderasm(nset,order) end c subroutine fgetdesc() call getdesc() end c subroutine fgetdescm(nset) integer nset call getdescm(nset) end c subroutine fgetqmass(nf,mass) integer nf real*8 mass call getqmass(nf,mass) end c subroutine fgetqmassm(nset,nf,mass) integer nset,nf real*8 mass call getqmassm(nset,nf,mass) end c subroutine fgetthreshold(nf,Q) integer nf real*8 Q call getthreshold(nf,Q) end c subroutine fgetthresholdm(nset,nf,Q) integer nset,nf real*8 Q call getthresholdm(nset,nf,Q) end c subroutine fgetnf(nfmax) integer nfmax call getnf(nfmax) end c subroutine fgetnfm(nset,nfmax) integer nset,nfmax call getnfm(nset,nfmax) end c subroutine fgetlam4(mem,xlam4) integer mem real*8 xlam4 call getlam4(mem,xlam4) end c subroutine fgetlam4m(nset,mem,xlam4) integer nset,mem real*8 xlam4 call getlam4m(nset,mem,xlam4) end c subroutine fgetlam5(mem,xlam5) integer mem real*8 xlam5 call getlam5(mem,xlam5) end c subroutine fgetlam5m(nset,mem,xlam5) integer nset,mem real*8 xlam5 call getlam5m(nset,mem,xlam5) end c subroutine fgetXmin(mem,xmin) integer mem real*8 xmin call getXmin(mem,xmin) end c subroutine fgetXmax(mem,xmax) integer mem real*8 xmax call getXmax(mem,xmax) end c subroutine fgetQ2min(mem,q2min) integer mem real*8 q2min call getQ2min(mem,q2min) end c subroutine fgetQ2max(mem,q2max) integer mem real*8 q2max call getQ2max(mem,q2max) end c subroutine fgetXminM(nset,mem,xmin) integer nset,mem real*8 xmin call getXminM(nset,mem,xmin) end c subroutine fgetXmaxM(nset,mem,xmax) integer nset,mem real*8 xmax call getXmaxM(nset,mem,xmax) end c subroutine fgetQ2minM(nset,mem,q2min) integer nset,mem real*8 q2min call getQ2minM(nset,mem,q2min) end c subroutine fgetQ2maxM(nset,mem,q2max) integer nset,mem real*8 q2max call getQ2maxM(nset,mem,q2max) end c subroutine fgetMinMax(mem,xmin,xmax,q2min,q2max) integer mem real*8 xmin,xmax,q2min,q2max call getMinMax(mem,xmin,xmax,q2min,q2max) end c subroutine fgetMinMaxM(nset,mem,xmin,xmax,q2min,q2max) integer nset,mem real*8 xmin,xmax,q2min,q2max call getMinMaxM(nset,mem,xmin,xmax,q2min,q2max) end c subroutine fextrapolate() call SetLHAPARM('EXTRAPOLATE') end