Commit in GeomConverter/src/org/lcsim/geometry/layer on MAIN
LayerFromCompactCnv.java+25-51.4 -> 1.5
Added function to compute thickness of a subdetector.

GeomConverter/src/org/lcsim/geometry/layer
LayerFromCompactCnv.java 1.4 -> 1.5
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
CVSspam 0.2.8