LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lcvec.cc
Go to the documentation of this file.
1 #include "CPPFORT/lcvec.h"
2 #include "EVENT/LCIntVec.h"
3 #include "EVENT/LCFloatVec.h"
4 
5 using namespace EVENT ;
6 
7 // define an interface to read a LC string/int/float vector
8 
9 int lcsvcgetlength(PTRTYPE strvec){
10  LCStrVec* strVec = reinterpret_cast<LCStrVec*>(strvec) ;
11  return strVec->size() ;
12 }
13 
14 char* lcsvcgetstringat(PTRTYPE strvec, int index){
15  LCStrVec* strVec = reinterpret_cast<LCStrVec*>(strvec) ;
16  return const_cast<char*>( (*strVec)[index-1].c_str() );
17 }
18 
19 int lcivcgetlength(PTRTYPE intvec){
20  LCIntVec* intVec = reinterpret_cast<LCIntVec*>(intvec) ;
21  return intVec->size() ;
22 }
23 
24 int lcivcgetintat(PTRTYPE intvec, int index){
25  LCIntVec* intVec = reinterpret_cast<LCIntVec*>(intvec) ;
26  return (*intVec)[index-1] ;
27 }
28 
29 int lcfvcgetlength(PTRTYPE floatvec){
30  LCFloatVec* floatVec = reinterpret_cast<LCFloatVec*>(floatvec) ;
31  return floatVec->size() ;
32 }
33 
34 float lcfvcgetfloatat(PTRTYPE floatvec, int index){
35  LCFloatVec* floatVec = reinterpret_cast<LCFloatVec*>(floatvec) ;
36  return (*floatVec)[index-1] ;
37 }
38 
39 // define an interface to read a standard string/int/float vector
40 
42  StringVec* strVec = reinterpret_cast<StringVec*>(strvec) ;
43  return strVec->size() ;
44 }
45 
46 char* stringvectorgetelement(PTRTYPE strvec, int index){
47  StringVec* strVec = reinterpret_cast<StringVec*>(strvec) ;
48  return const_cast<char*>( (*strVec)[index-1].c_str() );
49 }
50 
52  IntVec* intVec = reinterpret_cast<IntVec*>(intvec) ;
53  return intVec->size() ;
54 }
55 
56 int intvectorgetelement(PTRTYPE intvec, int index){
57  IntVec* intVec = reinterpret_cast<IntVec*>(intvec) ;
58  return (*intVec)[index-1] ;
59 }
60 
62  PointerVec* pointerVec = reinterpret_cast<PointerVec*>(pointervec) ;
63  return pointerVec->size() ;
64 }
65 
66 PTRTYPE pointervectorgetelement(PTRTYPE pointervec, int index){
67  PointerVec* pointerVec = reinterpret_cast<PointerVec*>(pointervec) ;
68  return (*pointerVec)[index-1] ;
69 }
70 
72  FloatVec* floatVec = reinterpret_cast<FloatVec*>(floatvec) ;
73  return floatVec->size() ;
74 } \
75 
76 float floatvectorgetelement(PTRTYPE floatvec, int index){
77  FloatVec* floatVec = reinterpret_cast<FloatVec*>(floatvec) ;
78  return (*floatVec)[index-1] ;
79 }
80 
LCIO_DEPRECATED_CAPI int lcfvcgetlength(PTRTYPE floatvec)
Definition: lcvec.cc:29
LCIO_DEPRECATED_CAPI int floatvectorgetlength(PTRTYPE floatvec)
Definition: lcvec.cc:71
LCIO_DEPRECATED_CAPI int lcivcgetintat(PTRTYPE intvec, int index)
Definition: lcvec.cc:24
LCIO_DEPRECATED_CAPI int pointervectorgetlength(PTRTYPE intvec)
Definition: lcvec.cc:61
LCIO_DEPRECATED_CAPI int intvectorgetelement(PTRTYPE intvec, int index)
Definition: lcvec.cc:56
LCIO_DEPRECATED_CAPI int intvectorgetlength(PTRTYPE intvec)
Definition: lcvec.cc:51
LCIO_DEPRECATED_CAPI int lcivcgetlength(PTRTYPE intvec)
Definition: lcvec.cc:19
LCIO_DEPRECATED_CAPI int lcsvcgetlength(PTRTYPE strvec)
Definition: lcvec.cc:9
long PTRTYPE
Fortran interface - define the length of pointers this has to made machine independent ...
Definition: cpointer.h:12
LCIO_DEPRECATED_CAPI char * lcsvcgetstringat(PTRTYPE strvec, int index)
Definition: lcvec.cc:14
Int vector used for user extensions.
Definition: LCIntVec.h:24
Float vector used for user extensions.
Definition: LCFloatVec.h:25
LCIO_DEPRECATED_CAPI PTRTYPE pointervectorgetelement(PTRTYPE intvec, int index)
Definition: lcvec.cc:66
LCIO_DEPRECATED_CAPI float floatvectorgetelement(PTRTYPE floatvec, int index)
Definition: lcvec.cc:76
LCIO_DEPRECATED_CAPI int stringvectorgetlength(PTRTYPE strvec)
Definition: lcvec.cc:41
LCIO_DEPRECATED_CAPI char * stringvectorgetelement(PTRTYPE strvec, int index)
Definition: lcvec.cc:46
T size(T...args)
LCIO_DEPRECATED_CAPI float lcfvcgetfloatat(PTRTYPE floatvec, int index)
Definition: lcvec.cc:34
String vector used for user extensions.
Definition: LCStrVec.h:24