Print

Print


Author: [log in to unmask]
Date: Mon Nov 17 13:29:24 2014
New Revision: 1537

Log:
Add new classes based on functionality pulled out of EvioConstants class.

Added:
    java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java
    java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventUtilities.java

Added: java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java
 =============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java	(added)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventConstants.java	Mon Nov 17 13:29:24 2014
@@ -0,0 +1,13 @@
+package org.hps.record.evio;
+
+public class EvioEventConstants {
+    
+    public static final int PHYSICS_EVENT_TAG = 1;
+    public static final int SYNC_EVENT_TAG = 16;
+    public static final int PRESTART_EVENT_TAG = 17;
+    public static final int GO_EVENT_TAG = 18;
+    public static final int PAUSE_EVENT_TAG = 19;
+    public static final int END_EVENT_TAG = 20;
+    
+    public static final int EVENTID_BANK_TAG = 0xC000;
+}

Added: java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventUtilities.java
 =============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventUtilities.java	(added)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventUtilities.java	Mon Nov 17 13:29:24 2014
@@ -0,0 +1,75 @@
+package org.hps.record.evio;
+
+import static org.hps.record.evio.EvioEventConstants.END_EVENT_TAG;
+import static org.hps.record.evio.EvioEventConstants.GO_EVENT_TAG;
+import static org.hps.record.evio.EvioEventConstants.PAUSE_EVENT_TAG;
+import static org.hps.record.evio.EvioEventConstants.PHYSICS_EVENT_TAG;
+import static org.hps.record.evio.EvioEventConstants.PRESTART_EVENT_TAG;
+import static org.hps.record.evio.EvioEventConstants.SYNC_EVENT_TAG;
+
+import org.jlab.coda.jevio.EvioEvent;
+
+/**
+ * This is a set of basic static utility methods on <code>EvioEvent</code> objects.  
+ * @author Jeremy McCormick <[log in to unmask]>
+ */
+public final class EvioEventUtilities {
+    
+    private EvioEventUtilities() {        
+    }
+        
+    /**
+     * Check if the EVIO event is a PRE START event indicating
+     * the beginning of a run.
+     * @param event The EvioEvent.
+     * @return True if the event is a pre start event.
+     */
+    public static boolean isPreStartEvent(EvioEvent event) {
+        return event.getHeader().getTag() == PRESTART_EVENT_TAG;
+    }
+
+    /**
+     * Check if the EVIO event is a GO event.
+     * @param event The EvioEvent.
+     * @return True if the event is a go event.
+     */
+    public static boolean isGoEvent(EvioEvent event) {
+        return event.getHeader().getTag() == GO_EVENT_TAG;
+    }
+
+    /**
+     * Check if the EVIO event is a PAUSE event.
+     * @param event The EvioEvent.
+     * @return True if the event is a pause event.
+     */
+    public static boolean isPauseEvent(EvioEvent event) {
+        return event.getHeader().getTag() == PAUSE_EVENT_TAG;
+    }
+
+    /**
+     * Check if this event is an END event.
+     * @param event The EvioEvent.
+     * @return True if this event is an end event.
+     */
+    public static boolean isEndEvent(EvioEvent event) {
+        return event.getHeader().getTag() == END_EVENT_TAG;
+    }
+    
+    /**
+     * Check if this event has physics data.
+     * @param event The EvioEvent.
+     * @return True if this event is a physics event.
+     */
+    public static boolean isPhysicsEvent(EvioEvent event) {
+        return event.getHeader().getTag() == PHYSICS_EVENT_TAG;
+    }
+    
+    /**
+     * Check if this event is a SYNC event.
+     * @param event The EvioEvent.
+     * @return True if this event is a SYNC event.
+     */
+    public static boolean isSyncEvent(EvioEvent event) {
+        return event.getHeader().getTag() == SYNC_EVENT_TAG;
+    }
+}