Print

Print


Commit in GeomConverter/src/org/lcsim/geometry/subdetector on MAIN
MultiLayerTracker.java+92-821.8 -> 1.9
Accessor methods added for subdet geo.  (Commit for WL.)

GeomConverter/src/org/lcsim/geometry/subdetector
MultiLayerTracker.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- MultiLayerTracker.java	20 Jul 2005 19:11:59 -0000	1.8
+++ MultiLayerTracker.java	23 Jul 2005 00:42:23 -0000	1.9
@@ -1,83 +1,93 @@
-package org.lcsim.geometry.subdetector;
-
-import org.lcsim.geometry.subdetector.TrackerIDDecoder;
-
-import java.util.Iterator;
-import java.util.List;
-import org.jdom.DataConversionException;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-
-import hep.graphics.heprep.HepRep;
-import hep.graphics.heprep.HepRepFactory;
-import hep.graphics.heprep.HepRepInstance;
-import hep.graphics.heprep.HepRepInstanceTree;
-import hep.graphics.heprep.HepRepType;
-import hep.graphics.heprep.HepRepTypeTree;
-
-/**
- *
- * @author tonyj
- *
- */
-class MultiLayerTracker extends TrackerBase
-{
-    private double[] innerR;
-    private double[] outerZ;
-    private double[] thickness;
-    
-    MultiLayerTracker(Element node) throws JDOMException
-    {
-        super(node);
-        build(node);
-    }
-    
-    public boolean isBarrel()
-    {
-        return true;
-    }
-    
-    private void build(Element node) throws DataConversionException
-    {
-        List layers = node.getChildren("layer");
-        int n = layers.size();
-        innerR = new double[n];
-        outerZ = new double[n];
-        thickness = new double[n];
-        for (int i=0; i<n; i++)
-        {
-            Element layer = (Element) layers.get(i);
-            innerR[i] = layer.getAttribute("inner_r").getDoubleValue();
-            outerZ[i] = layer.getAttribute("outer_z").getDoubleValue();
-            thickness[i] = 0;
-            for (Iterator iter = layer.getChildren("slice").iterator(); iter.hasNext();)
-            {
-                Element slice = (Element) iter.next();
-                thickness[i] += slice.getAttribute("thickness").getDoubleValue();
-            }
-        }
-    }
-    
-    public void appendHepRep(HepRepFactory factory, HepRep heprep)
-    {
-        HepRepInstanceTree instanceTree = heprep.getInstanceTreeTop("Detector","1.0");
-        HepRepTypeTree typeTree = heprep.getTypeTree("DetectorType","1.0");
-        HepRepType barrel = typeTree.getType("Barrel");
-        
-        HepRepType type = factory.createHepRepType(barrel, getName());
-        type.addAttValue("drawAs","Cylinder");
-        
-        for (int i=0; i<innerR.length; i++)
-        {
-            HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
-            instance.addAttValue("radius",innerR[i]);
-            factory.createHepRepPoint(instance,0,0,-outerZ[i]);
-            factory.createHepRepPoint(instance,0,0,outerZ[i]);
-            
-            HepRepInstance instance2 = factory.createHepRepInstance(instanceTree, type);
-            instance2.addAttValue("radius",innerR[i]+thickness[i]);
-            factory.createHepRepPoint(instance2,0,0,-outerZ[i]);
-            factory.createHepRepPoint(instance2,0,0,outerZ[i]);
-        }
-    }
+package org.lcsim.geometry.subdetector;
+
+import org.lcsim.geometry.subdetector.TrackerIDDecoder;
+
+import java.util.Iterator;
+import java.util.List;
+import org.jdom.DataConversionException;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+
+import hep.graphics.heprep.HepRep;
+import hep.graphics.heprep.HepRepFactory;
+import hep.graphics.heprep.HepRepInstance;
+import hep.graphics.heprep.HepRepInstanceTree;
+import hep.graphics.heprep.HepRepType;
+import hep.graphics.heprep.HepRepTypeTree;
+
+/**
+ *
+ * @author tonyj
+ *
+ */
+public class MultiLayerTracker extends TrackerBase
+{
+    private double[] innerR;
+    private double[] outerZ;
+    private double[] thickness;
+    
+    public double[] getInnerR()
+    {
+        return(innerR);
+    }
+    
+    public double[] getOuterZ()
+    {
+        return(outerZ);
+    }
+    
+    MultiLayerTracker(Element node) throws JDOMException
+    {
+        super(node);
+        build(node);
+    }
+    
+    public boolean isBarrel()
+    {
+        return true;
+    }
+    
+    private void build(Element node) throws DataConversionException
+    {
+        List layers = node.getChildren("layer");
+        int n = layers.size();
+        innerR = new double[n];
+        outerZ = new double[n];
+        thickness = new double[n];
+        for (int i=0; i<n; i++)
+        {
+            Element layer = (Element) layers.get(i);
+            innerR[i] = layer.getAttribute("inner_r").getDoubleValue();
+            outerZ[i] = layer.getAttribute("outer_z").getDoubleValue();
+            thickness[i] = 0;
+            for (Iterator iter = layer.getChildren("slice").iterator(); iter.hasNext();)
+            {
+                Element slice = (Element) iter.next();
+                thickness[i] += slice.getAttribute("thickness").getDoubleValue();
+            }
+        }
+    }
+    
+    public void appendHepRep(HepRepFactory factory, HepRep heprep)
+    {
+        HepRepInstanceTree instanceTree = heprep.getInstanceTreeTop("Detector","1.0");
+        HepRepTypeTree typeTree = heprep.getTypeTree("DetectorType","1.0");
+        HepRepType barrel = typeTree.getType("Barrel");
+        
+        HepRepType type = factory.createHepRepType(barrel, getName());
+        type.addAttValue("drawAs","Cylinder");
+        
+        for (int i=0; i<innerR.length; i++)
+        {
+            HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
+            instance.addAttValue("radius",innerR[i]);
+            factory.createHepRepPoint(instance,0,0,-outerZ[i]);
+            factory.createHepRepPoint(instance,0,0,outerZ[i]);
+            
+            HepRepInstance instance2 = factory.createHepRepInstance(instanceTree, type);
+            instance2.addAttValue("radius",innerR[i]+thickness[i]);
+            factory.createHepRepPoint(instance2,0,0,-outerZ[i]);
+            factory.createHepRepPoint(instance2,0,0,outerZ[i]);
+        }
+    }
 }
\ No newline at end of file
CVSspam 0.2.8