00001
00006 #include "cfortran.h"
00007 #include "cpointer.h"
00008
00009
00010
00011
00012 PTRTYPE lcmcpcreate() ;
00013 int lcmcpdelete( PTRTYPE mcparticle ) ;
00014 int lcmcpgetnumberofparents( PTRTYPE mcparticle ) ;
00015 PTRTYPE lcmcpgetparent( PTRTYPE mcparticle , int i ) ;
00016
00017 PTRTYPE lcmcpgetdaughter( PTRTYPE mcparticle, int i ) ;
00018 int lcmcpgetendpoint( PTRTYPE mcparticle, double* ep) ;
00019 int lcmcpgetnumberofdaughters( PTRTYPE mcparticle ) ;
00020 int lcmcpgetpdg( PTRTYPE mcparticle ) ;
00021 int lcmcpgetgeneratorstatus( PTRTYPE mcparticle ) ;
00022 int lcmcpgetsimulatorstatus( PTRTYPE mcparticle ) ;
00023 int lcmcpgetvertex( PTRTYPE mcparticle, double* vtx ) ;
00024 float lcmcpgettime( PTRTYPE mcparticle ) ;
00025 int lcmcpgetmomentum( PTRTYPE mcparticle, double* p) ;
00026 double lcmcpgetmass( PTRTYPE mcparticle ) ;
00027 float lcmcpgetcharge( PTRTYPE mcparticle ) ;
00028 double lcmcpgetenergy( PTRTYPE mcparticle ) ;
00029 int lcmcpgetspin( PTRTYPE mcparticle, float* spin ) ;
00030 int lcmcpgetcolorflow( PTRTYPE mcparticle, int* cflow ) ;
00031
00032 int lcmcpaddparent( PTRTYPE mcparticle, PTRTYPE parent ) ;
00033
00034
00035 int lcmcpsetpdg( PTRTYPE mcparticle, int pdg ) ;
00036 int lcmcpsetgeneratorstatus( PTRTYPE mcparticle, int status ) ;
00037 int lcmcpsetsimulatorstatus( PTRTYPE mcparticle, int status ) ;
00038 int lcmcpsetvertex( PTRTYPE mcparticle, double vtx[3] ) ;
00039 int lcmcpsetendpoint( PTRTYPE mcparticle, double pnt[3] ) ;
00040 int lcmcpsetmomentum( PTRTYPE mcparticle, float p[3] );
00041 int lcmcpsetmass( PTRTYPE mcparticle, float m) ;
00042 int lcmcpsetcharge( PTRTYPE mcparticle, float c ) ;
00043 int lcmcpsetspin( PTRTYPE mcparticle, float spin[3] ) ;
00044 int lcmcpsetcolorflow( PTRTYPE mcparticle, int cflow[2] ) ;
00045
00046
00047 extern "C"{
00048 FCALLSCFUN0(CFORTRANPNTR, lcmcpcreate,LCMCPCREATE, lcmcpcreate )
00049 FCALLSCFUN1(INT, lcmcpdelete, LCMCPDELETE, lcmcpdelete, CFORTRANPNTR )
00050
00051 FCALLSCFUN1(INT, lcmcpgetnumberofparents, LCMCPGETNUMBEROFPARENTS, lcmcpgetnumberofparents, CFORTRANPNTR )
00052 FCALLSCFUN2(CFORTRANPNTR, lcmcpgetparent, LCMCPGETPARENT, lcmcpgetparent, CFORTRANPNTR , INT)
00053
00054 FCALLSCFUN2(CFORTRANPNTR, lcmcpgetdaughter,lcmcpgetdaughter,lcmcpgetdaughter, CFORTRANPNTR, INT )
00055 FCALLSCFUN2(INT, lcmcpgetendpoint,LCMCPGETENDPOINT,lcmcpgetendpoint, CFORTRANPNTR, DOUBLEV )
00056 FCALLSCFUN1(INT, lcmcpgetnumberofdaughters, LCMCPGETNUMBEROFDAUGHTERS, lcmcpgetnumberofdaughters, CFORTRANPNTR )
00057 FCALLSCFUN1(INT, lcmcpgetpdg,LCMCPGETPDG, lcmcpgetpdg, CFORTRANPNTR )
00058 FCALLSCFUN1(INT, lcmcpgetgeneratorstatus, LCMCPGETGENERATORSTATUS, lcmcpgetgeneratorstatus, CFORTRANPNTR )
00059 FCALLSCFUN1(INT, lcmcpgetsimulatorstatus, LCMCPGETSIMULATORSTATUS, lcmcpgetsimulatorstatus, CFORTRANPNTR )
00060 FCALLSCFUN2(INT, lcmcpgetvertex,LCMCPGETVERTEX,lcmcpgetvertex, CFORTRANPNTR, DOUBLEV )
00061 FCALLSCFUN1(FLOAT, lcmcpgettime, LCMCPGETTIME, lcmcpgettime, CFORTRANPNTR )
00062 FCALLSCFUN2(INT, lcmcpgetmomentum,LCMCPGETMOMENTUM,lcmcpgetmomentum, CFORTRANPNTR, DOUBLEV )
00063 FCALLSCFUN1(DOUBLE, lcmcpgetmass, LCMCPGETMASS, lcmcpgetmass, CFORTRANPNTR )
00064 FCALLSCFUN1(FLOAT, lcmcpgetcharge,LCMCPGETCHARGE,lcmcpgetcharge, CFORTRANPNTR )
00065 FCALLSCFUN1(DOUBLE, lcmcpgetenergy, LCMCPGETENERGY, lcmcpgetenergy, CFORTRANPNTR )
00066 FCALLSCFUN2(INT, lcmcpgetspin, LCMCPGETSPIN, lcmcpgetspin, CFORTRANPNTR, FLOATV)
00067 FCALLSCFUN2(INT, lcmcpgetcolorflow, LCMCPGETCOLORFLOW, lcmcpgetcolorflow, CFORTRANPNTR, INTV)
00068
00069
00070 FCALLSCFUN2(INT, lcmcpaddparent,LCMCPADDPARENT,lcmcpaddparent, CFORTRANPNTR, CFORTRANPNTR )
00071
00072
00073 FCALLSCFUN2(INT, lcmcpsetpdg,LCMCPSETPDG,lcmcpsetpdg, CFORTRANPNTR, INT )
00074 FCALLSCFUN2(INT, lcmcpsetgeneratorstatus,LCMCPSETGENERATORSTATUS,lcmcpsetgeneratorstatus, CFORTRANPNTR, INT )
00075 FCALLSCFUN2(INT, lcmcpsetsimulatorstatus,LCMCPSETSIMULATORSTATUS,lcmcpsetsimulatorstatus, CFORTRANPNTR, INT )
00076 FCALLSCFUN2(INT, lcmcpsetvertex,LCMCPSETVERTEX,lcmcpsetvertex, CFORTRANPNTR, DOUBLEV )
00077 FCALLSCFUN2(INT, lcmcpsetendpoint,LCMCPSETENDPOINT,lcmcpsetendpoint, CFORTRANPNTR, DOUBLEV )
00078 FCALLSCFUN2(INT, lcmcpsetmomentum,LCMCPSETMOMENTUM,lcmcpsetmomentum, CFORTRANPNTR, FLOATV )
00079 FCALLSCFUN2(INT, lcmcpsetmass,LCMCPSETMASS,lcmcpsetmass, CFORTRANPNTR, FLOAT )
00080 FCALLSCFUN2(INT, lcmcpsetcharge, LCMCPSETCHARGE, lcmcpsetcharge, CFORTRANPNTR, FLOAT )
00081 FCALLSCFUN2(INT, lcmcpsetspin, LCMCPSETSPIN, lcmcpsetspin, CFORTRANPNTR, FLOATV)
00082 FCALLSCFUN2(INT, lcmcpsetcolorflow, LCMCPSETCOLORFLOW, lcmcpsetcolorflow, CFORTRANPNTR, INTV)
00083 }
00084