Print

Print


Commit in lcio/src/cpp/src on MAIN
SIO/LCIORandomAccessMgr.cc+3-11.2 -> 1.3
TESTS/test_randomaccess.cc+13-31.3 -> 1.4
+16-4
2 modified files
bug fix: readNextEvent/RunHeader did not work in direct access mode  

lcio/src/cpp/src/SIO
LCIORandomAccessMgr.cc 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- LCIORandomAccessMgr.cc	22 Jun 2010 13:49:55 -0000	1.2
+++ LCIORandomAccessMgr.cc	7 Oct 2010 19:32:16 -0000	1.3
@@ -258,6 +258,8 @@
       }      
     }
 
+    LCSIO::seekStream( stream, 0 ) ;// go to start of file
+
     return true ;
 
     //    std::cout << " ... LCIORandomAccess read from stream : "<< *ra << std::endl ;
@@ -332,7 +334,7 @@
       
       
       LCSIO::seekStream( stream, 0 ) ;// go to start of file
-      
+
     }// -- end of scope for unpacking evt header --
     
     //     std::cout << " LCIORandomAccessMgr::getEventMap() : done " << std::endl ;

lcio/src/cpp/src/TESTS
test_randomaccess.cc 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- test_randomaccess.cc	22 Jun 2010 15:40:58 -0000	1.3
+++ test_randomaccess.cc	7 Oct 2010 19:32:16 -0000	1.4
@@ -118,13 +118,23 @@
 
     LCReader* lcReader = LCFactory::getInstance()->createLCReader( IO::LCReader::directAccess ) ;
 
-    //    LCReader* lcReader = LCFactory::getInstance()->createLCReader( ) ;
+    // LCReader* lcReader = LCFactory::getInstance()->createLCReader( ) ;
 
     try{
+      
+      lcReader->open( "c_sim.slcio" ) ;
+      
+
+      // test that we can still use read next for runheaders .....
+      LCRunHeader* rHdr = lcReader->readNextRunHeader() ;
+      MYTEST( rHdr->getRunNumber() , 0 , " LCReader::readNextRunHeader() - run number is not 0" );
+      
+      LCEvent* evt = lcReader->readNextEvent() ;
+      MYTEST( evt->getEventNumber() , 0 , " LCReader::readNextEvent() - event number is not 0" );
+      MYTEST( evt->getRunNumber() , 0 , " LCReader::readNextEvent() - run number is not 0" );
 
-       lcReader->open( "c_sim.slcio" ) ;
       
-      LCEvent* evt = lcReader->readEvent( 3 , 4 ) ;
+      evt = lcReader->readEvent( 3 , 4 ) ;
 
       MYTEST( evt !=0  , true  , " LCReader::readEvent( 3 , 4  ) - evt is NULL" );
       MYTEST( evt->getRunNumber() , 3 , " LCReader::readEvent( 3, 4  ) - run number is not 3" );
CVSspam 0.2.8