5 added + 5 removed, total 10 files
hps-java/src/test/java/org/lcsim/hps/evio
diff -N Evio4ReadTest.java
--- Evio4ReadTest.java 26 Mar 2012 16:48:55 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,117 +0,0 @@
-package org.lcsim.hps.evio;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.jlab.coda.jevio.BaseStructure;
-import org.jlab.coda.jevio.CompositeData;
-import org.jlab.coda.jevio.DataType;
-import org.jlab.coda.jevio.EvioEvent;
-import org.jlab.coda.jevio.EvioException;
-import org.jlab.coda.jevio.EvioReader;
-import org.jlab.coda.jevio.test.CompositeTester;
-import org.lcsim.util.cache.FileCache;
-
-/**
- * Read in an EVIO 4 sample file and print the contents.
- *
- * @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: Evio4ReadTest.java,v 1.2 2012/03/26 16:48:55 jeremy Exp $
- */
-public class Evio4ReadTest extends TestCase {
-
- private static final String testFileName = "evio4_sample.dat";
- private static final String testFileUrl = "http://www.lcsim.org/test/hps/" + testFileName;
-
- public void testEvio() throws IOException, EvioException {
-
- // Get test file to local cache.
- FileCache cache = new FileCache();
- cache.setCacheDirectory(new File(".testdata"));
- File file = cache.getCachedFile(new URL(testFileUrl));
-
- // Open the EVIO file for reading.
- EvioReader reader = new EvioReader(file);
-
- // Write to XML before looping.
- //reader.toXMLFile((new File(testFileName + ".xml")).getCanonicalPath());
-
- // Loop over events.
- EvioEvent event = reader.parseNextEvent();
- int nread = 0;
- while (event != null) {
- ++nread;
- System.out.println("read event #" + event.getEventNumber() + " with size " + event.getTotalBytes() + " bytes");
- for (BaseStructure b1 : event.getChildren()) {
- CompositeData cData = b1.getCompositeData();
- //CompositeTester.printCompositeDataObject(cData);
-
- // Get lists of data items & their types from composite data object
- List<Object> items = cData.getItems();
- List<DataType> types = cData.getTypes();
-
- System.out.println("# items = " + items.size());
- System.out.println("# types = " + types.size());
- DataType type;
- int len = items.size();
- for (int i=0; i < len; i++) {
- type = types.get(i);
- System.out.print(String.format("type = %9s, val = ", type));
- switch (type) {
- case INT32:
- case UINT32:
- case UNKNOWN32:
- int j = (Integer) items.get(i);
- System.out.println("0x" + Integer.toHexString(j));
- break;
- case LONG64:
- case ULONG64:
- long l = (Long) items.get(i);
- System.out.println("0x" + Long.toHexString(l));
- break;
- case SHORT16:
- case USHORT16:
- short s = (Short) items.get(i);
- System.out.println("0x" + Integer.toHexString(s));
- break;
- case CHAR8:
- case UCHAR8:
- System.out.println("BORK");
- break;
- // FIXME Broken?
- // byte b = (Byte) items.get(i);
- // System.out.println("0x" + Integer.toHexString(b));
- // break;
- case FLOAT32:
- float ff = (Float) items.get(i);
- System.out.println("" + ff);
- break;
- case DOUBLE64:
- double dd = (Double) items.get(i);
- System.out.println("" + dd);
- break;
- case CHARSTAR8:
- String[] strs = (String[]) items.get(i);
- for (String ss : strs) {
- System.out.print(ss + ", ");
- }
- System.out.println();
- break;
- default:
- }
- }
- }
-
- // DEBUG
- if (true) break;
-
- event = reader.parseNextEvent();
- }
- System.out.println("read " + nread + " events");
- reader.close();
- }
-}
hps-java/src/test/java/org/lcsim/hps/evio
diff -N RawTrackerHitToEvio4Converter_Test.java
--- RawTrackerHitToEvio4Converter_Test.java 1 Mar 2012 22:32:30 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-package org.lcsim.hps.evio;
-
-import junit.framework.TestCase;
-
-public class RawTrackerHitToEvio4Converter_Test extends TestCase {
- public void testIt() throws Exception {
- RawTrackerHitToEvio4Converter.testMe();
- }
-}
\ No newline at end of file
hps-java/src/test/java/org/lcsim/hps/evio
diff -N RawTrackerHitToEvio4Converter.java
--- RawTrackerHitToEvio4Converter.java 22 Mar 2012 22:03:35 -0000 1.8
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,135 +0,0 @@
-package org.lcsim.hps.evio;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.List;
-
-import org.jlab.coda.jevio.BaseStructureHeader;
-import org.jlab.coda.jevio.CompositeData;
-import org.jlab.coda.jevio.DataType;
-import org.jlab.coda.jevio.EventWriter;
-import org.jlab.coda.jevio.EvioEvent;
-import org.jlab.coda.jevio.EvioException;
-import org.jlab.coda.jevio.EvioReader;
-import org.jlab.coda.jevio.test.CompositeTester;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawTrackerHit;
-import org.lcsim.util.Driver;
-import org.lcsim.util.cache.FileCache;
-import org.lcsim.util.loop.LCSimLoop;
-
-/**
- * Test class that converts RawTrackerHit output from SeedTracker into EVIO v4 CompositeData objects
- * and compares the two to make sure they match.
- *
- * @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: RawTrackerHitToEvio4Converter.java,v 1.8 2012/03/22 22:03:35 jeremy Exp $
- */
-public class RawTrackerHitToEvio4Converter extends Driver {
-
- private final String format = "N(L,I,I)";
- private String rawHitCollectionName = "RawTrackerHitMaker_RawTrackerHits";
- private static String lcioFileName = "ap2.2gev050mevsel_SLIC-v2r11p1_geant4-v9r3p2_QGSP_BERT_HPS-Test-JLAB-v4pt0_trackRecon.slcio";
- //private static String lcioFileUrl = "http://www.lcsim.org/test/hps/" + lcioFileName;
- private static String lcioFileUrl = "file:///u1/hps/trackerTest/" + lcioFileName;
- private static String evioFileName = "compositeDataTest.evio";
- private EventWriter writer;
-
- public RawTrackerHitToEvio4Converter() {}
-
- public static void testMe() throws Exception {
-
- // Write EVIO v4 test events.
- FileCache cache = new FileCache();
- cache.setCacheDirectory(new File("."));
- File file = cache.getCachedFile(new URL(lcioFileUrl));
- LCSimLoop loop = new LCSimLoop();
- loop.setLCIORecordSource(file);
- loop.add(new RawTrackerHitToEvio4Converter());
- loop.loop(-1);
- System.out.println("processed " + loop.getTotalCountableSupplied() + " events");
- loop.dispose();
-
- // Read back events.
- EvioReader reader = new EvioReader(evioFileName);
- EvioEvent event = reader.parseNextEvent();
- while (true) {
- CompositeData cdata = event.getCompositeData();
- List<Object> items = cdata.getItems();
- int n = items.size();
- for (int i=0; i<n; i+=3) {
- Long id = (Long)items.get(i);
- int time = (Integer)items.get(i+1);
- int adcValue = (Integer)items.get(i+2);
- System.out.println("id=0x"+Long.toHexString(id)+"; time="+time+"; adcValue="+adcValue);
- }
- if (reader.getNumEventsRemaining() == 0) {
- break;
- }
- event = reader.parseNextEvent();
- }
- reader.close();
- }
-
- private CompositeData convertToCompositeData(List<RawTrackerHit> hits) {
- int dataSize = hits.size();
- CompositeData.Data data = new CompositeData.Data();
- data.addN(dataSize);
- for (RawTrackerHit hit : hits) {
- data.addLong(hit.getCellID());
- data.addInt(hit.getTime());
- data.addInt(hit.getADCValues()[0]);
- }
- CompositeData cdata = null;
- try {
- cdata = new CompositeData(format, 1, data, 0 ,0);
- }
- catch (EvioException e) {
- throw new RuntimeException(e);
- }
-
- return cdata;
- }
-
- public void setRawHitCollectionName(String rawHitCollectionName) {
- this.rawHitCollectionName = rawHitCollectionName;
- }
-
- public void startOfData() {
- try {
- writer = new EventWriter(evioFileName);
- } catch (EvioException e) {
- throw new RuntimeException(e);
- }
- }
-
- public void endOfData() {
- try {
- writer.close();
- } catch (EvioException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- public void process(EventHeader event) {
- List<RawTrackerHit> hits = event.get(RawTrackerHit.class, rawHitCollectionName);
- System.out.println("event " + event.getEventNumber() + " has " + hits.size() + " RawTrackerHits");
- CompositeData cdata = this.convertToCompositeData(hits);
- CompositeTester.printCompositeDataObject(cdata);
- EvioEvent ev = new EvioEvent(0, DataType.COMPOSITE, 0);
- BaseStructureHeader header = ev.getHeader();
- header.setTag(0xF); // Needed???
- header.setNumber(1);
- header.setDataType(DataType.COMPOSITE);
- try {
- ev.appendCompositeData(cdata);
- ev.setAllHeaderLengths();
- writer.writeEvent(ev);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-}
hps-java/src/test/java/org/lcsim/hps/evio
diff -N TestRunReconToEvio_Test.java
--- TestRunReconToEvio_Test.java 31 Mar 2012 02:30:48 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,135 +0,0 @@
-package org.lcsim.hps.evio;
-
-import static org.lcsim.hps.evio.EventConstants.ECAL_BOTTOM_BANK_TAG;
-import static org.lcsim.hps.evio.EventConstants.ECAL_TOP_BANK_TAG;
-import static org.lcsim.hps.evio.EventConstants.SVT_BANK_TAG;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.jlab.coda.jevio.BaseStructure;
-import org.jlab.coda.jevio.CompositeData;
-import org.jlab.coda.jevio.EvioEvent;
-import org.jlab.coda.jevio.EvioException;
-import org.jlab.coda.jevio.EvioReader;
-import org.lcsim.hps.recon.tracking.HPSSVTData;
-import org.lcsim.job.JobControlManager;
-import org.lcsim.util.cache.FileCache;
-
-/**
- * Run the test run recon and produce an EVIO output file.
- * @author Jeremy McCormick <[log in to unmask]>
- */
-public class TestRunReconToEvio_Test extends TestCase {
-
- final String lcsimXmlResource = "/org/lcsim/hps/steering/HPSTestRunReconToEvio.lcsim";
- final String testUrl = "http://www.lcsim.org/test/hps";
- final String slicFileName = "beam_and_tridents_1_SLIC-v2r11p1_geant4-v9r3p2_QGSP_BERT_HPS-Test-JLAB-v4pt0.slcio";
- final String evioFileName = "MCRawData.evio";
-
- public void testIt() throws Exception {
-
- // Get some sample events.
- FileCache cache = new FileCache();
- cache.setCacheDirectory(new File(".testdata"));
- File f = cache.getCachedFile(new URL(testUrl + "/" + slicFileName));
-
- // Create EVIO file.
- JobControlManager mgr = new JobControlManager();
- mgr.addVariableDefinition("inputFile", f.getCanonicalPath());
- mgr.addVariableDefinition("evioFile", evioFileName);
- mgr.setup(lcsimXmlResource);
- mgr.run();
-
- // Dump EVIO file contents.
- debugPrintEvioEvents();
- }
-
- private void debugPrintEvioEvents() throws EvioException {
- // Read back EVIO file.
- EvioReader reader = null;
- try {
- reader = new EvioReader(evioFileName);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- EvioEvent event = null;
- event = reader.parseNextEvent();
- while (event != null) {
- if (event.getChildren() != null) {
- for (BaseStructure crateBank : event.getChildren()) {
- int crateTag = crateBank.getHeader().getTag();
- if (crateTag == SVT_BANK_TAG) {
- int[] intData = crateBank.getIntData();
- if (intData.length % 4 != 0) {
- throw new RuntimeException("Size of int array not divisible by 4!");
- }
- int n = intData.length;
- for (int i=0; i<n; i+=4) {
-
- int[] sampleData = new int[4];
- sampleData[0] = intData[i];
- sampleData[1] = intData[i+1];
- sampleData[2] = intData[i+2];
- sampleData[3] = intData[i+3];
-
- HPSSVTData svtData = new HPSSVTData(sampleData);
-
- int fpga = svtData.getFPGAAddress();
- int hybrid = svtData.getHybridNumber();
- int channel = svtData.getChannelNumber();
- int apv = svtData.getAPVNumber();
-
- System.out.println("fpga=" + fpga + "; hybrid=" + hybrid + "; channel=" + channel + "; apv=" + apv);
- for (int j=0; j<6; j++) {
- int val = svtData.getSample(j);
- System.out.println(" sample[" + j + "]="+val);
- }
- }
- } else if (crateTag == ECAL_TOP_BANK_TAG || crateTag == ECAL_BOTTOM_BANK_TAG) {
- if (crateBank.getChildCount() > 0) {
- for (BaseStructure slotBank : crateBank.getChildren()) {
- CompositeData cdata = slotBank.getCompositeData();
- System.out.println("ecal.tag="+Integer.toHexString(slotBank.getHeader().getTag()));
- System.out.println("cdata has " + cdata.getItems().size() + " items");
- System.out.println("cdata has " + cdata.getTypes().size() + " types");
- System.out.println("cdata has " + cdata.getNValues().size() + " N values");
- int n = cdata.getNValues().size();
- for (int i=0; i<n; i++) {
- System.out.println("cdata.N["+i+"]="+cdata.getNValues().get(i));
- }
- int ni = cdata.getItems().size();
- for (int i=0; i<ni; i++) {
- System.out.println("cdata.type["+i+"]="+cdata.getTypes().get(i));
- }
- int slot = cdata.getByte();
- int trigger = cdata.getInt();
- long timestamp = cdata.getLong();
- int nchannels = cdata.getNValue();
- System.out.println("slot#="+slot+"; trigger="+trigger+"; timestamp="+timestamp+"; nchannels="+nchannels);
- for (int i=0; i<nchannels; i++) {
- int channelNumber = cdata.getByte();
- int npulses = cdata.getNValue();
- System.out.println(" channel="+channelNumber+"; npulses="+npulses);
- for (int j=0; j<npulses; j++) {
- short pulseTime = cdata.getShort();
- int pulseIntegral = cdata.getInt();
- System.out.println(" pulseTime="+pulseTime+"; pulseIntegral="+pulseIntegral);
- }
- }
- }
- }
- }
- }
-
- if (reader.getNumEventsRemaining() == 0) {
- break;
- }
- event = reader.parseNextEvent();
- }
- }
- }
-}
hps-java/src/test/java/org/lcsim/hps/evio
diff -N Evio4FileDumpTest.java
--- Evio4FileDumpTest.java 27 Mar 2012 20:31:50 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-package org.lcsim.hps.evio;
-
-import java.io.File;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.jlab.coda.jevio.BaseStructure;
-import org.jlab.coda.jevio.CompositeData;
-import org.jlab.coda.jevio.EvioEvent;
-import org.jlab.coda.jevio.EvioReader;
-import org.jlab.coda.jevio.test.CompositeTester;
-import org.lcsim.util.cache.FileCache;
-
-public class Evio4FileDumpTest extends TestCase {
-
- public void testMe() throws Exception {
-
- FileCache cache = new FileCache();
- cache.setCacheDirectory(new File(".testdata"));
- File evioTestData = cache.getCachedFile(new URL("http://www.lcsim.org/test/hps/hps_000246.dat")); // ECal data in pulse integral mode
-
- EvioReader reader = new EvioReader(evioTestData);
- EvioEvent event = reader.parseNextEvent();
-
- int eventCount = 1;
-
- while (true) {
-
- System.out.println("event #" + eventCount);
- System.out.println("event has " + event.getChildCount() + " children");
- if (event.getChildCount() > 0) {
- for (BaseStructure topBank : event.getChildren()) {
- System.out.println("top bank has " + topBank.getChildCount() + " children");
- if (topBank.getChildCount() > 0) {
- for (BaseStructure subBank : topBank.getChildren()) {
- System.out.println("subBank has " + subBank.getChildCount() + " children");
- CompositeData cdata = subBank.getCompositeData();
- System.out.println("Printing subBank CompositeData...");
- if (cdata != null)
- CompositeTester.printCompositeDataObject(cdata);
- }
- }
- }
- }
-
- if (reader.getNumEventsRemaining() == 0) {
- break;
- }
- else {
- event = reader.parseNextEvent();
- }
- ++eventCount;
- System.out.println("--------------------");
- }
-
- }
-}
hps-java/sandbox
diff -N Evio4ReadTest.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Evio4ReadTest.java 4 May 2012 02:23:57 -0000 1.1
@@ -0,0 +1,117 @@
+package org.lcsim.hps.evio;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jlab.coda.jevio.BaseStructure;
+import org.jlab.coda.jevio.CompositeData;
+import org.jlab.coda.jevio.DataType;
+import org.jlab.coda.jevio.EvioEvent;
+import org.jlab.coda.jevio.EvioException;
+import org.jlab.coda.jevio.EvioReader;
+import org.jlab.coda.jevio.test.CompositeTester;
+import org.lcsim.util.cache.FileCache;
+
+/**
+ * Read in an EVIO 4 sample file and print the contents.
+ *
+ * @author Jeremy McCormick <[log in to unmask]>
+ * @version $Id: Evio4ReadTest.java,v 1.1 2012/05/04 02:23:57 meeg Exp $
+ */
+public class Evio4ReadTest extends TestCase {
+
+ private static final String testFileName = "evio4_sample.dat";
+ private static final String testFileUrl = "http://www.lcsim.org/test/hps/" + testFileName;
+
+ public void testEvio() throws IOException, EvioException {
+
+ // Get test file to local cache.
+ FileCache cache = new FileCache();
+ cache.setCacheDirectory(new File(".testdata"));
+ File file = cache.getCachedFile(new URL(testFileUrl));
+
+ // Open the EVIO file for reading.
+ EvioReader reader = new EvioReader(file);
+
+ // Write to XML before looping.
+ //reader.toXMLFile((new File(testFileName + ".xml")).getCanonicalPath());
+
+ // Loop over events.
+ EvioEvent event = reader.parseNextEvent();
+ int nread = 0;
+ while (event != null) {
+ ++nread;
+ System.out.println("read event #" + event.getEventNumber() + " with size " + event.getTotalBytes() + " bytes");
+ for (BaseStructure b1 : event.getChildren()) {
+ CompositeData cData = b1.getCompositeData();
+ //CompositeTester.printCompositeDataObject(cData);
+
+ // Get lists of data items & their types from composite data object
+ List<Object> items = cData.getItems();
+ List<DataType> types = cData.getTypes();
+
+ System.out.println("# items = " + items.size());
+ System.out.println("# types = " + types.size());
+ DataType type;
+ int len = items.size();
+ for (int i=0; i < len; i++) {
+ type = types.get(i);
+ System.out.print(String.format("type = %9s, val = ", type));
+ switch (type) {
+ case INT32:
+ case UINT32:
+ case UNKNOWN32:
+ int j = (Integer) items.get(i);
+ System.out.println("0x" + Integer.toHexString(j));
+ break;
+ case LONG64:
+ case ULONG64:
+ long l = (Long) items.get(i);
+ System.out.println("0x" + Long.toHexString(l));
+ break;
+ case SHORT16:
+ case USHORT16:
+ short s = (Short) items.get(i);
+ System.out.println("0x" + Integer.toHexString(s));
+ break;
+ case CHAR8:
+ case UCHAR8:
+ System.out.println("BORK");
+ break;
+ // FIXME Broken?
+ // byte b = (Byte) items.get(i);
+ // System.out.println("0x" + Integer.toHexString(b));
+ // break;
+ case FLOAT32:
+ float ff = (Float) items.get(i);
+ System.out.println("" + ff);
+ break;
+ case DOUBLE64:
+ double dd = (Double) items.get(i);
+ System.out.println("" + dd);
+ break;
+ case CHARSTAR8:
+ String[] strs = (String[]) items.get(i);
+ for (String ss : strs) {
+ System.out.print(ss + ", ");
+ }
+ System.out.println();
+ break;
+ default:
+ }
+ }
+ }
+
+ // DEBUG
+ if (true) break;
+
+ event = reader.parseNextEvent();
+ }
+ System.out.println("read " + nread + " events");
+ reader.close();
+ }
+}
hps-java/sandbox
diff -N TestRunReconToEvio_Test.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TestRunReconToEvio_Test.java 4 May 2012 02:23:57 -0000 1.1
@@ -0,0 +1,135 @@
+package org.lcsim.hps.evio;
+
+import static org.lcsim.hps.evio.EventConstants.ECAL_BOTTOM_BANK_TAG;
+import static org.lcsim.hps.evio.EventConstants.ECAL_TOP_BANK_TAG;
+import static org.lcsim.hps.evio.EventConstants.SVT_BANK_TAG;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.jlab.coda.jevio.BaseStructure;
+import org.jlab.coda.jevio.CompositeData;
+import org.jlab.coda.jevio.EvioEvent;
+import org.jlab.coda.jevio.EvioException;
+import org.jlab.coda.jevio.EvioReader;
+import org.lcsim.hps.recon.tracking.HPSSVTData;
+import org.lcsim.job.JobControlManager;
+import org.lcsim.util.cache.FileCache;
+
+/**
+ * Run the test run recon and produce an EVIO output file.
+ * @author Jeremy McCormick <[log in to unmask]>
+ */
+public class TestRunReconToEvio_Test extends TestCase {
+
+ final String lcsimXmlResource = "/org/lcsim/hps/steering/HPSTestRunReconToEvio.lcsim";
+ final String testUrl = "http://www.lcsim.org/test/hps";
+ final String slicFileName = "beam_and_tridents_1_SLIC-v2r11p1_geant4-v9r3p2_QGSP_BERT_HPS-Test-JLAB-v4pt0.slcio";
+ final String evioFileName = "MCRawData.evio";
+
+ public void testIt() throws Exception {
+
+ // Get some sample events.
+ FileCache cache = new FileCache();
+ cache.setCacheDirectory(new File(".testdata"));
+ File f = cache.getCachedFile(new URL(testUrl + "/" + slicFileName));
+
+ // Create EVIO file.
+ JobControlManager mgr = new JobControlManager();
+ mgr.addVariableDefinition("inputFile", f.getCanonicalPath());
+ mgr.addVariableDefinition("evioFile", evioFileName);
+ mgr.setup(lcsimXmlResource);
+ mgr.run();
+
+ // Dump EVIO file contents.
+ debugPrintEvioEvents();
+ }
+
+ private void debugPrintEvioEvents() throws EvioException {
+ // Read back EVIO file.
+ EvioReader reader = null;
+ try {
+ reader = new EvioReader(evioFileName);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ EvioEvent event = null;
+ event = reader.parseNextEvent();
+ while (event != null) {
+ if (event.getChildren() != null) {
+ for (BaseStructure crateBank : event.getChildren()) {
+ int crateTag = crateBank.getHeader().getTag();
+ if (crateTag == SVT_BANK_TAG) {
+ int[] intData = crateBank.getIntData();
+ if (intData.length % 4 != 0) {
+ throw new RuntimeException("Size of int array not divisible by 4!");
+ }
+ int n = intData.length;
+ for (int i=0; i<n; i+=4) {
+
+ int[] sampleData = new int[4];
+ sampleData[0] = intData[i];
+ sampleData[1] = intData[i+1];
+ sampleData[2] = intData[i+2];
+ sampleData[3] = intData[i+3];
+
+ HPSSVTData svtData = new HPSSVTData(sampleData);
+
+ int fpga = svtData.getFPGAAddress();
+ int hybrid = svtData.getHybridNumber();
+ int channel = svtData.getChannelNumber();
+ int apv = svtData.getAPVNumber();
+
+ System.out.println("fpga=" + fpga + "; hybrid=" + hybrid + "; channel=" + channel + "; apv=" + apv);
+ for (int j=0; j<6; j++) {
+ int val = svtData.getSample(j);
+ System.out.println(" sample[" + j + "]="+val);
+ }
+ }
+ } else if (crateTag == ECAL_TOP_BANK_TAG || crateTag == ECAL_BOTTOM_BANK_TAG) {
+ if (crateBank.getChildCount() > 0) {
+ for (BaseStructure slotBank : crateBank.getChildren()) {
+ CompositeData cdata = slotBank.getCompositeData();
+ System.out.println("ecal.tag="+Integer.toHexString(slotBank.getHeader().getTag()));
+ System.out.println("cdata has " + cdata.getItems().size() + " items");
+ System.out.println("cdata has " + cdata.getTypes().size() + " types");
+ System.out.println("cdata has " + cdata.getNValues().size() + " N values");
+ int n = cdata.getNValues().size();
+ for (int i=0; i<n; i++) {
+ System.out.println("cdata.N["+i+"]="+cdata.getNValues().get(i));
+ }
+ int ni = cdata.getItems().size();
+ for (int i=0; i<ni; i++) {
+ System.out.println("cdata.type["+i+"]="+cdata.getTypes().get(i));
+ }
+ int slot = cdata.getByte();
+ int trigger = cdata.getInt();
+ long timestamp = cdata.getLong();
+ int nchannels = cdata.getNValue();
+ System.out.println("slot#="+slot+"; trigger="+trigger+"; timestamp="+timestamp+"; nchannels="+nchannels);
+ for (int i=0; i<nchannels; i++) {
+ int channelNumber = cdata.getByte();
+ int npulses = cdata.getNValue();
+ System.out.println(" channel="+channelNumber+"; npulses="+npulses);
+ for (int j=0; j<npulses; j++) {
+ short pulseTime = cdata.getShort();
+ int pulseIntegral = cdata.getInt();
+ System.out.println(" pulseTime="+pulseTime+"; pulseIntegral="+pulseIntegral);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (reader.getNumEventsRemaining() == 0) {
+ break;
+ }
+ event = reader.parseNextEvent();
+ }
+ }
+ }
+}
hps-java/sandbox
diff -N RawTrackerHitToEvio4Converter_Test.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RawTrackerHitToEvio4Converter_Test.java 4 May 2012 02:23:57 -0000 1.1
@@ -0,0 +1,9 @@
+package org.lcsim.hps.evio;
+
+import junit.framework.TestCase;
+
+public class RawTrackerHitToEvio4Converter_Test extends TestCase {
+ public void testIt() throws Exception {
+ RawTrackerHitToEvio4Converter.testMe();
+ }
+}
\ No newline at end of file
hps-java/sandbox
diff -N RawTrackerHitToEvio4Converter.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RawTrackerHitToEvio4Converter.java 4 May 2012 02:23:57 -0000 1.1
@@ -0,0 +1,135 @@
+package org.lcsim.hps.evio;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.List;
+
+import org.jlab.coda.jevio.BaseStructureHeader;
+import org.jlab.coda.jevio.CompositeData;
+import org.jlab.coda.jevio.DataType;
+import org.jlab.coda.jevio.EventWriter;
+import org.jlab.coda.jevio.EvioEvent;
+import org.jlab.coda.jevio.EvioException;
+import org.jlab.coda.jevio.EvioReader;
+import org.jlab.coda.jevio.test.CompositeTester;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.RawTrackerHit;
+import org.lcsim.util.Driver;
+import org.lcsim.util.cache.FileCache;
+import org.lcsim.util.loop.LCSimLoop;
+
+/**
+ * Test class that converts RawTrackerHit output from SeedTracker into EVIO v4 CompositeData objects
+ * and compares the two to make sure they match.
+ *
+ * @author Jeremy McCormick <[log in to unmask]>
+ * @version $Id: RawTrackerHitToEvio4Converter.java,v 1.1 2012/05/04 02:23:57 meeg Exp $
+ */
+public class RawTrackerHitToEvio4Converter extends Driver {
+
+ private final String format = "N(L,I,I)";
+ private String rawHitCollectionName = "RawTrackerHitMaker_RawTrackerHits";
+ private static String lcioFileName = "ap2.2gev050mevsel_SLIC-v2r11p1_geant4-v9r3p2_QGSP_BERT_HPS-Test-JLAB-v4pt0_trackRecon.slcio";
+ //private static String lcioFileUrl = "http://www.lcsim.org/test/hps/" + lcioFileName;
+ private static String lcioFileUrl = "file:///u1/hps/trackerTest/" + lcioFileName;
+ private static String evioFileName = "compositeDataTest.evio";
+ private EventWriter writer;
+
+ public RawTrackerHitToEvio4Converter() {}
+
+ public static void testMe() throws Exception {
+
+ // Write EVIO v4 test events.
+ FileCache cache = new FileCache();
+ cache.setCacheDirectory(new File("."));
+ File file = cache.getCachedFile(new URL(lcioFileUrl));
+ LCSimLoop loop = new LCSimLoop();
+ loop.setLCIORecordSource(file);
+ loop.add(new RawTrackerHitToEvio4Converter());
+ loop.loop(-1);
+ System.out.println("processed " + loop.getTotalCountableSupplied() + " events");
+ loop.dispose();
+
+ // Read back events.
+ EvioReader reader = new EvioReader(evioFileName);
+ EvioEvent event = reader.parseNextEvent();
+ while (true) {
+ CompositeData cdata = event.getCompositeData();
+ List<Object> items = cdata.getItems();
+ int n = items.size();
+ for (int i=0; i<n; i+=3) {
+ Long id = (Long)items.get(i);
+ int time = (Integer)items.get(i+1);
+ int adcValue = (Integer)items.get(i+2);
+ System.out.println("id=0x"+Long.toHexString(id)+"; time="+time+"; adcValue="+adcValue);
+ }
+ if (reader.getNumEventsRemaining() == 0) {
+ break;
+ }
+ event = reader.parseNextEvent();
+ }
+ reader.close();
+ }
+
+ private CompositeData convertToCompositeData(List<RawTrackerHit> hits) {
+ int dataSize = hits.size();
+ CompositeData.Data data = new CompositeData.Data();
+ data.addN(dataSize);
+ for (RawTrackerHit hit : hits) {
+ data.addLong(hit.getCellID());
+ data.addInt(hit.getTime());
+ data.addInt(hit.getADCValues()[0]);
+ }
+ CompositeData cdata = null;
+ try {
+ cdata = new CompositeData(format, 1, data, 0 ,0);
+ }
+ catch (EvioException e) {
+ throw new RuntimeException(e);
+ }
+
+ return cdata;
+ }
+
+ public void setRawHitCollectionName(String rawHitCollectionName) {
+ this.rawHitCollectionName = rawHitCollectionName;
+ }
+
+ public void startOfData() {
+ try {
+ writer = new EventWriter(evioFileName);
+ } catch (EvioException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void endOfData() {
+ try {
+ writer.close();
+ } catch (EvioException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void process(EventHeader event) {
+ List<RawTrackerHit> hits = event.get(RawTrackerHit.class, rawHitCollectionName);
+ System.out.println("event " + event.getEventNumber() + " has " + hits.size() + " RawTrackerHits");
+ CompositeData cdata = this.convertToCompositeData(hits);
+ CompositeTester.printCompositeDataObject(cdata);
+ EvioEvent ev = new EvioEvent(0, DataType.COMPOSITE, 0);
+ BaseStructureHeader header = ev.getHeader();
+ header.setTag(0xF); // Needed???
+ header.setNumber(1);
+ header.setDataType(DataType.COMPOSITE);
+ try {
+ ev.appendCompositeData(cdata);
+ ev.setAllHeaderLengths();
+ writer.writeEvent(ev);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
hps-java/sandbox
diff -N Evio4FileDumpTest.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Evio4FileDumpTest.java 4 May 2012 02:23:57 -0000 1.1
@@ -0,0 +1,58 @@
+package org.lcsim.hps.evio;
+
+import java.io.File;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.jlab.coda.jevio.BaseStructure;
+import org.jlab.coda.jevio.CompositeData;
+import org.jlab.coda.jevio.EvioEvent;
+import org.jlab.coda.jevio.EvioReader;
+import org.jlab.coda.jevio.test.CompositeTester;
+import org.lcsim.util.cache.FileCache;
+
+public class Evio4FileDumpTest extends TestCase {
+
+ public void testMe() throws Exception {
+
+ FileCache cache = new FileCache();
+ cache.setCacheDirectory(new File(".testdata"));
+ File evioTestData = cache.getCachedFile(new URL("http://www.lcsim.org/test/hps/hps_000246.dat")); // ECal data in pulse integral mode
+
+ EvioReader reader = new EvioReader(evioTestData);
+ EvioEvent event = reader.parseNextEvent();
+
+ int eventCount = 1;
+
+ while (true) {
+
+ System.out.println("event #" + eventCount);
+ System.out.println("event has " + event.getChildCount() + " children");
+ if (event.getChildCount() > 0) {
+ for (BaseStructure topBank : event.getChildren()) {
+ System.out.println("top bank has " + topBank.getChildCount() + " children");
+ if (topBank.getChildCount() > 0) {
+ for (BaseStructure subBank : topBank.getChildren()) {
+ System.out.println("subBank has " + subBank.getChildCount() + " children");
+ CompositeData cdata = subBank.getCompositeData();
+ System.out.println("Printing subBank CompositeData...");
+ if (cdata != null)
+ CompositeTester.printCompositeDataObject(cdata);
+ }
+ }
+ }
+ }
+
+ if (reader.getNumEventsRemaining() == 0) {
+ break;
+ }
+ else {
+ event = reader.parseNextEvent();
+ }
+ ++eventCount;
+ System.out.println("--------------------");
+ }
+
+ }
+}
CVSspam 0.2.12