Print

Print


Commit in lcsim/src/org/lcsim/contrib/uiowa on MAIN
MainLoop.java+8-201.3 -> 1.4
MJC: (contrib) Make MainLoop handle counting and aida output better

lcsim/src/org/lcsim/contrib/uiowa
MainLoop.java 1.3 -> 1.4
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.");
        }
    }
CVSspam 0.2.8