Author: [log in to unmask] Date: Mon Mar 23 22:10:49 2015 New Revision: 2515 Log: Add test of reading EPICS data from EVIO events. Added: java/trunk/evio/src/test/java/org/hps/evio/EpicsScalarDataTest.java Removed: java/trunk/evio/src/test/java/org/hps/evio/epics/ Added: java/trunk/evio/src/test/java/org/hps/evio/EpicsScalarDataTest.java ============================================================================= --- java/trunk/evio/src/test/java/org/hps/evio/EpicsScalarDataTest.java (added) +++ java/trunk/evio/src/test/java/org/hps/evio/EpicsScalarDataTest.java Mon Mar 23 22:10:49 2015 @@ -0,0 +1,60 @@ +package org.hps.evio; + +import java.io.File; +import java.io.IOException; + +import junit.framework.TestCase; + +import org.hps.conditions.database.DatabaseConditionsManager; +import org.hps.record.LCSimEventBuilder; +import org.hps.record.composite.CompositeLoop; +import org.hps.record.composite.CompositeLoopConfiguration; +import org.hps.record.enums.DataSourceType; +import org.hps.record.enums.ProcessingStage; +import org.hps.record.epics.EpicsEvioProcessor; +import org.hps.record.epics.EpicsScalarData; +import org.hps.record.evio.EvioDetectorConditionsProcessor; +import org.lcsim.event.EventHeader; +import org.lcsim.util.Driver; +import org.lcsim.util.loop.LCIODriver; +import org.lcsim.util.loop.LCSimLoop; + +public class EpicsScalarDataTest extends TestCase { + + public void test() throws IOException { + + DatabaseConditionsManager manager = new DatabaseConditionsManager(); + LCSimEventBuilder builder = new LCSimEngRunEventBuilder(); + manager.addConditionsListener(builder); + + CompositeLoopConfiguration configuration = new CompositeLoopConfiguration(); + configuration.add(new EpicsEvioProcessor()); + configuration.setDataSourceType(DataSourceType.EVIO_FILE); + //configuration.setFilePath("/u1/data/hps/eng_run/hps_004385.evio.0"); + configuration.add(new EvioDetectorConditionsProcessor("HPS-ECalCommissioning-v2")); + configuration.setLCSimEventBuilder(builder); + configuration.setFilePath("/work/data/hps/engrun/hps_004385.evio.0"); + configuration.setProcessingStage(ProcessingStage.LCIO); + configuration.setStopOnEndRun(false); + configuration.setStopOnErrors(false); + configuration.add(new LCIODriver("EpicsScalarDataTest")); + CompositeLoop loop = new CompositeLoop(); + loop.setConfiguration(configuration); + loop.loop(100); + + LCSimLoop readLoop = new LCSimLoop(); + readLoop.setLCIORecordSource(new File("EpicsScalarDataTest.slcio")); + readLoop.add(new Driver() { + public void process(EventHeader event) { + EpicsScalarData data = EpicsScalarData.read(event); + if (data != null) { + System.out.println("read back EPICS data ..."); + System.out.println(data.toString()); + } + } + }); + + readLoop.loop(-1); + } + +}