Print

Print


Author: [log in to unmask]
Date: Thu Mar 12 16:40:56 2015
New Revision: 2422

Log:
Change EVIO file producer so that it sets the control array in the EtEvent from the event tag.

Modified:
    java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventUtilities.java
    java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java

Modified: 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	(original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioEventUtilities.java	Thu Mar 12 16:40:56 2015
@@ -19,6 +19,10 @@
 public final class EvioEventUtilities {
 
     private EvioEventUtilities() {
+    }
+    
+    public static int getEventTag(EvioEvent event) {
+        return event.getHeader().getTag();
     }
 
     /**

Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java
 =============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java	(original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java	Thu Mar 12 16:40:56 2015
@@ -228,6 +228,8 @@
                     if (debug) {
                         System.out.println("new events - size=" + size + "; group=" + group);
                     }
+                    
+                    int eventTag = EvioEventUtilities.getEventTag(event);
 
                     // Create a new array of ET events.  This always has one event.
                     mevs = sys.newEvents(
@@ -238,7 +240,12 @@
                             1, // number of events
                             size, // size of event but overwritten later
                             group); // group number; default value is arbitrary
-
+                                        
+                    // Create control data array for event selection.
+                    int[] control = new int[EtConstants.stationSelectInts];
+                    control[0] = eventTag;
+                    mevs[0].setControl(control);
+                    
                     // Delay for X millis if applicable.
                     if (delay > 0) {
                         Thread.sleep(delay);