/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/lcio/src/cpp/src/CPPFORT/lcvec.cc

Go to the documentation of this file.
00001 #include "CPPFORT/lcvec.h"
00002 #include "EVENT/LCIntVec.h"
00003 #include "EVENT/LCFloatVec.h"
00004 
00005 using namespace EVENT ;
00006 
00007 // define an interface to read a LC string/int/float vector
00008 
00009 int lcsvcgetlength(PTRTYPE strvec){
00010   LCStrVec* strVec = reinterpret_cast<LCStrVec*>(strvec) ;
00011   return strVec->size() ;
00012 }
00013 
00014 char* lcsvcgetstringat(PTRTYPE strvec, int index){
00015   LCStrVec* strVec = reinterpret_cast<LCStrVec*>(strvec) ;
00016   return const_cast<char*>( (*strVec)[index-1].c_str() );
00017 }
00018 
00019 int lcivcgetlength(PTRTYPE intvec){
00020   LCIntVec* intVec =  reinterpret_cast<LCIntVec*>(intvec) ;
00021   return intVec->size() ;
00022 }
00023 
00024 int lcivcgetintat(PTRTYPE intvec, int index){
00025   LCIntVec* intVec =  reinterpret_cast<LCIntVec*>(intvec) ;
00026   return (*intVec)[index-1] ;
00027 }
00028 
00029 int lcfvcgetlength(PTRTYPE floatvec){
00030   LCFloatVec* floatVec =  reinterpret_cast<LCFloatVec*>(floatvec) ;
00031   return floatVec->size() ;
00032 }
00033 
00034 float lcfvcgetfloatat(PTRTYPE floatvec, int index){
00035   LCFloatVec* floatVec =  reinterpret_cast<LCFloatVec*>(floatvec) ;
00036   return (*floatVec)[index-1] ;
00037 }
00038 
00039 // define an interface to read a standard string/int/float vector
00040 
00041 int stringvectorgetlength(PTRTYPE strvec){
00042   StringVec* strVec = reinterpret_cast<StringVec*>(strvec) ;
00043   return strVec->size() ;
00044 }
00045 
00046 char* stringvectorgetelement(PTRTYPE strvec, int index){
00047   StringVec* strVec = reinterpret_cast<StringVec*>(strvec) ;
00048   return const_cast<char*>( (*strVec)[index-1].c_str() );
00049 }
00050 
00051 int intvectorgetlength(PTRTYPE intvec){
00052   IntVec* intVec =  reinterpret_cast<IntVec*>(intvec) ;
00053   return intVec->size() ;
00054 }
00055 
00056 int intvectorgetelement(PTRTYPE intvec, int index){
00057   IntVec* intVec =  reinterpret_cast<IntVec*>(intvec) ;
00058   return (*intVec)[index-1] ;
00059 }
00060 
00061 int pointervectorgetlength(PTRTYPE pointervec){
00062   PointerVec* pointerVec =  reinterpret_cast<PointerVec*>(pointervec) ;
00063   return pointerVec->size() ;
00064 }
00065 
00066 PTRTYPE pointervectorgetelement(PTRTYPE pointervec, int index){
00067   PointerVec* pointerVec =  reinterpret_cast<PointerVec*>(pointervec) ;
00068   return (*pointerVec)[index-1] ;
00069 }
00070 
00071 int floatvectorgetlength(PTRTYPE floatvec){
00072   FloatVec* floatVec =  reinterpret_cast<FloatVec*>(floatvec) ;
00073   return floatVec->size() ;
00074 }                          \
00075 
00076 float floatvectorgetelement(PTRTYPE floatvec, int index){
00077   FloatVec* floatVec =  reinterpret_cast<FloatVec*>(floatvec) ;
00078   return (*floatVec)[index-1] ;
00079 }
00080 

Generated on Mon Jan 7 13:15:21 2013 for MicromegasFramework by  doxygen 1.4.7