lcsim/src/org/lcsim/contrib/uiowa
diff -u -r1.3 -r1.4
--- MainLoop.java 20 Sep 2007 20:51:05 -0000 1.3
+++ MainLoop.java 4 Aug 2008 17:38:44 -0000 1.4
@@ -29,43 +29,31 @@
loop.add(myDriver);
long eventsProcessed = 0;
// Third and subsequent args: names of SIO files to analyze
- for (int i=2; i<args.length && numToProcess>0; i++) {
+ for (int i=2; i<args.length && eventsProcessed<numToProcess; i++) {
String filename = args[i];
File input = new File(filename);
loop.setLCIORecordSource(input);
long eventsCountedFromThisFile = 0;
long eventsProcessedAtStartOfThisFile = loop.getTotalCountableSupplied();
- while (numToProcess>0) {
+ while (eventsProcessed < numToProcess) {
+ long eventsStillNeeded = numToProcess - eventsProcessed;
try {
- long eventsProcessedThisIteration = loop.loop(numToProcess);
+ long eventsProcessedThisIteration = loop.loop(eventsStillNeeded);
eventsCountedFromThisFile += eventsProcessedThisIteration;
- numToProcess -= eventsProcessedThisIteration;
+ eventsProcessed = loop.getTotalCountableSupplied();
} catch (LoopSourceExhaustedException x) {
long eventsProcessedAtEndOfThisFile = loop.getTotalCountableSupplied();
System.out.println("File "+filename+" exhausted after "+eventsProcessedAtEndOfThisFile+" records total. ["+x+"]");
// Adjust for events processed this loop
- long extraProcessed = (eventsProcessedAtEndOfThisFile-eventsProcessedAtStartOfThisFile) - eventsCountedFromThisFile;
- if (extraProcessed>0) {
- numToProcess -= extraProcessed;
- }
+ eventsProcessed = loop.getTotalCountableSupplied();
break;
}
}
- eventsProcessed += loop.getTotalCountableSupplied();
- System.out.println("Processed "+loop.getTotalCountableSupplied()+" events from file "+filename+", of which "+eventsCountedFromThisFile+" were counted. Total is "+eventsProcessed+", with "+numToProcess+" to go.");
-
- /*
- if (numToProcess>0) {
- long eventsProcessedFromThisFile = loop.loop(numToProcess);
- eventsProcessed += eventsProcessedFromThisFile;
- numToProcess -= eventsProcessedFromThisFile;
- System.out.println("Processed "+eventsProcessed+" events from file "+filename);
- }
- */
+ System.out.println("Finished with file "+filename+". Total events processed is "+eventsProcessed+", with "+(numToProcess-eventsProcessed)+" to go.");
}
loop.dispose();
- //AIDA.defaultInstance().saveAs("exampleAnalysisJava.aida");
+ AIDA.defaultInstance().saveAs("defaultInstance.aida");
System.out.println("Processed "+eventsProcessed+" events total.");
}
}