lcio/src/cpp/src/SIO
diff -u -r1.47 -r1.48
--- SIOReader.cc 18 May 2006 14:35:29 -0000 1.47
+++ SIOReader.cc 13 Aug 2007 10:35:00 -0000 1.48
@@ -594,13 +594,14 @@
// SIOParticleHandler::restoreParentDaughterRelations( *_evtP ) ;
postProcessEvent() ;
- // fg20050422 changed order of update and process (needed for
- // marlin::LCIOOutputprocessor to drop collections )
+ // fg20070813 changed order of update and process (needed for
+ // Marlin modifying processors )
+ (*_evtP)->setAccessMode( LCIO::UPDATE ) ;
+ (*iter)->modifyEvent( *_evtP ) ;
+
(*_evtP)->setAccessMode( LCIO::READ_ONLY ) ; // set the proper acces mode
(*iter)->processEvent( *_evtP ) ;
- (*_evtP)->setAccessMode( LCIO::UPDATE ) ;
- (*iter)->modifyEvent( *_evtP ) ;
iter++ ;
lcio/src/java/hep/lcio/implementation/sio
diff -u -r1.13 -r1.14
--- SIOLCReader.java 21 Oct 2005 13:53:21 -0000 1.13
+++ SIOLCReader.java 13 Aug 2007 10:35:02 -0000 1.14
@@ -22,7 +22,7 @@
/**
*
* @author Tony Johnson
- * @version $Id: SIOLCReader.java,v 1.13 2005/10/21 13:53:21 gaede Exp $
+ * @version $Id: SIOLCReader.java,v 1.14 2007/08/13 10:35:02 gaede Exp $
*/
class SIOLCReader implements LCReader
{
@@ -213,10 +213,12 @@
if (l > 0)
{
SIOEvent event = new SIOEvent(record,LCIO.READ_ONLY);
+ // fg20070813 changed order of update and process to be consistent with C++
+ // (needed for Marlin modifying processors )
+ event.setReadOnly(false);
+ for (int i = 0; i < l; i++){ ((LCEventListener) eventListeners.get(i)).modifyEvent(event); }
event.readData(reader.readRecord());
for (int i = 0; i < l; i++){ ((LCEventListener) eventListeners.get(i)).processEvent(event); }
- event.setReadOnly(false);
- for (int i = 0; i < l; i++){ ((LCEventListener) eventListeners.get(i)).modifyEvent(event); }
}
}
}