GeomConverter/src/org/lcsim/geometry/subdetector
diff -u -r1.5 -r1.6
--- MultiLayerTracker.java 21 Jun 2005 22:07:00 -0000 1.5
+++ MultiLayerTracker.java 13 Jul 2005 05:28:51 -0000 1.6
@@ -21,57 +21,62 @@
*/
class MultiLayerTracker extends Subdetector implements Tracker, HepRepProvider
{
- private double[] innerR;
- private double[] outerZ;
- private double[] thickness;
-
- MultiLayerTracker(Element node) throws JDOMException
- {
- super(node);
-
- 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 TrackerIDDecoder getIDDecoder()
- {
- return null;
- }
-
- 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]);
- }
- }
+ private double[] innerR;
+ private double[] outerZ;
+ private double[] thickness;
+
+ MultiLayerTracker(Element node) throws JDOMException
+ {
+ super(node);
+
+ 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 TrackerIDDecoder getIDDecoder()
+ {
+ return null;
+ }
+
+ 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]);
+ }
+ }
+
+ public double[] transformLocalToGlobal(double[] localPos)
+ {
+ return localPos;
+ }
}