Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN
BasicEvioFileReader.java+43-171.3 -> 1.4
make this shinier

hps-java/src/main/java/org/lcsim/hps/evio
BasicEvioFileReader.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- BasicEvioFileReader.java	29 Apr 2012 23:27:45 -0000	1.3
+++ BasicEvioFileReader.java	2 May 2012 00:26:01 -0000	1.4
@@ -1,11 +1,10 @@
 package org.lcsim.hps.evio;
 
 import java.io.File;
+import org.jlab.coda.jevio.*;
 
-import org.jlab.coda.jevio.EvioEvent;
+public class BasicEvioFileReader {
 
-public class BasicEvioFileReader
-{
     static public void main(String[] args) {
         if (args.length < 1) {
             throw new RuntimeException("Missing EVIO file name.");
@@ -27,10 +26,9 @@
                     System.out.println("There are " + reader.getNumEventsRemaining() + " events remaining.");
                     EvioEvent event = reader.parseNextEvent();
                     //printBytes(event.getRawBytes()); // DEBUG
-                    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("Successfully read event " + eventN);// + " which contains " + event.getTotalBytes() + " bytes.");
+                    printBank(event, "");
+                } catch (Exception e) {
                     System.out.println("Caught Exception processing event " + eventN + " which was...");
                     e.printStackTrace();
                     ++badEvents;
@@ -40,22 +38,50 @@
                 }
                 ++eventN;
                 System.out.println("-------");
-                throw new RuntimeException("bork bork");
             }
             System.out.println("There were " + badEvents + " bad events out of " + totalEvents + " total.");
             reader.close();
-        } 
-        catch (Exception e) {
+        } catch (Exception e) {
             throw new RuntimeException(e);
         }
     }
-    /*
-    private static void printBytes(final byte[] bytes) {
-        for (int i=0; i<bytes.length; i++) {
-            if (i%4==0)
-                System.out.println();
-            System.out.println(Byte.toString(bytes[i]));
+
+    private static void printBank(BaseStructure bank, String indent) throws EvioException {
+        System.out.println(indent + "Bank contains " + bank.getTotalBytes() + " bytes.");
+        System.out.println(indent + "Bank has " + bank.getChildCount() + " sub-banks.");
+        System.out.println(indent + "Bank tag: " + bank.getHeader().getTag() + " length: " + bank.getHeader().getLength() + " type: " + bank.getHeader().getDataType());
+        if (bank.getChildCount() > 0) {
+            for (BaseStructure child : bank.getChildren()) {
+                printBank(child, indent + "\t");
+            }
         }
+        if (bank.getHeader().getDataType() == DataType.COMPOSITE) {
+            switch (bank.getHeader().getTag()) {
+                case 0xe101:
+                    printWindow(bank.getCompositeData(), indent + "\t");
+                    break;
+                case 0xe102:
+                    printComposite(bank.getCompositeData(), indent + "\t");
+                    break;
+                case 0xe103:
+                    printComposite(bank.getCompositeData(), indent + "\t");
+                    break;
+            }
+        }
+    }
+
+    private static void printComposite(CompositeData cdata, String indent) {
+        System.out.println(cdata.toString(indent));
     }
-    */
+
+    private static void printWindow(CompositeData cdata, String indent) {
+        System.out.println(indent + "Byte count: " + cdata.getRawBytes().length);
+        System.out.println(indent + "Slot: " + cdata.getByte());
+    }
+
+    /*
+     * private static void printBytes(final byte[] bytes) { for (int i=0;
+     * i<bytes.length; i++) { if (i%4==0) System.out.println();
+     * System.out.println(Byte.toString(bytes[i])); } }
+     */
 }
\ No newline at end of file
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