Print

Print


Commit in SlicDiagnostics on MAIN
src/org/lcsim/slic/diagnostics/SlicDiagnosticsDriver.java+118added 1.1
test/org/lcsim/slic/diagnostics/SlicDiagnosticsTest.java+56added 1.1
+174
2 added files
Add (stub) driver and simple test for SlicDiagnostic package.

SlicDiagnostics/src/org/lcsim/slic/diagnostics
SlicDiagnosticsDriver.java added at 1.1
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
SlicDiagnosticsTest.java added at 1.1
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
CVSspam 0.2.8