GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
diff -u -r1.14 -r1.15
--- PolyhedraBarrelCalorimeter.java 6 Dec 2006 01:09:16 -0000 1.14
+++ PolyhedraBarrelCalorimeter.java 18 Dec 2007 22:14:50 -0000 1.15
@@ -40,7 +40,7 @@
private static final double STAVE_GAP = 0.1;
// Gap on the side of a layer within the stave. (1 micron)
- private static final double LAYER_SIDE_GAP = STAVE_GAP + 0.01;
+ //private static final double LAYER_SIDE_GAP = STAVE_GAP + 0.01 + 100.0;
// Gap between layers in the stave. (1 micron)
private static final double INTER_LAYER_GAP = 0.01;
@@ -66,7 +66,13 @@
// Subdetector name and ID.
String detName = node.getAttributeValue("name");
int id = node.getAttribute("id").getIntValue();
-
+
+ double staveGap = 0.1;
+ if (node.getAttribute("staveGap") != null)
+ {
+ staveGap = node.getAttribute("staveGap").getDoubleValue();
+ }
+
// Subdetector envelope dimensions.
Element dimensions = node.getChild("dimensions");
double detZ = dimensions.getAttribute("z").getDoubleValue();
@@ -144,11 +150,11 @@
double stave_thickness = total_thickness - STAVE_GAP * 2;
Trapezoid sectTrd = new Trapezoid(detName + "_stave_trapezoid");
- sectTrd.setY2(detZ);
- sectTrd.setY1(detZ);
- sectTrd.setZ(stave_thickness);
- sectTrd.setX1(innerFaceLength - STAVE_GAP);
- sectTrd.setX2(outerFaceLength - STAVE_GAP);
+ sectTrd.setY2(detZ/2);
+ sectTrd.setY1(detZ/2);
+ sectTrd.setZ(stave_thickness/2);
+ sectTrd.setX1((innerFaceLength/2) - STAVE_GAP);
+ sectTrd.setX2((outerFaceLength/2) - STAVE_GAP);
solids.addSolid(sectTrd);
Volume sectVolume = new Volume(detName + "_stave");
@@ -212,7 +218,8 @@
// Layer box.
Box layer_box = new Box(layer_name + "_box");
- layer_box.setX(layer_dim_x - LAYER_SIDE_GAP);
+ //layer_box.setX(layer_dim_x - LAYER_SIDE_GAP); // TESTING
+ layer_box.setX(layer_dim_x - staveGap);
layer_box.setY(detZ);
layer_box.setZ(layer_thickness);
solids.addSolid(layer_box);
@@ -255,7 +262,7 @@
// Slice box.
Box slice_box = new Box(slice_name + "_box");
- slice_box.setX(layer_dim_x - LAYER_SIDE_GAP);
+ slice_box.setX(layer_dim_x - staveGap);
slice_box.setY(detZ);
slice_box.setZ(slice_thickness);
solids.addSolid(slice_box);
GeomConverter/testResources/org/lcsim/geometry/subdetector
diff -u -r1.2 -r1.3
--- PolyhedraBarrelCalorimeterTest.xml 14 Sep 2007 23:48:59 -0000 1.2
+++ PolyhedraBarrelCalorimeterTest.xml 18 Dec 2007 22:15:04 -0000 1.3
@@ -28,7 +28,8 @@
<detector id="1"
name="PolyhedraBarrelCalorimeterSubdet"
type="PolyhedraBarrelCalorimeter"
- readout="CalHits">
+ readout="CalHits"
+ staveGap="100.0">
<dimensions numsides="8" z="1000.0" rmin="500.0"/>
<layer repeat="30">
<slice material="Silicon" thickness="5.0" sensitive="yes" />