00001 #ifndef AGILE_FARIADNEWRAPPER_HH 00002 #define AGILE_FARIADNEWRAPPER_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_ARTUNE FC_FUNC(artune, ARTUNE) 00027 void FC_ARTUNE(const char*,int); 00028 #define FC_ARINIT FC_FUNC(arinit, ARINIT) 00029 void FC_ARINIT(const char*,int); 00030 #define FC_AREXEC FC_FUNC(arexec, AREXEC) 00031 void FC_AREXEC(); 00032 #define FC_ARISET FC_FUNC(ariset, ARISET) 00033 void FC_ARISET(int*, float*); 00034 } 00035 00036 // Define methods to hide the subtle syntax necessary to call Fortran from C++ 00037 void call_pyhepc(int mode); 00038 void call_pyinit(const char* frame, const char* beam, const char* target, double win); 00039 void call_pygive(const char* frame ); 00040 void call_pylist(int mode); 00041 void call_pystat(int mode); 00042 void call_pyevnt(); 00043 void call_artune(const char* version); 00044 void call_arinit(const char* setup); 00045 void call_arexec(); 00046 void call_ariset(int in, float val); 00047 00048 #endif