/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * nuncom.inc -> nuncom.h */ #ifndef __NUNCOM__ #define __NUNCOM__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== Nuncom ===========================================================* // //----------------------------------------------------------------------* // * // NUNdis COMmon block: * // * // Created on 12 Jul 2006 by Alfredo Ferrari & Mattias Lantz * // Infn - Milan * // * // PDFVAL = Array containing all parton flavors from PDF-set * // FiNUND = Structure functions F1-F5 * // F2LG98 = Structure function for light partons in GRV98 gr98f2 * // F2CG98 = Structure function for charm quarks in GRV98 gr98f2 * // F2BG98 = Structure function for bottom quarks in GRV98 gr98f2 * // F2SG98 = Structure function for all partons in GRV98 gr98f2 * // D2SDXQ = Double diff. c.s. d^{2}\sigma/dxdQ^{2} * // D2SDXY = Double diff. c.s. d^{2}\sigma/dxdy * // GXFACT = Multiplicative factor in the g(x) function * // ENETPF = Energy threshold depending on Parton Flavours * // PENMAX = Pdf-set MAXinum limit on E * // PENMIN = Pdf-set MINinum limit on E * // PQ2MAX = Pdf-set MAXinum limit on Q2 * // PQ2MIN = Pdf-set MINinum limit on Q2 * // PXBMAX = Pdf-set MAXinum limit on X * // PXBMIN = Pdf-set MINinum limit on X * // Q02ISC = * // Q2FIXD = Fixed Q2 for certain tests * // Q2WEIG = Sampling weight for Q2 * // SCAMU2 = Mu^2 * // SCLAM2 = Lambda^2 * // SQ2MAX = upper Q2 limit for certain tests * // SQ2MIN = lower Q2 limit for certain tests * // UVDNUN = x*u_valence quark distribution * // DVDNUN = x*d_valence quark distribution * // DELNUN = x*(u_bar-d_bar) quark distribution * // UDBNUN = x*(u_bar+d_bar) quark distribution * // SBDNUN = x*s quark distribution * // GLUNUN = x*GLuon distribution * // UBDNUN = (UDBNUN-DELNUN)/2 = x*u_bar * // DBDNUN = (UDBNUN+DELNUN)/2 = x*d_bar * // UVDCHK = u_val(Q2,x) from PDF-set, used for sum-rules check * // DVDCHK = d_val(Q2,x) from PDF-set, used for sum-rules check * // W2MNHQ = Lower W2-limit for heavy quark interaction * // XBFIXD = FIXeD Bjorken X for certain tests * // XBJMAX = Maximum allowed x-value (from kinematics) * // XBJMIN = Minimum allowed x-value (from kinematics) * // XBJPUR = Saved XBJORK from NUNSTx * // XBJWEI = Sampling weight for Bjorken-x * // XMSRCH = Bjorken X in search iterations * // XSEMLA = Selected Xmax for integration of total cross section * // XSEMLI = Selected Xmin for integration of total cross section * // QSELMI = Lower limit for Q^2 if selected * // QSELMA = Upper limit for Q^2 if selected * // YINELA = Inelasticity y, fraction of lepton E-loss in labframe* // YINMIN = Minimum value for y * // YINMAX = Maximum value for y * // YPARAA = part of solution for ymin and ymax * // YPARAB = part of solution for ymin and ymax * // QRKCMA = c quark mass (GeV) * // TQSNUN = threshold multiplication factor for F2,F3 q^2 extr. * // LGPRIM = Flag for primitive function of g(x) * // LINTPC = Flag for selection in nunstX * // LINTPD = Flag for selection in nunstX * // LMOZER = Flag that pdfs had negative values * // LENMAL = Flag when neutrino energy is beyond PDF-boundaries * // LENMIL = Flag when neutrino energy is beyond PDF-boundaries * // LQ2MAL = Flag when Q2 is beyond PDF-boundaries * // LQ2MIL = Flag when Q2 is beyond PDF-boundaries * // LXBMAL = Flag when Bjorken x is beyond PDF-boundaries * // LXBMIL = Flag when Bjorken x is beyond PDF-boundaries * // LYIMAL = Flag when y is above alloved limit (near 1) * // LYIMIL = Flag when y is below alloved limit (near 0) * // MFIPRT = Array for which parton flavors should be sampled * // ICNCID = selects CC or NC interaction * // IFICLC = 0: No Fi-calculation, = 1: Calculate F1-F5 * // IF1COR = selects which kind of F1-correction * // IMATTI = Flag for written output on fort.77 (for development) * // INLOGL = Selection of linear or logarithmic step length * // INUCID = selects kind of nucleon (p/n/N/random) * // INTRDX = number of re-attempts of integrating over Bjorken-x * // INTRDQ = number of re-attempts of integrating over Q2 * // IPDFID = selects which PDF-set to use * // IQ2EXP = selects kind of Q2-extrapolation * // IQ2SAM = selects kind of Q2-sampling * // ISETUN = Flag for pdf-set in GRV98 * // ISIMID = selects which kind of calculation * // IXCORR = selects which kind of x-correction * // JBBSPD = J in BBSPDF, identifies parton flavour * // NENMAL = Counter when neutrino energy is above PDF-set E-limit* // NENMIL = Counter when neutrino energy is below PDF-set E-limit* // NEVTMX = number of calculated events in nunest * // NQ2MAL = Counter when Q2 is above PDF-set Q2-limit * // NQ2MIL = Counter when Q2 is below PDF-set Q2-limit * // NXBMAL = Counter when Bjorken x is above PDF-set X-limit * // NXBMIL = Counter when Bjorken x is below PDF-set X-limit * // NYIMAL = Counter when y is above allowed limit (near 1) * // NYIMIL = Counter when y is below allowed limit (near 0) * // NUNSIL = plots sampling function for x. 0 = off, 1 = on * // IQSNUN = select the structure function extrapolation algorithm* // for q^2 < q^2_min * // ICXNUN = select the charm quark XBjork treatment option * // * //----------------------------------------------------------------------* // const double BOSMAW = 80.385E+00; const double BOSMW2 = BOSMAW*BOSMAW; const double BOSMAZ = 91.1876E+00; const double BOSMZ2 = BOSMAZ*BOSMAZ; const double QRKCM1 = 1.35E+00; const double QRKCM2 = 1.4E+00; const double QRKBMA = 4.5E+00; // const double QRKTMA = 172.7E+00; // extern struct { double pdfval[26]; double a1nund; double a2nund; double a3nund; double d2sdxq; double d2sdxy; double enetpf; double enetp1; double enetp2; double f1nund; double f2nund; double f3nund; double f4nund; double f5nund; double f2lg98; double f2cg98; double f2bg98; double f2sg98; double gxfqro; double gxfact; double penmax; double penmin; double pq2max; double pq2min; double pxbmax; double pxbmin; double prfmax; double prfmin; double prxmax; double prxmin; double q02isc; double q2fixd; double q2fuma; double q2fumi; double q2weig; double qselmi; double qselma; double scamu2; double sclam2; double sq2min; double sq2max; double uvdnun; double dvdnun; double delnun; double udbnun; double sbdnun; double glunun; double ubdnun; double dbdnun; double uvdchk; double dvdchk; double w2mnhq; double xbfixd; double xbjmax; double xbjmin; double xbjpur; double xbjwei; double xmsrch; double xsemla; double xsemli; double yinela; double yinmax; double yinmin; double yparaa; double yparab; double costhc; double elllab; double costhl; double plmonk; double cxplnk; double cyplnk; double czplnk; double qrkcma; double tqsnun; logical lgprim; logical lintpc; logical lintpd; logical lintpe; logical lintpf; logical lmozer; logical lenmal; logical lenmil; logical lq2mal; logical lq2mil; logical lxbmal; logical lxbmil; logical lyimal; logical lyimil; int mfiprt[26]; int icncid; int if1cor; int ificlc; int imatti; int inlogl; int inucid; int intrdx; int intrdq; int ipdfid; int iq2exp; int iq2sam; int irdcid; int isimid; int isetun; int ixsamp; int ixacnt; int ixcorr; int jbbspd; int jxsamp; int jxycnt; int jxqcnt; int jxwcnt; int nenmal; int nenmil; int nq2mal; int nq2mil; int nxbmal; int nxbmil; int nyimal; int nyimil; int nunsil; int nevtmx; int ibreak; int iqsnun; int icxnun; } nuncom_; #ifdef __cplusplus } #endif #endif