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(); } + // } } }