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

Go to the documentation of this file.
00001 #include "CPPFORT/lcwrt.h"
00002 
00003 #include "lcio.h" 
00004 #include "IOIMPL/LCFactory.h"
00005 #include "IMPL/LCRunHeaderImpl.h"
00006 #include "IMPL/LCEventImpl.h"
00007 #include <iostream>
00008 
00009 using namespace lcio ;
00010 
00011 #define LCWRITER_PNTR( writer ) if(! (writer) ) return 0  ; \
00012 LCWriter* lcWriter = reinterpret_cast<LCWriter*>( (writer) ) ;
00013 
00014 
00015 PTRTYPE lcwrtcreate(){
00016   LCWriter* lcWriter = LCFactory::getInstance()->createLCWriter() ;
00017   return reinterpret_cast<PTRTYPE>(lcWriter) ;
00018 }
00019 
00020 int lcwrtdelete(PTRTYPE writer){
00021   LCWRITER_PNTR( writer )  ;
00022   delete lcWriter ;
00023   return LCIO::SUCCESS ;
00024 }
00025 
00026 int lcwrtopen(PTRTYPE writer, const char* filename, int writeMode ){
00027   try{ 
00028     LCWriter* wrt = reinterpret_cast<LCWriter*>(  writer ) ; 
00029     wrt->open( filename , writeMode ) ;
00030     
00031   }catch(...){ return LCIO::ERROR ; }
00032   return LCIO::SUCCESS ;
00033   
00034 }
00035 
00036 int lcwrtclose(PTRTYPE writer){
00037   try{
00038     LCWriter* wrt = reinterpret_cast<LCWriter*>(  writer ) ; 
00039     wrt->close() ;
00040     }catch(...){ return LCIO::ERROR ; }
00041 
00042   return LCIO::SUCCESS ;
00043 }
00044 
00045 int lcwrtwriterunheader( PTRTYPE writer, PTRTYPE header){
00046   try{
00047 
00048     LCWriter* wrt = reinterpret_cast<LCWriter*>(  writer ) ; 
00049     LCRunHeader* hdr = reinterpret_cast<LCRunHeader*>(  header ) ; 
00050     
00051     wrt->writeRunHeader( hdr ) ;
00052 
00053   }catch(...){ return LCIO::ERROR ; }
00054   
00055   return LCIO::SUCCESS ;
00056 }
00057 int   lcwrtwriteevent( PTRTYPE writer, PTRTYPE event){
00058   
00059   try{
00060     
00061     LCWriter* wrt = reinterpret_cast<LCWriter*>(  writer ) ; 
00062     LCEvent* evt = reinterpret_cast<LCEvent*>( event ) ; 
00063     
00064     wrt->writeEvent( evt ) ;
00065     
00066   }catch(...){ return LCIO::ERROR ; }
00067   
00068   return LCIO::SUCCESS ;
00069 }

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