@@ -284,52 +284,43 @@ public void processFile(String file, String output){
284284 this .processFile (file , output , -1 , -1 );
285285 }
286286
287+ public void processFile (HipoDataSource reader , HipoDataSync writer , int skipEvents , int maxEvents ) {
288+ if (updateDictionary ==true ) updateDictionary (reader , writer );
289+ ProgressPrintout progress = new ProgressPrintout ();
290+ int eventsRead = 0 ;
291+ while (reader .hasEvent ()) {
292+ DataEvent event = reader .getNextEvent ();
293+ eventsRead ++;
294+ if (skipEvents <= 0 || eventsRead > skipEvents ) {
295+ processEvent (event );
296+ removeBanks (event );
297+ writer .writeEvent (event );
298+ }
299+ if (maxEvents > 0 && eventsRead > maxEvents +skipEvents ) break ;
300+ progress .updateStatus ();
301+ }
302+ progress .showStatus ();
303+ writer .close ();
304+ }
305+
287306 /**
288307 * process entire file through engine chain.
289308 * @param file input file name to process
290309 * @param output output filename
291310 * @param nskip number of events to skip
292311 * @param nevents number of events to process
293312 */
294- public void processFile (String file , String output , int nskip , int nevents ){
313+ public void processFile (String file , String output , int nskip , int nevents ) {
295314 if (file .endsWith (".hipo" ) || file .endsWith (".h5" ) || file .endsWith (".h4" )) {
296315 HipoDataSource reader = new HipoDataSource ();
297316 reader .open (file );
298-
299- int eventCounter = 0 ;
300- HipoDataSync writer = new HipoDataSync ();
317+ HipoDataSync writer = new HipoDataSync ();
301318 writer .setCompressionType (2 );
302-
303319 writer .open (output );
304-
305- if (updateDictionary ==true )
306- updateDictionary (reader , writer );
307-
308- if (nskip >0 && nevents >0 ) nevents += nskip ;
309-
310- ProgressPrintout progress = new ProgressPrintout ();
311- while (reader .hasEvent ()==true ){
312- DataEvent event = reader .getNextEvent ();
313- if (nskip <=0 || eventCounter >nskip ) {
314- processEvent (event );
315-
316- // this works:
317- removeBanks (event );
318-
319- writer .writeEvent (event );
320- }
321- eventCounter ++;
322- if (nevents >0 ){
323- if (eventCounter >nevents ) break ;
324- }
325- progress .updateStatus ();
326- }
327- progress .showStatus ();
328- writer .close ();
320+ processFile (reader , writer , nskip , nevents );
329321 } else {
330322 LOGGER .info ("\n \n >>>> error in file extension (use .hipo,.h4 or .h5)\n >>>> how is this not simple ?\n " );
331323 }
332-
333324 }
334325
335326 /**
0 commit comments