lcsim/test/org/lcsim/detector/tracker
diff -u -r1.4 -r1.5
--- SimTrackerHitPositionalReadoutDriverTest.java 27 Apr 2007 23:38:18 -0000 1.4
+++ SimTrackerHitPositionalReadoutDriverTest.java 28 Apr 2007 00:36:53 -0000 1.5
@@ -2,6 +2,7 @@
import java.io.File;
import java.net.URL;
+import java.util.ArrayList;
import java.util.List;
import junit.framework.Test;
@@ -18,6 +19,7 @@
import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.IReadout;
import org.lcsim.detector.ReadoutCleanupDriver;
+import org.lcsim.geometry.compact.Subdetector;
/**
* Reads 2 muon event generated in sid01_polyhedra, which uses
@@ -61,8 +63,34 @@
extends Driver
{
protected void process(EventHeader header)
- {
- for ( SimTrackerHit hit : header.get(SimTrackerHit.class, "SiTrackerBarrel_RO") )
+ {
+ List<SimTrackerHit> hitsFromRO = new ArrayList<SimTrackerHit>();
+ Subdetector tkr = header.getDetector().getSubdetector("SiTrackerBarrel");
+ for ( IDetectorElement layer : tkr.getDetectorElement().getChildren() )
+ {
+ for ( IDetectorElement module : layer.getChildren() )
+ {
+ for ( IDetectorElement sensor : module.getChildren() )
+ {
+ IReadout<SimTrackerHit> ro = sensor.getReadout();
+ List<SimTrackerHit> hits = ro.getHits();
+ hitsFromRO.addAll( hits );
+ }
+ }
+ }
+
+ /*
+ System.out.println("hitsFromRO.size = " + hitsFromRO.size() );
+ for ( SimTrackerHit roHit : hitsFromRO )
+ {
+ System.out.println("got hit from RO - " + roHit.getCellID());
+ }*/
+
+ List<SimTrackerHit> eventHits = header.get(SimTrackerHit.class, "SiTrackerBarrel_RO");
+
+ assertTrue( "Event and RO hits do not have same size!", eventHits.size() == hitsFromRO.size() );
+
+ for ( SimTrackerHit hit : eventHits )
{
IDetectorElement de = hit.getDetectorElement();
//System.out.println("detectorElement="+de.getName());