lcsim/test/org/lcsim
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
+}