GeomConverter/src/org/lcsim/geometry/layer
diff -u -r1.4 -r1.5
--- LayerFromCompactCnv.java 20 Aug 2005 19:55:59 -0000 1.4
+++ LayerFromCompactCnv.java 25 Aug 2005 07:56:10 -0000 1.5
@@ -24,7 +24,7 @@
{}
public static LayerStack makeLayerStackFromCompact(Element e) throws JDOMException, DataConversionException
- {
+ {
// System.out.println("making layers: " + e.getAttributeValue("name"));
if ( e == null )
@@ -94,7 +94,7 @@
/* Make a new slice. Ctor will look up material. */
LayerSlice s = new LayerSlice(matName,
thickness.getDoubleValue(),
- isSens);
+ isSens);
/* Add slice to current layer. */
lyr.addSlice(s);
@@ -103,15 +103,16 @@
/* Add layer to stack once for each repetition. */
for (int k = 0; k < repeat; k++)
{
- // System.out.println("add layer");
+ // System.out.println("add layer");
layerStack.addLayer(lyr);
}
}
}
- else {
+ else
+ {
System.err.println("LayerFromCompactCnv.makeLayerStackFromCompact() - no layer child elements to build");
}
-
+
return layerStack;
}
@@ -131,4 +132,23 @@
}
return thickness;
}
+
+ public static double computeDetectorTotalThickness(Element node) throws JDOMException
+ {
+ double totalThickness = 0;
+ for (Iterator i = node.getChildren("layer").iterator(); i.hasNext();)
+ {
+ Element layer = (Element) i.next();
+ int repeat = layer.getAttribute("repeat").getIntValue();
+ for ( int j=0; j<repeat; j++)
+ {
+ for ( Iterator k = layer.getChildren("slice").iterator(); k.hasNext();)
+ {
+ Element slice = (Element) k.next();
+ totalThickness += slice.getAttribute("thickness").getDoubleValue();
+ }
+ }
+ }
+ return totalThickness;
+ }
}
\ No newline at end of file