lcsim/test/org/lcsim/util/lcio
diff -N RawTrackerHitIOTest.java
--- RawTrackerHitIOTest.java 25 Mar 2009 02:05:29 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,90 +0,0 @@
-package org.lcsim.util.lcio;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import junit.framework.TestCase;
-
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawTrackerHit;
-import org.lcsim.event.SimTrackerHit;
-import org.lcsim.event.base.BaseRawTrackerHit;
-import org.lcsim.util.Driver;
-import org.lcsim.util.cache.FileCache;
-import org.lcsim.util.loop.LCIODriver;
-import org.lcsim.util.loop.LCSimLoop;
-import org.lcsim.util.test.TestUtil.TestOutputFile;
-
-/**
- *
- * Create some test RawTrackerHits, write them out, and then read back in.
- * Primarily checks if {@link #getSimTrackerHits} works correctly.
- *
- * @author jeremym
- * @version $id: $
- */
-public class RawTrackerHitIOTest extends TestCase
-{
- public void testRawTrackerHitIO() throws Exception
- {
- // Read in a file and write out some test RawTrackerHits.
- FileCache cache = new FileCache();
- File inputFile = cache.getCachedFile(new URL("http://www.lcsim.org/test/lcio/muons10_Theta4-176_1-10GeV_SLIC-v2r5p3_geant4-v9r1p2_LCPhys_sid01_planar_tracker.slcio"));
- LCSimLoop loop = new LCSimLoop();
- loop.setLCIORecordSource(inputFile);
- loop.add(new SimpleRawHitMaker());
- File outputFile = new TestOutputFile("RawTrackerHitIOTest.slcio");
- loop.add(new LCIODriver(outputFile));
- loop.loop(1,null);
- loop.dispose();
-
- // Read back file from above.
- loop = new LCSimLoop();
- loop.setLCIORecordSource(outputFile);
- loop.add(new RawTrackerHitCheck());
- loop.loop(1,null);
- loop.dispose();
- }
-
- class SimpleRawHitMaker extends Driver
- {
- public void process(EventHeader event)
- {
- List<SimTrackerHit> simHits = event.get(SimTrackerHit.class, "SiTrackerBarrel_RO");
- List<RawTrackerHit> rawHits = new ArrayList<RawTrackerHit>();
- for (SimTrackerHit simHit : simHits)
- {
- List<SimTrackerHit> hitList = new ArrayList<SimTrackerHit>();
- hitList.add(simHit);
- RawTrackerHit rawHit = new BaseRawTrackerHit(0, simHit.getCellID(), new short[] {}, hitList, null);
- rawHits.add(rawHit);
- }
- int flag = (1 << LCIOConstants.RTHBIT_HITS);
- event.put("RawTrackerHits", rawHits, RawTrackerHit.class, flag, "SiTrackerBarrel_RO");
- }
- }
-
- class RawTrackerHitCheck extends Driver
- {
- public void process(EventHeader event)
- {
- List<RawTrackerHit> rawHits = event.get(RawTrackerHit.class, "RawTrackerHits");
- int simHitsRead = 0;
- for (RawTrackerHit rawHit : rawHits)
- {
- List<SimTrackerHit> simHits = rawHit.getSimTrackerHits();
- if (simHits.size() < 0)
- throw new RuntimeException("No SimTrackerHit found on RawTrackerHit!");
- for (SimTrackerHit simHit : simHits)
- {
- if (rawHit.getCellID() != simHit.getCellID())
- throw new RuntimeException("CellIDs do not match!");
- ++simHitsRead;
- }
- }
- assertEquals("Wrong number of SimTrackerHits!", simHitsRead, rawHits.size());
- System.out.println("Read <" + rawHits.size() + "> RawTrackerHits -- okay!");
- }
- }
-}
\ No newline at end of file