00001
00006 #include "cfortran.h"
00007 #include "cpointer.h"
00008
00009
00010
00011
00012 PTRTYPE lcclucreate() ;
00013 int lccludelete( PTRTYPE clu ) ;
00014
00015 int lccluid( PTRTYPE clu ) ;
00016 int lcclugettype( PTRTYPE clu ) ;
00017
00018
00019 float lcclugetenergy( PTRTYPE clu ) ;
00020 float lcclugetenergyerr( PTRTYPE clu ) ;
00021 int lcclugetposition( PTRTYPE clu, float* pos ) ;
00022 int lcclugetpositionerror( PTRTYPE clu, float* poserr ) ;
00023 float lcclugetitheta( PTRTYPE clu ) ;
00024 float lcclugetiphi( PTRTYPE clu ) ;
00025 int lcclugetdirectionerror( PTRTYPE clu, float* direrr ) ;
00026
00027
00028
00029
00030 PTRTYPE lcclugetshape( PTRTYPE clu ) ;
00031
00032 PTRTYPE lcclugetparticleids( PTRTYPE clu ) ;
00033 PTRTYPE lcclugetclusters( PTRTYPE clu ) ;
00034 PTRTYPE lcclugetcalorimeterhits( PTRTYPE clu ) ;
00035 PTRTYPE lcclugetsubdetectorenergies( PTRTYPE clu ) ;
00036
00037 int lcclusettypebit( PTRTYPE clu, int index, int val ) ;
00038 int lcclusetenergy( PTRTYPE clu, float energy ) ;
00039 int lcclusetenergyerr( PTRTYPE clu, float enerr ) ;
00040 int lcclusetposition( PTRTYPE clu, float* refpoint ) ;
00041 int lcclusetpositionerror( PTRTYPE clu, float* poserr ) ;
00042 int lcclusetitheta( PTRTYPE clu, float theta ) ;
00043 int lcclusetiphi( PTRTYPE clu, float phi ) ;
00044 int lcclusetdirectionerror( PTRTYPE clu, float* direrr ) ;
00045 int lcclusetshape( PTRTYPE clu, PTRTYPE pshapevec ) ;
00046 int lccluaddparticleid( PTRTYPE clu, PTRTYPE pid ) ;
00047 int lccluaddcluster( PTRTYPE clu, PTRTYPE clus ) ;
00048 int lccluaddhit( PTRTYPE clu, PTRTYPE calohit, float weigth ) ;
00049
00050
00051
00052 int lcclugethitcontributions( PTRTYPE clu, float* ener, int* nener ) ;
00053 int lcclusetsubdetectorenergies( PTRTYPE cluster, float* floatv, const int nfloatv ) ;
00054
00055
00056 extern "C"{
00057
00058 FCALLSCFUN0(CFORTRANPNTR, lcclucreate, LCCLUCREATE, lcclucreate )
00059 FCALLSCFUN1(INT, lccludelete, LCCLUDELETE, lccludelete, CFORTRANPNTR )
00060
00061 FCALLSCFUN1(INT, lccluid, LCCLUID, lccluid, CFORTRANPNTR)
00062 FCALLSCFUN1(INT, lcclugettype, LCCLUGETTYPE, lcclugettype, CFORTRANPNTR)
00063
00064 FCALLSCFUN1(FLOAT, lcclugetenergy, LCCLUGETENERGY, lcclugetenergy, CFORTRANPNTR)
00065 FCALLSCFUN1(FLOAT, lcclugetenergyerr, LCCLUGETENERGYERR, lcclugetenergyerr, CFORTRANPNTR)
00066 FCALLSCFUN2(INT, lcclugetposition, LCCLUGETPOSITION, lcclugetposition, CFORTRANPNTR, FLOATV)
00067 FCALLSCFUN2(INT, lcclugetpositionerror, LCCLUGETPOSITIONERROR, lcclugetpositionerror, CFORTRANPNTR, FLOATV)
00068 FCALLSCFUN1(FLOAT, lcclugetitheta, LCCLUGETITHETA, lcclugetitheta, CFORTRANPNTR)
00069 FCALLSCFUN1(FLOAT, lcclugetiphi, LCCLUGETIPHI, lcclugetiphi, CFORTRANPNTR)
00070 FCALLSCFUN2(INT, lcclugetdirectionerror, LCCLUGETDIRECTIONERROR, lcclugetdirectionerror, CFORTRANPNTR, FLOATV)
00071 FCALLSCFUN1(CFORTRANPNTR, lcclugetshape, LCCLUGETSHAPE, lcclugetshape, CFORTRANPNTR )
00072 FCALLSCFUN1(CFORTRANPNTR, lcclugetparticleids, LCCLUGETPARTICLEIDS, lcclugetparticleids, CFORTRANPNTR )
00073
00074 FCALLSCFUN1(CFORTRANPNTR, lcclugetclusters, LCCLUGETCLUSTERS, lcclugetclusters, CFORTRANPNTR)
00075 FCALLSCFUN1(CFORTRANPNTR, lcclugetcalorimeterhits, LCCLUGETCALORIMETERHITS, lcclugetcalorimeterhits, CFORTRANPNTR)
00076 FCALLSCFUN1(CFORTRANPNTR, lcclugetsubdetectorenergies, LCCLUGETSUBDETECTORENERGIES, lcclugetsubdetectorenergies, CFORTRANPNTR)
00077 FCALLSCFUN3(INT, lcclugethitcontributions, LCCLUGETHITCONTRIBUTIONS, lcclugethitcontributions, CFORTRANPNTR, FLOATV, INTV)
00078
00079 FCALLSCFUN3(INT, lcclusettypebit, LCCLUSETTYPEBIT, lcclusettypebit, CFORTRANPNTR, INT, INT)
00080 FCALLSCFUN2(INT, lcclusetenergy, LCCLUSETENERGY, lcclusetenergy, CFORTRANPNTR, FLOAT)
00081 FCALLSCFUN2(INT, lcclusetenergyerr, LCCLUSETENERGYERR, lcclusetenergyerr, CFORTRANPNTR, FLOAT)
00082 FCALLSCFUN2(INT, lcclusetposition, LCCLUSETPOSITION, lcclusetposition, CFORTRANPNTR, FLOATV)
00083 FCALLSCFUN2(INT, lcclusetpositionerror, LCCLUSETPOSITIONERROR, lcclusetpositionerror, CFORTRANPNTR, FLOATV)
00084 FCALLSCFUN2(INT, lcclusetitheta, LCCLUSETITHETA, lcclusetitheta, CFORTRANPNTR, FLOAT)
00085 FCALLSCFUN2(INT, lcclusetiphi, LCCLUSETIPHI, lcclusetiphi, CFORTRANPNTR, FLOAT)
00086 FCALLSCFUN2(INT, lcclusetdirectionerror, LCCLUSETDIRECTIONERROR, lcclusetdirectionerror, CFORTRANPNTR, FLOATV)
00087 FCALLSCFUN2(INT, lcclusetshape, LCCLUSETSHAPE, lcclusetshape, CFORTRANPNTR, CFORTRANPNTR )
00088
00089
00090
00091
00092 FCALLSCFUN2(INT, lccluaddparticleid, LCCLUADDPARTICLEID, lccluaddparticleid, CFORTRANPNTR, CFORTRANPNTR)
00093 FCALLSCFUN2(INT, lccluaddcluster, LCCLUADDCLUSTER, lccluaddcluster, CFORTRANPNTR, CFORTRANPNTR)
00094 FCALLSCFUN3(INT, lccluaddhit, LCCLUADDHIT, lccluaddhit, CFORTRANPNTR, CFORTRANPNTR, FLOAT)
00095 FCALLSCFUN3(INT, lcclusetsubdetectorenergies, LCCLUSETSUBDETECTORENERGIES, lcclusetsubdetectorenergies, CFORTRANPNTR, FLOATV, INT )
00096
00097 }
00098