GeomConverter/test/org/lcsim/geometry/compact
diff -u -r1.5 -r1.6
--- CompactReaderTest.java 1 Nov 2005 22:47:28 -0000 1.5
+++ CompactReaderTest.java 1 Dec 2005 03:35:24 -0000 1.6
@@ -3,7 +3,6 @@
import java.io.IOException;
import junit.framework.*;
import java.io.InputStream;
-import java.util.Map;
import org.jdom.JDOMException;
import org.lcsim.util.xml.ElementFactory.ElementCreationException;
@@ -13,26 +12,50 @@
*/
public class CompactReaderTest extends TestCase
{
- public CompactReaderTest(String testName)
- {
- super(testName);
- }
-
- public static Test suite()
- {
- return new TestSuite(CompactReaderTest.class);
- }
-
- /**
- * Test of read method, of class org.lcsim.geometry.compact.CompactReader.
- */
- public void testRead() throws IOException, JDOMException, ElementCreationException
- {
- InputStream in = CompactReaderTest.class.getResourceAsStream("sdjan03_compact.xml");
- CompactReader reader = new CompactReader();
- Detector det = reader.read(in);
-// Map dets = det.getSubdetectors();
-// System.out.println(dets.keySet());
- assertEquals(10,det.getSubdetectors().size());
- }
+ Detector det = null;
+
+ public CompactReaderTest(String testName)
+ {
+ super(testName);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(CompactReaderTest.class);
+ }
+
+ /* setup the in-memory rep of compact XML description from test file */
+ protected void setUp() throws Exception
+ {
+ InputStream in = CompactReaderTest.class.getResourceAsStream("sdjan03_compact.xml");
+ CompactReader reader = new CompactReader();
+ det = reader.read(in);
+ }
+
+ /* subdetector count */
+ public void testDetectorCount()
+ {
+ assertEquals(11,det.getSubdetectors().size());
+ }
+
+ /* limits test */
+ public void testLimits()
+ {
+ LimitSet limitset = det.getLimitSet("MyLimits");
+ assert(limitset != null);
+
+ Limit limit = limitset.getLimit("step_length_max");
+ assert(limit != null);
+
+ assertEquals(limit.getValue(), 1.0);
+ assertEquals(limit.getUnit(), "mm");
+ assertEquals(limit.getParticles(), "*");
+ }
+
+ /* regions test */
+ public void testRegions()
+ {
+ Region region = det.getRegion("MyRegion");
+ assert(region != null);
+ }
}
\ No newline at end of file
GeomConverter/test/org/lcsim/geometry/compact
diff -u -r1.12 -r1.13
--- sdjan03_compact.xml 5 Jul 2005 22:45:12 -0000 1.12
+++ sdjan03_compact.xml 1 Dec 2005 03:35:24 -0000 1.13
@@ -1,8 +1,5 @@
<!--
Time-stamp: <2004-12-14 11:20:57 jeremym>
-
- Example compact description ("lccdd") corresponding to
- stdhep examples in SLIC: examples/stdhep/barr.lcdd.
-->
<!-- top-level compact description element -->
@@ -54,13 +51,34 @@
</materials>
+ <limits>
+ <limitset name="MyLimits">
+ <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
+ </limitset>
+ </limits>
+
+ <regions>
+ <region name="MyRegion" store_secondaries="true" cut="0.1" lunit="mm" threshold="0.001" eunit="GeV" />
+ </regions>
+
<detectors>
+
+ <detector id="0" name="BeamPipe" type="PolyconeSupport" insideTrackingVolume="true">
+ <material name="Beryllium"/>
+ <zplane rmin = "((tracking_region_zmax-6.25)*(8.96-1.2)/(185.-6.25)+1.2)" rmax="((tracking_region_zmax-6.25)*(8.96-1.2)/(185.-6.25)+1.3)" z="-tracking_region_zmax" />
+ <zplane rmin="1.2*cm" rmax="1.3*cm" z="-6.251*cm"/>
+ <zplane rmin="1.2*cm" rmax="1.240*cm" z="-6.25*cm"/>
+ <zplane rmin="1.2*cm" rmax="1.240*cm" z="6.25*cm" />
+ <zplane rmin="1.2*cm" rmax="1.3*cm" z="6.251*cm" />
+ <zplane rmin = "((tracking_region_zmax-6.25)*(8.96-1.2)/(185.-6.25)+1.2)" rmax="((tracking_region_zmax-6.25)*(8.96-1.2)/(185.-6.25)+1.3)" z="tracking_region_zmax" />
+ </detector>
+
<detector id="0" name="BarrelVertex" type="MultiLayerTracker" readout="VtxBarrHits">
<layer id="1" inner_r = "vertex_inner_r" outer_z = "2.5*cm">
- <slice material = "Silicon" thickness = "0.01*cm" sensitive = "yes" />
+ <slice material = "Silicon" thickness = "0.01*cm" sensitive = "yes" limits="MyLimits" />
</layer>
<layer id="2" inner_r = "vertex_inner_r + 1 * vertex_delta_r" outer_z = "vertex_outer_z">
- <slice material = "Silicon" thickness = "0.01*cm" sensitive = "yes" />
+ <slice material = "Silicon" thickness = "0.01*cm" sensitive = "yes" region="MyRegion"/>
</layer>
<layer id="3" inner_r = "vertex_inner_r + 2 * vertex_delta_r" outer_z = "vertex_outer_z">
<slice material = "Silicon" thickness = "0.01*cm" sensitive = "yes" />
@@ -98,7 +116,7 @@
<detector id="2" name="EndcapTracker" type="DiskTracker" reflect="true" readout="TkrEndcapHits">
<layer id="1" inner_r = "4.0*cm" inner_z = "27.1*cm" outer_r = "20.50*cm">
- <slice material = "Silicon" thickness = "0.02*cm" sensitive = "yes" />
+ <slice material = "Silicon" thickness = "0.02*cm" sensitive = "yes" limits="MyLimits" />
</layer>
<layer id="2" inner_r = "4.0*cm" inner_z = "27.12*cm" outer_r = "20.50*cm">
<slice material = "Silicon" thickness = "0.02*cm" sensitive = "yes" />