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;
+ }
+}
|