#ifndef LHAPDFfw_H #define LHAPDFfw_H // Forward declarations of signatures of Fortran // intermediate wrapper functions. #include "LHAPDF/FortranWrappers.h" extern "C" { #define fgetprefixpath FC_FUNC(getprefixpath, GETPREFIXPATH) void fgetprefixpath(char*, int len); #define fgetindexpath FC_FUNC(getindexpath, GETINDEXPATH) void fgetindexpath(char*, int len); #define fgetdirpath FC_FUNC(getdirpath, GETDIRPATH) void fgetdirpath(char*, int len); #define finitlhapdf FC_FUNC(initlhapdf, INITLHAPDF) void finitlhapdf(); #define fgetlhapdfversion FC_FUNC(getlhapdfversion, GETLHAPDFVERSION) void fgetlhapdfversion(char*, int len); #define fgetmaxnumsets FC_FUNC(getmaxnumsets, GETMAXNUMSETS) void fgetmaxnumsets(int* len); #define finitpdfset FC_FUNC(finitpdfset, FINITPDFSET) void finitpdfset(char*, int len); #define finitpdfsetbyname FC_FUNC(finitpdfsetbyname, FINITPDFSETBYNAME) void finitpdfsetbyname(char*, int len); #define finitpdf FC_FUNC(finitpdf, FINITPDF) void finitpdf(int*); #define fevolvepdf FC_FUNC(fevolvepdf, FEVOLVEPDF) void fevolvepdf(double*, double *, double*); #define fevolvepdfp FC_FUNC(fevolvepdfp, FEVOLVEPDFP) void fevolvepdfp(double*, double *, double*, int*, double*); #define fevolvepdfa FC_FUNC(fevolvepdfa, FEVOLVEPDFA) void fevolvepdfa(double*, double *, double *, double*); #define fevolvepdfphoton FC_FUNC(fevolvepdfphoton, FEVOLVEPDFPHOTON) void fevolvepdfphoton(double*, double *, double*, double*); #define fhasphoton FC_FUNC(fhasphoton, FHASPHOTON) void fhasphoton(int*); #define fnumberpdf FC_FUNC(fnumberpdf, FNUMBERPDF) void fnumberpdf(int*); #define falphaspdf FC_FUNC(falphaspdf, FALPHASPDF) void falphaspdf(double*, double *); #define fgetorderpdf FC_FUNC(fgetorderpdf, FGETORDERPDF) void fgetorderpdf(int*); #define fgetorderas FC_FUNC(fgetorderas, FGETORDERAS) void fgetorderas(int*); #define fgetdesc FC_FUNC(fgetdesc, FGETDESC) void fgetdesc(); #define fgetqmass FC_FUNC(fgetqmass, FGETQMASS) void fgetqmass(int*, double*); #define fgetthreshold FC_FUNC(fgetthreshold, FGETTHRESHOLD) void fgetthreshold(int*, double*); #define fgetnf FC_FUNC(fgetnf, FGETNF) void fgetnf(int*); #define fgetlam4 FC_FUNC(fgetlam4, FGETLAM4) void fgetlam4(int*, double*); #define fgetlam5 FC_FUNC(fgetlam5, FGETLAM5) void fgetlam5(int*, double*); #define fgetxmin FC_FUNC(fgetxmin, FGETXMIN) void fgetxmin(int*, double*); #define fgetxmax FC_FUNC(fgetxmax, FGETXMAX) void fgetxmax(int*, double*); #define fgetq2min FC_FUNC(fgetq2min, FGETQ2MIN) void fgetq2min(int*, double*); #define fgetq2max FC_FUNC(fgetq2max, FGETQ2MAX) void fgetq2max(int*, double*); #define fgetminmax FC_FUNC(fgetminmax, FGETMINMAX) void fgetminmax(int*, double*, double*, double*, double*); #define fextrapolate FC_FUNC(fextrapolate, FEXTRAPOLATE) void fextrapolate(); // v5 subroutines for multiple set initialization #define finitpdfsetm FC_FUNC(finitpdfsetm, FINITPDFSETM) void finitpdfsetm(int*, char*, int len); #define finitpdfsetbynamem FC_FUNC(finitpdfsetbynamem, FINITPDFSETBYNAMEM) void finitpdfsetbynamem(int*, char*, int len); #define finitpdfm FC_FUNC(finitpdfm, FINITPDFM) void finitpdfm(int*, int*); #define fevolvepdfm FC_FUNC(fevolvepdfm, FEVOLVEPDFM) void fevolvepdfm(int*, double*, double *, double*); #define fevolvepdfpm FC_FUNC(fevolvepdfpm, FEVOLVEPDFPM) void fevolvepdfpm(int*, double*, double *, double*, int*, double*); #define fevolvepdfam FC_FUNC(fevolvepdfam, FEVOLVEPDFAM) void fevolvepdfam(int*, double*, double *, double *, double*); #define fevolvepdfphotonm FC_FUNC(fevolvepdfphotonm, FEVOLVEPDFPHOTONM) void fevolvepdfphotonm(int*, double*, double *, double*, double*); #define fnumberpdfm FC_FUNC(fnumberpdfm, FNUMBERPDFM) void fnumberpdfm(int*, int*); #define falphaspdfm FC_FUNC(falphaspdfm, FALPHASPDFM) void falphaspdfm(int*, double*, double *); #define fgetorderpdfm FC_FUNC(fgetorderpdfm, FGETORDERPDFM) void fgetorderpdfm(int*, int*); #define fgetorderasm FC_FUNC(fgetorderasm, FGETORDERASM) void fgetorderasm(int*, int*); #define fgetdescm FC_FUNC(fgetdescm, FGETDESCM) void fgetdescm(int*); #define fgetqmassm FC_FUNC(fgetqmassm, FGETQMASSM) void fgetqmassm(int*, int*, double*); #define fgetthresholdm FC_FUNC(fgetthresholdm, FGETTHRESHOLDM) void fgetthresholdm(int*, int*, double*); #define fgetnfm FC_FUNC(fgetnfm, FGETNFM) void fgetnfm(int*, int*); #define fgetlam4m FC_FUNC(fgetlam4m, FGETLAM4M) void fgetlam4m(int*, int*, double*); #define fgetlam5m FC_FUNC(fgetlam5m, FGETLAM5M) void fgetlam5m(int*, int*, double*); #define fgetxminm FC_FUNC(fgetxminm, FGETXMINM) void fgetxminm(int*, int*, double*); #define fgetxmaxm FC_FUNC(fgetxmaxm, FGETXMAXM) void fgetxmaxm(int*, int*, double*); #define fgetq2minm FC_FUNC(fgetq2minm, FGETQ2MINM) void fgetq2minm(int*, int*, double*); #define fgetq2maxm FC_FUNC(fgetq2maxm, FGETQ2MAXM) void fgetq2maxm(int*, int*, double*); #define fgetminmaxm FC_FUNC(fgetminmaxm, FGETMINMAXM) void fgetminmaxm(int*, int*, double*, double*, double*, double*); #define fextrapolateon FC_FUNC(fextrapolateon, FEXTRAPOLATEON) void fextrapolateon(); #define fextrapolateoff FC_FUNC(fextrapolateoff, FEXTRAPOLATEOFF) void fextrapolateoff(); #define fsilent FC_FUNC(fsilent, FSILENT) void fsilent(); #define flowkey FC_FUNC(flowkey, FLOWKEY) void flowkey(); #define fdefaultverb FC_FUNC(fdefaultverb, FDEFAULTVERB) void fdefaultverb(); #define fsetpdfpath FC_FUNC(fsetpdfpath, FSETPDFPATH) void fsetpdfpath(char*, int len); #define fsetlhaparm FC_FUNC(setlhaparm, SETLHAPARM) void fsetlhaparm(char*, int len); } #endif