00001 #ifndef AGILE_FPHOJETWRAPPER62_HH 00002 #define AGILE_FPHOJETWRAPPER62_HH 00003 00004 // Wrapper for FORTRAN version of Phojet 00006 00007 #include <ctype.h> 00008 #include <cstring> 00009 #include "AGILe/Phojet/PhojetWrapper.hh" 00010 00011 00012 extern "C" { 00013 00014 #define FC_PYJETS FC_FUNC(pyjets, PYJETS) 00015 const int pyjets_maxn = 4000; 00016 extern struct { 00017 int n, npad, k[5][pyjets_maxn]; 00018 double p[5][pyjets_maxn], v[5][pyjets_maxn]; 00019 } FC_PYJETS; 00020 00021 00022 #define FC_PYDAT1 FC_FUNC(pydat1, PYDAT1) 00023 extern struct { 00024 int mstu[200]; 00025 double paru[200]; 00026 int mstj[200]; 00027 double parj[200]; 00028 } FC_PYDAT1; 00029 00030 00031 #define FC_PYDAT2 FC_FUNC(pydat2, PYDAT2) 00032 extern struct { 00033 int kchg[4][500]; 00034 double pmas[4][500], parf[2000], vckm[4][4]; 00035 } FC_PYDAT2; 00036 00037 00038 #define FC_PYDAT3 FC_FUNC(pydat3, PYDAT3) 00039 extern struct { 00040 int mdcy[3][500], mdme[2][8000]; 00041 double brat[8000]; 00042 int kfdp[5][8000]; 00043 } FC_PYDAT3; 00044 00045 00046 #define FC_PYDATR FC_FUNC(pydatr, PYDATR) 00047 extern struct { 00048 int mrpy[6]; 00049 double rrpy[100]; 00050 } FC_PYDATR; 00051 00052 00053 #define FC_PYSUBS FC_FUNC(pysubs, PYSUBS) 00054 extern struct { 00055 int msel, mselpd, msub[500], kfin[81][2]; 00056 double ckin[200]; 00057 } FC_PYSUBS; 00058 00059 00060 #define FC_PYPARS FC_FUNC(pypars, PYPARS) 00061 extern struct { 00062 int mstp[200]; 00063 double parp[200]; 00064 int msti[200]; 00065 double pari[200]; 00066 } FC_PYPARS; 00067 00068 00069 #define FC_PYINT1 FC_FUNC(pyint1, PYINT1) 00070 extern struct { 00071 int mint[400]; 00072 double vint[400]; 00073 } FC_PYINT1; 00074 00075 00076 #define FC_PYINT2 FC_FUNC(pyint2, PYINT2) 00077 extern struct { 00078 int iset[500], kfpr[2][500]; 00079 double coef[20][500]; 00080 int icol[2][4][40]; // was [320] was [40][4][2] 00081 } FC_PYINT2; 00082 00083 00084 #define FC_PYINT5 FC_FUNC(pyint5, PYINT5) 00085 extern struct { 00086 int ngenpd, ngen[3][501]; 00087 double xsec[3][501]; 00088 } FC_PYINT5; 00089 00090 #define FC_POMDLS FC_FUNC(pomdls, POMDLS) 00091 extern struct { 00092 const char* mdlna[50]; 00093 int iswmdl[50]; 00094 double parmdl[400]; 00095 int ipamdl[400]; 00096 } FC_POMDLS; 00097 00098 #define FC_POPRCS FC_FUNC(poprcs, POPRCS) 00099 extern struct { 00100 int iproce; 00101 int idnodf; 00102 int idifr1; 00103 int idifr2; 00104 int iddpom; 00105 int ipron[15][4]; 00106 } FC_POPRCS; 00107 00108 #define FC_POGCMS FC_FUNC(pogcms, POGCMS) 00109 extern struct { 00110 double ecm; 00111 double pcm; 00112 double pmass[2]; 00113 double pvirt[2]; 00114 int ifpap[2]; 00115 int ifpab[2]; 00116 } FC_POGCMS; 00117 00118 #define FC_POEVT2 FC_FUNC(poevt2, POEVT2) 00119 extern struct { 00120 int impart[10000]; 00121 int iphist[2][10000]; 00122 int icolor[2][10000]; 00123 } FC_POEVT2; 00124 00125 } 00126 00127 #endif