Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN
BasicEvioFileReader.java+16-61.1 -> 1.2
attempt to recover from event read errors; keep track of how many events had errors

hps-java/src/main/java/org/lcsim/hps/evio
BasicEvioFileReader.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- BasicEvioFileReader.java	25 Apr 2012 21:13:47 -0000	1.1
+++ BasicEvioFileReader.java	25 Apr 2012 21:57:44 -0000	1.2
@@ -20,17 +20,27 @@
             int totalEvents = reader.getEventCount();
             System.out.println("EVIO file has " + totalEvents + " total events.");
             int eventN = 1;
-            while (true) {
+            int badEvents = 0;
+             while (true) {
                 System.out.println("Reading event " + eventN + " of " + totalEvents);
-                System.out.println("There are " + reader.getNumEventsRemaining() + " events remaining.");
-                EvioEvent event = reader.parseNextEvent();
-                System.out.println("Successfully read event " + eventN + " which contains " + event.getTotalBytes() + " bytes.");
-                System.out.println("Event bank has " + event.getChildCount() + " sub-banks.");
-                if (reader.getNumEventsRemaining() == 0) { 
+                try {
+                    System.out.println("There are " + reader.getNumEventsRemaining() + " events remaining.");
+                    EvioEvent event = reader.parseNextEvent();
+                    System.out.println("Successfully read event " + eventN + " which contains " + event.getTotalBytes() + " bytes.");
+                    System.out.println("Event bank has " + event.getChildCount() + " sub-banks.");  
+                }
+                catch (Exception e) {
+                    System.out.println("Caught Exception processing event " + eventN + " which was...");
+                    e.printStackTrace();
+                    ++badEvents;
+                }
+                if (reader.getNumEventsRemaining() == 0) {
                     break;
                 }
                 ++eventN;
+                System.out.println("-------");
             }
+            System.out.println("There were " + badEvents + " bad events out of " + totalEvents + " total.");
             reader.close();
         } 
         catch (Exception e) {
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1