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