Commit in lcsim/test/org/lcsim on MAIN
HitMixingTest.java+20-211.1 -> 1.2


lcsim/test/org/lcsim
HitMixingTest.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- HitMixingTest.java	23 May 2008 04:15:52 -0000	1.1
+++ HitMixingTest.java	23 May 2008 10:18:19 -0000	1.2
@@ -5,12 +5,16 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
 import junit.framework.TestCase;
 
 import org.freehep.record.loop.LoopException;
 import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.event.SimCalorimeterHit;
+import org.lcsim.geometry.IDDecoder;
 import org.lcsim.util.Driver;
 import org.lcsim.util.cache.FileCache;
 import org.lcsim.util.loop.LCSimLoop;
@@ -20,6 +24,7 @@
 public class HitMixingTest extends TestCase
 {
     private static int nhits;
+    private static Map<SimCalorimeterHit,LCMetaData> origMeta = new HashMap<SimCalorimeterHit,LCMetaData>();
         
     public void testMix() throws IOException, LoopException
     {
@@ -38,18 +43,23 @@
         public void process(EventHeader event)
         {
             List<SimCalorimeterHit> combined = new ArrayList<SimCalorimeterHit>();
+            List<SimCalorimeterHit> combined2 = new ArrayList<SimCalorimeterHit>();
                         
             List<List<SimCalorimeterHit>> collections = event.get(SimCalorimeterHit.class);
             for (List<SimCalorimeterHit> collection : collections)
             {
+                LCMetaData meta = event.getMetaData(collection);
                 for (SimCalorimeterHit hit : collection)
                 {
                     combined.add(hit);
+                    combined2.add(hit);
                     ++nhits;
+                    origMeta.put(hit,hit.getMetaData());
                 }
             }            
             
             event.put("CombinedHits", combined);
+            event.put("CombinedHits2", combined2, SimCalorimeterHit.class, 0, "EcalBarrHits");
         }        
     }
     
@@ -58,30 +68,19 @@
         public void process(EventHeader event)
         {
             List<SimCalorimeterHit> hits = event.get(SimCalorimeterHit.class, "CombinedHits");
-            try {
-                event.getMetaData(hits).getIDDecoder();
-                // This means an IDDecoder was created but it should not have been.                
-                assertTrue(false);
-            }
-            catch (Exception x)
-            {
-                System.out.println("Okay --> " + x.getLocalizedMessage());
-            }
+            List<SimCalorimeterHit> hits2 = event.get(SimCalorimeterHit.class,"CombinedHits2");
+
+            LCMetaData meta = event.getMetaData(hits);
+            try { IDDecoder dec = meta.getIDDecoder(); assertTrue(false); } catch (RuntimeException x) {}  
             assertEquals(hits.size(), nhits);
-            System.out.println("Found " + nhits + " hits in CombinedHits.");
+            //System.out.println("Found " + nhits + " hits in CombinedHits.");
             for (SimCalorimeterHit hit : hits)
             {
-                assertTrue(hit.getMetaData() != null);
-                assertTrue(hit.getSubdetector() != null);
-                assertTrue(hit.getIDDecoder() != null);
-                double p[] = hit.getPosition();
-                assertTrue(p != null);
-                assertTrue((abs(p[0]) + abs(p[1]) + abs(p[2])) > 0);
-                assertTrue(hit.getMCParticleCount() > 0);
-                assertTrue(hit.getCellID() != 0);
-                assertTrue(hit.getRawEnergy() != 0);
-                assertTrue(hit.getTime() != 0);
+                assertEquals(hit.getMetaData(),origMeta.get(hit));
+                //System.out.println(hit.getMetaData().getName());
             }
+
+            event.getMetaData(hits2).getIDDecoder(); // ok, it was specified
         }        
     }
-}
\ No newline at end of file
+}
CVSspam 0.2.8