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