LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
lcclu.h
1 
6 #include "cfortran.h"
7 #include "cpointer.h"
8 
9 // Warning: dont use "_" in function names as this causes two many
10 // trailing underscores on Linux
11 
12 PTRTYPE lcclucreate() ;
13 int lccludelete( PTRTYPE clu ) ;
14 
15 int lccluid( PTRTYPE clu ) ;
16 int lcclugettype( PTRTYPE clu ) ;
17 // int lcclutesttype( PTRTYPE clu , int bit ) ;
18 
19 float lcclugetenergy( PTRTYPE clu ) ;
20 float lcclugetenergyerr( PTRTYPE clu ) ;
21 int lcclugetposition( PTRTYPE clu, float* pos ) ;
22 int lcclugetpositionerror( PTRTYPE clu, float* poserr ) ;
23 float lcclugetitheta( PTRTYPE clu ) ;
24 float lcclugetiphi( PTRTYPE clu ) ;
25 int lcclugetdirectionerror( PTRTYPE clu, float* direrr ) ;
26 
27 // int lcclugetshape( PTRTYPE clu, float* shape ) ;
28 // int lcclugetparticletype( PTRTYPE clu, float* weights) ;
29 
30 PTRTYPE lcclugetshape( PTRTYPE clu ) ;
31 
32 PTRTYPE lcclugetparticleids( PTRTYPE clu ) ;
33 PTRTYPE lcclugetclusters( PTRTYPE clu ) ;
34 PTRTYPE lcclugetcalorimeterhits( PTRTYPE clu ) ;
35 PTRTYPE lcclugetsubdetectorenergies( PTRTYPE clu ) ;
36 
37 int lcclusettypebit( PTRTYPE clu, int index, int val ) ;
38 int lcclusetenergy( PTRTYPE clu, float energy ) ;
39 int lcclusetenergyerr( PTRTYPE clu, float enerr ) ;
40 int lcclusetposition( PTRTYPE clu, float* refpoint ) ;
41 int lcclusetpositionerror( PTRTYPE clu, float* poserr ) ;
42 int lcclusetitheta( PTRTYPE clu, float theta ) ;
43 int lcclusetiphi( PTRTYPE clu, float phi ) ;
44 int lcclusetdirectionerror( PTRTYPE clu, float* direrr ) ;
45 int lcclusetshape( PTRTYPE clu, PTRTYPE pshapevec ) ;
46 int lccluaddparticleid( PTRTYPE clu, PTRTYPE pid ) ;
47 int lccluaddcluster( PTRTYPE clu, PTRTYPE clus ) ;
48 int lccluaddhit( PTRTYPE clu, PTRTYPE calohit, float weigth ) ;
49 
50 // fg: these methods have no direct correspondence in the C++ API as there the vector is manipulated
51 // directly through the interface
52 int lcclugethitcontributions( PTRTYPE clu, float* ener, int* nener ) ;
53 int lcclusetsubdetectorenergies( PTRTYPE cluster, float* floatv, const int nfloatv ) ;
54 
55 // now the fortran wrappers from cfortran.h
56 extern "C"{
57 
58 FCALLSCFUN0(CFORTRANPNTR, lcclucreate, LCCLUCREATE, lcclucreate )
59 FCALLSCFUN1(INT, lccludelete, LCCLUDELETE, lccludelete, CFORTRANPNTR )
60 
61 FCALLSCFUN1(INT, lccluid, LCCLUID, lccluid, CFORTRANPNTR)
62 FCALLSCFUN1(INT, lcclugettype, LCCLUGETTYPE, lcclugettype, CFORTRANPNTR)
63 // FCALLSCFUN2(INT, lcclutesttype, LCCLUTESTTYPE,lcclutesttype, CFORTRANPNTR, INT )
64 FCALLSCFUN1(FLOAT, lcclugetenergy, LCCLUGETENERGY, lcclugetenergy, CFORTRANPNTR)
65 FCALLSCFUN1(FLOAT, lcclugetenergyerr, LCCLUGETENERGYERR, lcclugetenergyerr, CFORTRANPNTR)
66 FCALLSCFUN2(INT, lcclugetposition, LCCLUGETPOSITION, lcclugetposition, CFORTRANPNTR, FLOATV)
67 FCALLSCFUN2(INT, lcclugetpositionerror, LCCLUGETPOSITIONERROR, lcclugetpositionerror, CFORTRANPNTR, FLOATV)
68 FCALLSCFUN1(FLOAT, lcclugetitheta, LCCLUGETITHETA, lcclugetitheta, CFORTRANPNTR)
69 FCALLSCFUN1(FLOAT, lcclugetiphi, LCCLUGETIPHI, lcclugetiphi, CFORTRANPNTR)
70 FCALLSCFUN2(INT, lcclugetdirectionerror, LCCLUGETDIRECTIONERROR, lcclugetdirectionerror, CFORTRANPNTR, FLOATV)
71 FCALLSCFUN1(CFORTRANPNTR, lcclugetshape, LCCLUGETSHAPE, lcclugetshape, CFORTRANPNTR )
72 FCALLSCFUN1(CFORTRANPNTR, lcclugetparticleids, LCCLUGETPARTICLEIDS, lcclugetparticleids, CFORTRANPNTR )
73 
74 FCALLSCFUN1(CFORTRANPNTR, lcclugetclusters, LCCLUGETCLUSTERS, lcclugetclusters, CFORTRANPNTR)
75 FCALLSCFUN1(CFORTRANPNTR, lcclugetcalorimeterhits, LCCLUGETCALORIMETERHITS, lcclugetcalorimeterhits, CFORTRANPNTR)
76 FCALLSCFUN1(CFORTRANPNTR, lcclugetsubdetectorenergies, LCCLUGETSUBDETECTORENERGIES, lcclugetsubdetectorenergies, CFORTRANPNTR)
77 FCALLSCFUN3(INT, lcclugethitcontributions, LCCLUGETHITCONTRIBUTIONS, lcclugethitcontributions, CFORTRANPNTR, FLOATV, INTV)
78 
79 FCALLSCFUN3(INT, lcclusettypebit, LCCLUSETTYPEBIT, lcclusettypebit, CFORTRANPNTR, INT, INT)
80 FCALLSCFUN2(INT, lcclusetenergy, LCCLUSETENERGY, lcclusetenergy, CFORTRANPNTR, FLOAT)
81 FCALLSCFUN2(INT, lcclusetenergyerr, LCCLUSETENERGYERR, lcclusetenergyerr, CFORTRANPNTR, FLOAT)
82 FCALLSCFUN2(INT, lcclusetposition, LCCLUSETPOSITION, lcclusetposition, CFORTRANPNTR, FLOATV)
83 FCALLSCFUN2(INT, lcclusetpositionerror, LCCLUSETPOSITIONERROR, lcclusetpositionerror, CFORTRANPNTR, FLOATV)
84 FCALLSCFUN2(INT, lcclusetitheta, LCCLUSETITHETA, lcclusetitheta, CFORTRANPNTR, FLOAT)
85 FCALLSCFUN2(INT, lcclusetiphi, LCCLUSETIPHI, lcclusetiphi, CFORTRANPNTR, FLOAT)
86 FCALLSCFUN2(INT, lcclusetdirectionerror, LCCLUSETDIRECTIONERROR, lcclusetdirectionerror, CFORTRANPNTR, FLOATV)
87 FCALLSCFUN2(INT, lcclusetshape, LCCLUSETSHAPE, lcclusetshape, CFORTRANPNTR, CFORTRANPNTR )
88 // FCALLSCFUN2(INT, lcclusetemweight, LCCLUSETEMWEIGHT, lcclusetemweight, CFORTRANPNTR, FLOAT)
89 // FCALLSCFUN2(INT, lcclusethadweight, LCCLUSETHADWEIGHT, lcclusethadweight, CFORTRANPNTR, FLOAT)
90 // FCALLSCFUN2(INT, lcclusetmuonweight, LCCLUSETMUONWEIGHT, lcclusetmuonweight, CFORTRANPNTR, FLOAT)
91 
92 FCALLSCFUN2(INT, lccluaddparticleid, LCCLUADDPARTICLEID, lccluaddparticleid, CFORTRANPNTR, CFORTRANPNTR)
93 FCALLSCFUN2(INT, lccluaddcluster, LCCLUADDCLUSTER, lccluaddcluster, CFORTRANPNTR, CFORTRANPNTR)
94 FCALLSCFUN3(INT, lccluaddhit, LCCLUADDHIT, lccluaddhit, CFORTRANPNTR, CFORTRANPNTR, FLOAT)
95 FCALLSCFUN3(INT, lcclusetsubdetectorenergies, LCCLUSETSUBDETECTORENERGIES, lcclusetsubdetectorenergies, CFORTRANPNTR, FLOATV, INT )
96 
97 }
98