Print

Print


Author: [log in to unmask]
Date: Wed Mar 25 11:46:57 2015
New Revision: 2535

Log:
Make sync event selection work.

Modified:
    java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/EventProcessing.java
    java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java

Modified: java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/EventProcessing.java
 =============================================================================
--- java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/EventProcessing.java	(original)
+++ java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/EventProcessing.java	Wed Mar 25 11:46:57 2015
@@ -502,13 +502,13 @@
                 createEtConnection();
 
                 // Add an attachment that listens for DAQ configuration changes via physics SYNC events.
-                //createSyncStation();
+                createSyncStation();
                 
                 // Add an attachment which listens for EPICs events with scalar data.
-                createEpicsStation();
+                //createEpicsStation();
                 
                 // Add an attachment that listens for PRESTART events.
-                //createPreStartStation();
+                createPreStartStation();
                 
             } catch (Exception e) {
                 throw new IOException(e);
@@ -553,6 +553,7 @@
      
     void createSyncStation() {
         
+        // Sync events have bits 6 and 7 set.
         int syncEventType = 0;
         syncEventType = syncEventType ^ (1 << 6); 
         syncEventType = syncEventType ^ (1 << 7);
@@ -568,6 +569,7 @@
     
     void createPreStartStation() {
                 
+        // Select only PRESTART events.
         int[] select = createSelectArray();
         select[0] = EvioEventConstants.PRESTART_EVENT_TAG;
         
@@ -580,6 +582,7 @@
     
     void createEpicsStation() {
         
+        // Select only EPICS events.
         int[] select = createSelectArray();
         select[0] = EvioEventConstants.EPICS_EVENT_TAG;
         

Modified: java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java
 =============================================================================
--- java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java	(original)
+++ java/branches/monitoring-app-dev/src/main/java/org/hps/monitoring/application/util/SyncEventProcessor.java	Wed Mar 25 11:46:57 2015
@@ -13,8 +13,6 @@
 import org.jlab.coda.jevio.EvioReader;
 import org.lcsim.event.base.BaseLCSimEvent;
 
-import org.hps.monitoring.application.util.EventTagFilter.SyncTagFilter;
-
 /**
  * 
  * @author Jeremy McCormick <[log in to unmask]>
@@ -23,31 +21,31 @@
 
     private static final String TRIGGER_CONFIG = "TriggerConfig";
     TriggerConfigEvioReader configReader = new TriggerConfigEvioReader();
-    EventTagFilter filter = new SyncTagFilter();
 
     public void process(EtEvent event) {
-        if (filter.accept(event.getControl()[0])) {        
-            EvioEvent evioEvent = null;
-            try {
-                evioEvent = new EvioReader(event.getDataBuffer()).parseNextEvent();
-            } catch (IOException | EvioException e) {
-                throw new RuntimeException(e);
+        EvioEvent evioEvent = null;
+        try {
+            evioEvent = new EvioReader(event.getDataBuffer()).parseNextEvent();
+        } catch (IOException | EvioException e) {
+            throw new RuntimeException(e);
+        }
+        //System.out.println("Dumping physics SYNC event ...");
+        //System.out.println(evioEvent.toXML());
+        try {
+            BaseLCSimEvent dummyLcsimEvent = new BaseLCSimEvent(-1, -1, "DUMMY", 0, false);
+            configReader.getDAQConfig(evioEvent, dummyLcsimEvent);
+            if (dummyLcsimEvent.hasCollection(EvioDAQParser.class, TRIGGER_CONFIG)) {
+                List<EvioDAQParser> configList = dummyLcsimEvent.get(EvioDAQParser.class, TRIGGER_CONFIG);
+                if (!configList.isEmpty()) {
+                    System.out.println("updating DAQ config ...");
+                    ConfigurationManager.updateConfiguration(configList.get(0));
+                    System.out.println("DAQ config updated!");
+                }
             }
-            System.out.println("Dumping physics SYNC event ...");
-            System.out.println(evioEvent.toXML());
-            try {
-                BaseLCSimEvent lcsimEvent = new BaseLCSimEvent(9999, 9999, "dummy", 0, false);
-                configReader.getDAQConfig(evioEvent, lcsimEvent);
-                if (lcsimEvent.hasCollection(EvioDAQParser.class, TRIGGER_CONFIG)) {
-                    List<EvioDAQParser> configList = lcsimEvent.get(EvioDAQParser.class, TRIGGER_CONFIG);
-                    if (!configList.isEmpty()) {
-                        ConfigurationManager.updateConfiguration(configList.get(0));
-                    }
-                }
-            } catch (Exception e) {
-                System.err.println("Failed to load DAQ config from sync event ...");
-                e.printStackTrace();
-            }
+        } catch (Exception e) {
+            System.err.println("Failed to load DAQ config from sync event ...");
+            e.printStackTrace();
         }
+        // }
     }
 }