GeomConverter/test/org/lcsim/detector/converter/compact
diff -u -r1.9 -r1.10
--- DiskTrackerTest.java 25 Mar 2009 00:27:35 -0000 1.9
+++ DiskTrackerTest.java 10 Feb 2011 00:28:51 -0000 1.10
@@ -8,55 +8,52 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
-import org.lcsim.detector.DetectorElementStore;
import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.IDetectorElementContainer;
import org.lcsim.detector.IPhysicalVolumeNavigator;
import org.lcsim.detector.IPhysicalVolumePath;
+import org.lcsim.detector.identifier.IExpandedIdentifier;
+import org.lcsim.detector.identifier.IIdentifier;
import org.lcsim.geometry.Detector;
import org.lcsim.geometry.GeometryReader;
import org.lcsim.geometry.Subdetector;
/**
*
- * Perform tests on the detailed geometry of an
+ * Perform tests on the detailed geometry of an
*
- * @see org.lcsim.geometry.subdetector.DiskTracker
+ * @see org.lcsim.geometry.subdetector.DiskTracker
*
* @author Jeremy McCormick <[log in to unmask]>
- *
+ *
*/
-public class DiskTrackerTest
-extends TestCase
+public class DiskTrackerTest extends TestCase
{
private Detector detector;
-
+
public DiskTrackerTest(String name)
{
super(name);
}
-
+
public static junit.framework.Test suite()
{
return new TestSuite(DiskTrackerTest.class);
}
-
- private static final String resource =
- "/org/lcsim/detector/converter/compact/DiskTrackerTest.xml";
-
+
+ private static final String resource = "/org/lcsim/detector/converter/compact/DiskTrackerTest.xml";
+
public void setUp()
{
- InputStream in =
- this.getClass().
- getResourceAsStream(resource);
-
+ InputStream in = this.getClass().getResourceAsStream(resource);
+
GeometryReader reader = new GeometryReader();
-
- try
+
+ try
{
detector = reader.read(in);
}
- catch ( Throwable x )
+ catch (Throwable x)
{
throw new RuntimeException(x);
}
@@ -68,77 +65,84 @@
IDetectorElement subdet = compact.getDetectorElement();
for (IDetectorElement endcap : subdet.getChildren())
{
+ // System.out.println("endcap: " + endcap.getName());
IDetectorElementContainer layers = endcap.getChildren();
- assertEquals("Expected number of sensors is wrong!",layers.size(),2);
- IDetectorElement layer = layers.get(0);
- try {
- assertEquals(layer.getIdentifierHelper().getValue(layer.getIdentifier(), "system"),compact.getIDDecoder().getSystemNumber());
- int barrel=layer.getIdentifierHelper().getValue(layer.getIdentifier(), "barrel");
- assertTrue(barrel == 1 || barrel == 2);
- assertTrue(layer.getIdentifierHelper().getValue(layer.getIdentifier(), "layer") == 0);
- }
- catch (Exception x)
+ // System.out.println("layers: " + layers.size());
+ assertEquals("Expected number of layers is wrong.", layers.size(), 1);
+ for (IDetectorElement layer : endcap.getChildren())
{
- throw new RuntimeException(x);
+ int sensorNumber = 0;
+ for (IDetectorElement sensor : layer.getChildren())
+ {
+ // System.out.println("sensor: " + sensor.getName());
+ IIdentifier id = sensor.getIdentifier();
+ IExpandedIdentifier expId = sensor.getIdentifierHelper().unpack(id);
+ // System.out.println(expId.toString());
+ assertEquals(sensor.getIdentifierHelper().getValue(sensor.getIdentifier(), "system"), compact
+ .getIDDecoder().getSystemNumber());
+ int barrel = sensor.getIdentifierHelper().getValue(sensor.getIdentifier(), "barrel");
+ assertTrue(barrel == 1 || barrel == 2);
+ assertTrue(sensor.getIdentifierHelper().getValue(sensor.getIdentifier(), "layer") == 0);
+ assertTrue(sensor.getIdentifierHelper().getValue(sensor.getIdentifier(), "slice") == sensorNumber);
+ ++sensorNumber;
+ }
}
}
}
/**
- * Scan the geometry with some points along the z axis.
- * Check that the points are within the correct geometric
+ * Scan the geometry with some points along the z axis. Check that the points are within the correct geometric
* volumes and DetectorElements.
*/
public void testZPointScan()
- {
+ {
IPhysicalVolumeNavigator navigator = detector.getNavigator();
-
- double[] zpoints = new double[] {
- 12.1,
- 11.1,
- 10.1,
- 0.,
- -10.1,
- -11.1,
- -12.1
- };
-
- String[] pathAnswerKey = new String[] {
- "/tracking_region",
- "/tracking_region/DiskTracker_positive_layer0/slice1",
- "/tracking_region/DiskTracker_positive_layer0/slice0",
- "/tracking_region",
- "/tracking_region/DiskTracker_negative_layer0/slice0",
- "/tracking_region/DiskTracker_negative_layer0/slice1",
- "/tracking_region"
- };
-
- String[] deAnswerKey = new String[] {
- "DiskTrackerTest",
- "DiskTracker_positive_layer0_sensor1",
- "DiskTracker_positive_layer0_sensor0",
- "DiskTrackerTest",
- "DiskTracker_negative_layer0_sensor0",
- "DiskTracker_negative_layer0_sensor1",
- "DiskTrackerTest"
- };
+
+ double[] zpoints = new double[]{12.1,11.1,10.1,0.,-10.1,-11.1,-12.1};
+
+ String[] pathAnswerKey =
+ new String[]{
+ "/tracking_region",
+ "/tracking_region/DiskTracker_layer0_pos/DiskTracker_layer0_slice1",
+ "/tracking_region/DiskTracker_layer0_pos/DiskTracker_layer0_slice0",
+ "/tracking_region",
+ "/tracking_region/DiskTracker_layer0_neg/DiskTracker_layer0_slice0",
+ "/tracking_region/DiskTracker_layer0_neg/DiskTracker_layer0_slice1",
+ "/tracking_region"
+ };
- for ( int i=0; i<zpoints.length; i++ )
- {
- Hep3Vector zpoint = new BasicHep3Vector(0,0,zpoints[i]);
-
+ String[] deAnswerKey =
+ new String[]{
+ "DiskTrackerTest",
+ "DiskTracker_layer0_slice1_pos",
+ "DiskTracker_layer0_slice0_pos",
+ "DiskTrackerTest",
+ "DiskTracker_layer0_slice0_neg",
+ "DiskTracker_layer0_slice1_neg",
+ "DiskTrackerTest"
+ };
+
+ for (int i = 0; i < zpoints.length; i++ )
+ {
+ Hep3Vector zpoint = new BasicHep3Vector(0, 0, zpoints[i]);
+
IPhysicalVolumePath path = navigator.getPath(zpoint);
-
- assertEquals(
- "Wrong path <" + path.toString() + "> at z = " + zpoints[i] + ". Expected <" + pathAnswerKey[i] + ">.",
- path.toString(),
- pathAnswerKey[i]
- );
-
+
+ //System.out.println(path);
+ //System.out.println("path: " + path);
+ //System.out.println("pathAnswer: " + pathAnswerKey[i]);
+
+ assertEquals("Wrong path <" + path.toString() + "> at z = " + zpoints[i] + ". Expected <"
+ + pathAnswerKey[i] + ">.", path.toString(), pathAnswerKey[i]);
+
IDetectorElement srch = detector.getDetectorElement().findDetectorElement(zpoint);
-
- assertTrue("Wrong DE <" + srch.getName() + "> at z = " + zpoints[i] + ". Expected <" + deAnswerKey[i] + ">.",
- srch.getName().equals(deAnswerKey[i]));
+
+ //System.out.println(srch.getName());
+ //System.out.println("deAnswer: " + deAnswerKey[i]);
+
+ assertTrue("Wrong DE <" + srch.getName() + "> at z = " + zpoints[i] + ". Expected <" + deAnswerKey[i]+ ">.", srch.getName().equals(deAnswerKey[i]));
+
+ //System.out.println("--");
}
- }
+ }
}