00001 #ifndef AGILE_FARIADNEWRAPPER62_HH 00002 #define AGILE_FARIADNEWRAPPER62_HH 00003 00005 // Pythia common block declarations 00006 // Matt.Dobbs@Cern.CH, November 2000 00007 // Version 6.200 update October 2001 00008 // Adapted by Andy Buckley, July 2006 and September 2007 00009 // Wrapper for FORTRAN version of Pythia 00011 00012 #include <ctype.h> 00013 #include <cstring> 00014 #include "AGILe/Ariadne/AriadneWrapper.hh" 00015 00016 00017 extern "C" { 00018 00019 #define FC_PYJETS FC_FUNC(pyjets, PYJETS) 00020 const int pyjets_maxn = 4000; 00021 extern struct { 00022 int n, npad, k[5][pyjets_maxn]; 00023 double p[5][pyjets_maxn], v[5][pyjets_maxn]; 00024 } FC_PYJETS; 00025 00026 00027 #define FC_PYDAT1 FC_FUNC(pydat1, PYDAT1) 00028 extern struct { 00029 int mstu[200]; 00030 double paru[200]; 00031 int mstj[200]; 00032 double parj[200]; 00033 } FC_PYDAT1; 00034 00035 00036 #define FC_PYDAT2 FC_FUNC(pydat2, PYDAT2) 00037 extern struct { 00038 int kchg[4][500]; 00039 double pmas[4][500], parf[2000], vckm[4][4]; 00040 } FC_PYDAT2; 00041 00042 00043 #define FC_PYDAT3 FC_FUNC(pydat3, PYDAT3) 00044 extern struct { 00045 int mdcy[3][500], mdme[2][8000]; 00046 double brat[8000]; 00047 int kfdp[5][8000]; 00048 } FC_PYDAT3; 00049 00050 00051 #define FC_PYDATR FC_FUNC(pydatr, PYDATR) 00052 extern struct { 00053 int mrpy[6]; 00054 double rrpy[100]; 00055 } FC_PYDATR; 00056 00057 00058 #define FC_PYSUBS FC_FUNC(pysubs, PYSUBS) 00059 extern struct { 00060 int msel, mselpd, msub[500], kfin[81][2]; 00061 double ckin[200]; 00062 } FC_PYSUBS; 00063 00064 00065 #define FC_PYPARS FC_FUNC(pypars, PYPARS) 00066 extern struct { 00067 int mstp[200]; 00068 double parp[200]; 00069 int msti[200]; 00070 double pari[200]; 00071 } FC_PYPARS; 00072 00073 00074 #define FC_PYINT1 FC_FUNC(pyint1, PYINT1) 00075 extern struct { 00076 int mint[400]; 00077 double vint[400]; 00078 } FC_PYINT1; 00079 00080 00081 #define FC_PYINT2 FC_FUNC(pyint2, PYINT2) 00082 extern struct { 00083 int iset[500], kfpr[2][500]; 00084 double coef[20][500]; 00085 int icol[2][4][40]; // was [320] was [40][4][2] 00086 } FC_PYINT2; 00087 00088 00089 #define FC_PYINT5 FC_FUNC(pyint5, PYINT5) 00090 extern struct { 00091 int ngenpd, ngen[3][501]; 00092 double xsec[3][501]; 00093 } FC_PYINT5; 00094 00095 #define FC_ARDAT1 FC_FUNC(ardat1, ARDAT1) 00096 extern struct { 00097 float para[40]; 00098 int msta[40]; 00099 } FC_ARDAT1; 00100 00101 #define FC_ARHIDE FC_FUNC(arhide, ARHIDE) 00102 extern struct { 00103 float phar[400]; 00104 int mhar[400]; 00105 } FC_ARHIDE; 00106 00107 } 00108 00109 #endif