00001 00002 #include "lcio.h" 00003 #include "CPPFORT/lcgob.h" 00004 #include "IMPL/LCGenericObjectImpl.h" 00005 00006 #include <iostream> 00007 00008 using namespace lcio ; 00009 00010 PTRTYPE lcgobcreate(){ 00011 LCGenericObjectImpl* object = new LCGenericObjectImpl() ; 00012 return reinterpret_cast<PTRTYPE>( object ) ; 00013 } 00014 00015 PTRTYPE lcgobcreatefixed( int nint, int nfloat, int ndouble ){ 00016 LCGenericObjectImpl* object = new LCGenericObjectImpl( nint, nfloat, ndouble ) ; 00017 return reinterpret_cast<PTRTYPE>( object ) ; 00018 00019 } 00020 00021 int lcgobdelete( PTRTYPE genericobject ){ 00022 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00023 delete object ; 00024 return LCIO::SUCCESS ; 00025 00026 } 00027 00028 int lcgobid( PTRTYPE genericobject ){ 00029 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00030 return object->id() ; 00031 } 00032 00033 int lcgobgetnint( PTRTYPE genericobject ){ 00034 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00035 return object->getNInt() ; 00036 } 00037 00038 int lcgobgetnfloat( PTRTYPE genericobject ){ 00039 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00040 return object->getNFloat() ; 00041 } 00042 00043 int lcgobgetndouble( PTRTYPE genericobject ){ 00044 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00045 return object->getNDouble() ; 00046 } 00047 00048 int lcgobgetintval( PTRTYPE genericobject, int index ){ 00049 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00050 return object->getIntVal(index-1) ; 00051 } 00052 00053 float lcgobgetfloatval( PTRTYPE genericobject, int index ){ 00054 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00055 return object->getFloatVal(index-1) ; 00056 } 00057 00058 double lcgobgetdoubleval( PTRTYPE genericobject, int index ){ 00059 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00060 return object->getDoubleVal(index-1) ; 00061 } 00062 00063 00064 int lcgobsetintval( PTRTYPE genericobject, int index, int value ){ 00065 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00066 object->setIntVal(index-1, value) ; 00067 return LCIO::SUCCESS ; 00068 } 00069 00070 int lcgobsetfloatval( PTRTYPE genericobject, int index, float value ){ 00071 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00072 object->setFloatVal(index-1, value) ; 00073 return LCIO::SUCCESS ; 00074 } 00075 00076 int lcgobsetdoubleval( PTRTYPE genericobject, int index, double value ){ 00077 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00078 object->setDoubleVal(index-1, value) ; 00079 return LCIO::SUCCESS ; 00080 } 00081 00082 00083 bool lcgobisfixedsize( PTRTYPE genericobject ){ 00084 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00085 return object->isFixedSize() ; 00086 } 00087 00088 char* lcgobgettypename( PTRTYPE genericobject ){ 00089 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00090 return const_cast<char*>( object->getTypeName().c_str() ) ; 00091 } 00092 00093 char* lcgobgetdatadescription( PTRTYPE genericobject ){ 00094 LCGenericObjectImpl* object = reinterpret_cast<LCGenericObjectImpl*>( genericobject ) ; 00095 return const_cast<char*>( object->getDataDescription().c_str() ) ; 00096 } 00097 00098