00001 #ifndef AGILE_FPHOJETWRAPPER_HH 00002 #define AGILE_FPHOJETWRAPPER_HH 00003 00004 #include <ctype.h> 00005 #include "AGILe/FortranWrappers.hh" 00006 00007 extern "C" { 00008 #define FC_PYHEPC FC_FUNC(pyhepc, PYHEPC) 00009 void FC_PYHEPC(int*); 00010 #define FC_PYINIT FC_FUNC(pyinit, PYINIT) 00011 void FC_PYINIT(const char*,const char*,const char*,double*,int,int,int); 00012 #define FC_PYGIVE FC_FUNC(pygive, PYGIVE) 00013 void FC_PYGIVE(const char*,int); 00014 #define FC_PYLIST FC_FUNC(pylist, PYLIST) 00015 void FC_PYLIST(int*); 00016 #define FC_PYSTAT FC_FUNC(pystat, PYSTAT) 00017 void FC_PYSTAT(int*); 00018 #define FC_PYEVNT FC_FUNC(pyevnt, PYEVNT) 00019 void FC_PYEVNT(); 00020 #define FC_UPINIT FC_FUNC(upinit, UPINIT) 00021 void FC_UPINIT(); 00022 #define FC_UPEVNT FC_FUNC(upevnt, UPENVT) 00023 void FC_UPEVNT(); 00024 #define FC_INITPYDATA FC_FUNC(initpydata, INITPYDATA) 00025 void FC_INITPYDATA(); 00026 #define FC_PHO_SETPAR FC_FUNC(pho_setpar, PHO_SETPAR) 00027 void FC_PHO_SETPAR(int*,int*,int*,double*); 00028 #define FC_PHO_INIT FC_FUNC(pho_init, PHO_INIT) 00029 void FC_PHO_INIT(int*,int*); 00030 #define FC_PHO_EVENT FC_FUNC(pho_event, PHO_EVENT) 00031 void FC_PHO_EVENT(int*,double*,double*,double*,int*); 00032 #define FC_PHO_HEPEVT FC_FUNC(pho_hepevt, PHO_HEPEVT) 00033 void FC_PHO_HEPEVT(); 00034 #define FC_PHO_RNDIN FC_FUNC(pho_rndin, PHO_RNDIN) 00035 void FC_PHO_RNDIN(int*,int*,int*,int*); 00036 } 00037 00038 // Define methods to hide the subtle syntax necessary to call Fortran from C++ 00039 void call_pyhepc(int mode); 00040 void call_pyinit(const char* frame, const char* beam, const char* target, double win); 00041 void call_pygive(const char* frame ); 00042 void call_pylist(int mode); 00043 void call_pystat(int mode); 00044 void call_pyevnt(); 00045 void call_pho_setpar(int i,int id ,int mode ,double val); 00046 void call_pho_init(int mode ,int irej); 00047 void call_pho_event(int mode, double p1, double p2, double sig, int irej); 00048 void call_pho_hepevt(); 00049 void call_pho_rndin(int rndm1,int rndm2,int rndm3, int rndm4); 00050 #endif