SlicDiagnostics/src/org/lcsim/slic/diagnostics
diff -N SlicDiagnosticsDriver.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ SlicDiagnosticsDriver.java 26 Jul 2005 00:05:07 -0000 1.1
@@ -0,0 +1,118 @@
+/*
+ * SlicDiagnosticsDriver.java
+ *
+ * Created on July 25, 2005, 4:04 PM
+ */
+
+package org.lcsim.slic.diagnostics;
+
+import java.util.List;
+import java.util.ArrayList;
+
+import org.lcsim.util.aida.AIDA;
+import org.lcsim.util.Driver;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.event.SimTrackerHit;
+import org.lcsim.event.SimCalorimeterHit;
+import org.lcsim.geometry.IDDecoder;
+
+/**
+ *
+ * @author jeremym
+ */
+public class SlicDiagnosticsDriver extends Driver
+{
+ private AIDA aida = AIDA.defaultInstance();
+
+ //private List<String> calHitColls = new ArrayList<String>();
+ //private List<String> trkHitColls = new ArrayList<String>();
+ List<BasicHit> hits;
+
+ /** Creates a new instance of SlicDiagnosticsDriver */
+ public SlicDiagnosticsDriver()
+ {}
+
+ protected void process(EventHeader event)
+ {
+ processTrackerCollections(event);
+ processCalorimeterCollections(event);
+ }
+
+ private void processTrackerCollections(EventHeader event)
+ {
+ List<List<SimTrackerHit>> simTrackerHitCollections = event.get(SimTrackerHit.class);
+ System.out.println("simTrackerHitColls: " + simTrackerHitCollections.size() );
+
+ for ( List<SimTrackerHit> simTrackerHits : simTrackerHitCollections )
+ {
+ LCMetaData meta = event.getMetaData(simTrackerHits);
+ System.out.println(meta.getName() );
+ }
+ }
+
+ private void processCalorimeterCollections(EventHeader event)
+ {
+ List<List<SimCalorimeterHit>> simCalorimeterHitCollections = event.get(SimCalorimeterHit.class);
+ System.out.println("simCalHitColls: " + simCalorimeterHitCollections.size() );
+
+ for ( List<SimCalorimeterHit> simCalorimeterHits : simCalorimeterHitCollections)
+ {
+ LCMetaData meta = event.getMetaData(simCalorimeterHits);
+ System.out.println(meta.getName());
+ }
+ }
+
+ private GenericHit makeBasicHit(SimCalorimeterHit calorimeterHit, LCMetaData meta)
+ {
+ IDDecoder decoder = meta.getIDDecoder();
+ decoder.setID(calorimeterHit.getCellID() );
+ int layer = decoder.getLayer();
+
+ return new GenericHit(
+ GenericHit.HitType.CALORIMETER,
+ meta.getName(),
+ calorimeterHit.getEnergy(),
+ calorimeterHit.getPosition(),
+ layer,
+ calorimeterHit.getContributedTime(0) // smallest time???
+ );
+ }
+
+ private GenericHit makeBasicHit(SimTrackerHit trackerHit, LCMetaData meta)
+ {
+ IDDecoder decoder = meta.getIDDecoder();
+ decoder.setID(trackerHit.getCellID() );
+ int layer = decoder.getLayer();
+
+ return new GenericHit(
+ GenericHit.HitType.TRACKER,
+ meta.getName(),
+ trackerHit.getdEdx(),
+ trackerHit.getPoint(),
+ layer,
+ trackerHit.getTime()
+ );
+ }
+
+ private class GenericHit
+ {
+ private double energy;
+ private double[] position;
+ private int layer;
+ private double time;
+ enum HitType { TRACKER, CALORIMETER };
+ HitType hitType;
+ String collName;
+
+ GenericHit(HitType hitType, String collName, double energy, double[] position, int layer, double time)
+ {
+ this.hitType = hitType;
+ this.collName = collName;
+ this.energy = energy;
+ this.position = position;
+ this.layer = layer;
+ this.time = time;
+ }
+ }
+}
SlicDiagnostics/test/org/lcsim/slic/diagnostics
diff -N SlicDiagnosticsTest.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ SlicDiagnosticsTest.java 26 Jul 2005 00:05:07 -0000 1.1
@@ -0,0 +1,56 @@
+package org.lcsim.slic.diagnostics;
+
+import java.io.File;
+import java.net.URL;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.cache.FileCache;
+import org.lcsim.util.loop.LCSimLoop;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author jeremym
+ */
+public class SlicDiagnosticsTest extends TestCase
+{
+ private int recordCount = 0;
+
+ private void runTestFile(String s) throws Exception
+ {
+ System.out.println("Running SlicDiagnosticsTest on file: " + s);
+
+ URL url = new URL(s);
+ FileCache cache = new FileCache();
+ File file = cache.getCachedFile(url);
+
+ recordCount = 0;
+ LCSimLoop loop = new LCSimLoop();
+ loop.setLCIORecordSource(file);
+ loop.add(new SlicDiagnosticsDriver());
+// loop.loop(-1);
+ loop.loop(1);
+ loop.dispose();
+ }
+
+ public void testSlicDiagnostics() throws Exception
+ {
+ runTestFile("http://www.lcsim.org/test/lcio/muons_SLIC_v1r9p1_sidmay05.slcio");
+ runTestFile("http://www.lcsim.org/test/lcio/muons_SLIC_v1r9p1_sidmay05_np.slcio");
+ }
+
+ public SlicDiagnosticsTest(String testName)
+ {
+ super(testName);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(SlicDiagnosticsTest.class);
+ }
+
+ protected void setUp() throws Exception
+ {}
+}
\ No newline at end of file