00001 #ifndef AGILE_FPYTHIAWRAPPER_HH 00002 #define AGILE_FPYTHIAWRAPPER_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_PYTUNE FC_FUNC(pytune, PYTUNE) 00011 void FC_PYTUNE(int*); 00012 #define FC_PYINIT FC_FUNC(pyinit, PYINIT) 00013 void FC_PYINIT(const char*, const char*, const char*, double*, int, int, int); 00014 #define FC_PYGIVE FC_FUNC(pygive, PYGIVE) 00015 void FC_PYGIVE(const char*, int); 00016 #define FC_PYLIST FC_FUNC(pylist, PYLIST) 00017 void FC_PYLIST(int*); 00018 #define FC_PYSTAT FC_FUNC(pystat, PYSTAT) 00019 void FC_PYSTAT(int*); 00020 #define FC_PYEVNT FC_FUNC(pyevnt, PYEVNT) 00021 void FC_PYEVNT(); 00022 #define FC_UPINIT FC_FUNC(upinit, UPINIT) 00023 void FC_UPINIT(); 00024 #define FC_UPEVNT FC_FUNC(upevnt, UPENVT) 00025 void FC_UPEVNT(); 00026 #define FC_INITPYDATA FC_FUNC(initpydata, INITPYDATA) 00027 void FC_INITPYDATA(); 00028 00029 #define FC_LHEFOPEN FC_FUNC(openlhef, OPENLHEF) 00030 void FC_LHEFOPEN(const char*, int); 00031 } 00032 00033 // Define methods to hide the subtle syntax necessary to call Fortran from C++ 00034 void call_pyhepc(int mode); 00035 void call_pytune(int ntune); 00036 void call_pyinit(const char* frame, const char* beam, const char* target, double win); 00037 void call_pygive(const char* frame ); 00038 void call_pylist(int mode); 00039 void call_pystat(int mode); 00040 void call_pyevnt(); 00041 void call_lhefopen(const char* file); 00042 00043 #endif