Commit in GeomConverter/sandbox/tknelson_snapshot on MAIN
Box.java-641.1 removed
CoordinateTransformation3D.java-931.1 removed
GeometryCatalog.java-601.1 removed
Hep3Rotation.java-711.1 removed
IDetectorElement.java-271.1 removed
IGeometryInfo.java-481.1 removed
ISolid.java-331.1 removed
LVolume.java-1001.1 removed
PVolume.java-1051.1 removed
SiTrackerBarrel.java-3511.2 removed
SiTrackerBarrelLayer.java-1471.1 removed
SiTrackerBarrelLayerVolume.java-621.1 removed
SiTrackerBarrelTest.xml-2911.1 removed
SiTrackerModule.java-421.1 removed
Trapezoid.java-781.1 removed
-1572
15 removed files
JM: Remove Tim's old sandbox stuff.

GeomConverter/sandbox/tknelson_snapshot
Box.java removed after 1.1
diff -N Box.java
--- Box.java	27 Feb 2007 19:59:19 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,64 +0,0 @@
-/*
- * Box.java
- *
- * Created on October 6, 2006, 4:41 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Vector;
-import org.jdom.Element;
-import org.jdom.DataConversionException;
-
-/**
- *
- * @author tknelson
- */
-public class Box implements ISolid
-{
-    
-    // Fields
-    //=======
-    private double _dimensions[] = new double[3];
-
-    /** Creates a new instance of Box */
-    public Box(Element box)
-    {
-        buildFromXML(box);
-    }
-    
-    // Public methods
-    //===============
-    public double[] getDimensions()
-    {
-        return _dimensions;
-    }
-    
-    public double getVolume()
-    {
-        return _dimensions[0]*_dimensions[1]*_dimensions[2];
-    }
-    
-    public boolean isInside(Hep3Vector point)
-    {
-        return ( Math.abs(point.x()) < _dimensions[0]/2.0 &&
-                 Math.abs(point.y()) < _dimensions[1]/2.0 &&
-                 Math.abs(point.z()) < _dimensions[2]/2.0 );
-    }
-    
-    public void buildFromXML(Element box)
-    {
-        try
-        {
-            _dimensions[0] = box.getAttribute("x_size").getDoubleValue();
-            _dimensions[1] = box.getAttribute("y_size").getDoubleValue();
-            _dimensions[2] = box.getAttribute("z_size").getDoubleValue();
-        }
-        catch (DataConversionException dce)
-        {
-            System.out.println("Cannot convert Box dimensions to double!");
-        }   
-    }
-        
-}

GeomConverter/sandbox/tknelson_snapshot
CoordinateTransformation3D.java removed after 1.1
diff -N CoordinateTransformation3D.java
--- CoordinateTransformation3D.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,93 +0,0 @@
-/*
- * CoordinateTransformation3D.java
- *
- * Created on September 19, 2006, 11:27 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.VecOp;
-
-/**
- *
- * @author tknelson
- */
-public class CoordinateTransformation3D
-{
-    
-    // Fields
-    Hep3Vector _translation = new BasicHep3Vector(0.0,0.0,0.0);
-    Hep3Rotation _rotation = new Hep3Rotation();
-            
-    /**
-     * Creates a new instance of CoordinateTransformation3D
-     */
-    public CoordinateTransformation3D()
-    {
-    }
-    
-    public CoordinateTransformation3D(Hep3Vector translation, Hep3Rotation rotation)
-    {
-        _translation = translation;
-        _rotation = rotation;
-    }
-    
-    // Access to translation and rotation
-    public Hep3Vector getTranslation()
-    {
-        return _translation;
-    }
-    
-    public Hep3Rotation getRotation()
-    {
-        return _rotation;
-    }
-    
-    // Transformations
-    public Hep3Vector transform(Hep3Vector coordinates)
-    {
-        translate(coordinates);
-        rotate(coordinates);
-        return coordinates;
-    }
-    
-    public Hep3Vector translate(Hep3Vector coordinates)
-    {
-        return VecOp.add(coordinates,_translation);
-    }
-    
-    public Hep3Vector rotate(Hep3Vector coordinates)
-    {
-        return VecOp.mult(_rotation,coordinates);
-    }
-     
-    // Invert the transformation
-    public void invert()
-    {
-        _translation = VecOp.mult(-1.0,VecOp.mult(_rotation,_translation));
-        _rotation.invert(); // Need to assure that transpose is used
-    }
-    
-    // FIXME: Talk to Tony about supporting this pattern
-    
-//    public CoordinateTransformation3D inverse()
-//    {
-//        CoordinateTransformation3D transform = new CoordinateTransformation3D(
-//                VecOp.mult(-1.0,VecOp.mult(_rotation,_translation)),
-//                _rotation.inverse()); // FIXME: Need to assure that transpose is used
-//        return transform;
-//    }
-    
-    // Static functions
-    public static CoordinateTransformation3D mult(CoordinateTransformation3D transformation1, CoordinateTransformation3D transformation2)
-    {
-        Hep3Rotation rotation = (Hep3Rotation)VecOp.mult(transformation1.getRotation(),transformation2.getRotation());
-        Hep3Vector translation = VecOp.add(VecOp.mult(transformation1.getRotation(),transformation2.getTranslation()),
-                transformation1.getTranslation());
-        return new CoordinateTransformation3D(translation,rotation);
-    }
-    
-}

GeomConverter/sandbox/tknelson_snapshot
GeometryCatalog.java removed after 1.1
diff -N GeometryCatalog.java
--- GeometryCatalog.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,60 +0,0 @@
-/*
- * GeometryCatalog.java
- *
- * Created on November 9, 2006, 2:42 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- *
- * @author tknelson
- */
-public class GeometryCatalog
-{
-    
-    // Singleton implementation
-    static private GeometryCatalog _instance;
-
-    /**
-     * Creates a new instance of GeometryCatalog
-     */
-    private GeometryCatalog()
-    {
-    }
-
-    static public GeometryCatalog getInstance()
-    {
-        if (_instance == null)
-        {
-            _instance = new GeometryCatalog();
-        }
-        return _instance;
-    }        
-    
-    
-    // Storage of LVolumes
-    //====================
-    private Map<String,LVolume> _lvolumes = new HashMap<String,LVolume>();
-    
-    public LVolume getLVolume(String name)
-    {
-        return _lvolumes.get(name);
-    }
-    
-    public void addLVolume(String name, LVolume lvolume)
-    {
-        _lvolumes.put(name,lvolume);
-    }
-    
-    public void clearLVolumes()
-    {
-        _lvolumes.clear();
-    }
-    
-    
-}

GeomConverter/sandbox/tknelson_snapshot
Hep3Rotation.java removed after 1.1
diff -N Hep3Rotation.java
--- Hep3Rotation.java	27 Feb 2007 19:59:19 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-/*
- * Hep3Rotation.java
- *
- * Created on October 4, 2006, 10:51 AM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Matrix;
-import hep.physics.vec.BasicHep3Matrix;
-import hep.physics.vec.VecOp;
-
-/**
- *
- * @author tknelson
- */
-public class Hep3Rotation extends BasicHep3Matrix
-{
-    
-    // Fields
-    //=======
-    /** Creates a new instance of Hep3Rotation */
-    public Hep3Rotation()
-    {
-    }
-
-    // Static Methods
-    //===============
-    public static Hep3Rotation passiveTaitBryan(double alpha, double beta, double gamma)
-    {
-        return (Hep3Rotation)VecOp.mult(passiveZRotation(gamma),VecOp.mult(passiveYRotation(beta),passiveXRotation(alpha)));                
-    }
-      
-    public static Hep3Rotation passiveXRotation(double angle)
-    {
-        double sin = Math.sin(angle);
-        double cos = Math.cos(angle);
-        Hep3Rotation rotation = new Hep3Rotation();
-        rotation.setElement(1,1,cos);
-        rotation.setElement(1,2,sin);
-        rotation.setElement(2,1,-sin);
-        rotation.setElement(2,2,cos);
-        return rotation;
-    }
-    
-    public static Hep3Rotation passiveYRotation(double angle)
-    {
-        double sin = Math.sin(angle);
-        double cos = Math.cos(angle);
-        Hep3Rotation rotation = new Hep3Rotation();
-        rotation.setElement(0,0,cos);
-        rotation.setElement(1,3,-sin);
-        rotation.setElement(3,1,sin);
-        rotation.setElement(3,3,cos);
-        return rotation;
-    }
-    
-    public static Hep3Rotation passiveZRotation(double angle)
-    {
-        double sin = Math.sin(angle);
-        double cos = Math.cos(angle);
-        Hep3Rotation rotation = new Hep3Rotation();
-        rotation.setElement(0,0,cos);
-        rotation.setElement(0,1,sin);
-        rotation.setElement(1,0,-sin);
-        rotation.setElement(1,1,cos);
-        return rotation;
-    }
-    
-}

GeomConverter/sandbox/tknelson_snapshot
IDetectorElement.java removed after 1.1
diff -N IDetectorElement.java
--- IDetectorElement.java	27 Feb 2007 19:59:19 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,27 +0,0 @@
-/*
- * IDetectorElement.java
- *
- * Created on November 2, 2006, 4:51 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import java.util.List;
-
-/**
- *
- * @author tknelson
- */
-public interface IDetectorElement
-{
- 
-    // Get geometry Information
-    public IGeometryInfo getGeometry();
-    
-    // Get information about hierarchy 
-//    public IDetectorElement getParent();
-//    
-//    public List<IDetectorElement> getChildren();
-            
-}

GeomConverter/sandbox/tknelson_snapshot
IGeometryInfo.java removed after 1.1
diff -N IGeometryInfo.java
--- IGeometryInfo.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-/*
- * IGeometryInfo.java
- *
- * Created on November 2, 2006, 4:51 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Vector;
-
-/**
- *
- * @author tknelson
- */
-public interface IGeometryInfo
-{
-    
-    // global to local transformation
-    public CoordinateTransformation3D getGlobalToLocal();
-    
-    // local to global transformation
-    public CoordinateTransformation3D getLocalToGlobal();
-    
-    // transform a point in local coordinates to global coordinates
-    public Hep3Vector localToGlobal(Hep3Vector local_point);
-    
-    // transform a point in global coordinates to local coordinates
-    public Hep3Vector globalToLocal(Hep3Vector global_point);
-            
-    // get name of daughter volume containing a point in global coordinates
-    public String childVolumeName(Hep3Vector global_point);
-    
-    // get daughter volume containing a point in global coordinates
-    public PVolume childVolume(Hep3Vector global_point);
-
-    // Gaudi has "get the exact full geometry location"  What does this mean???
-    // One interpretation, entire heirarchy as map of LVolumes to 
-    //    positions in coordinates of each volume
-    // public Map<ILVolume,Hep3Vector>
-    
-    // determine whether a point is inside the logical volume
-    public boolean isInside(Hep3Vector global_point);
-    
-    // get the associated logical volume
-    public LVolume getLogicalVolume();
-             
-}

GeomConverter/sandbox/tknelson_snapshot
ISolid.java removed after 1.1
diff -N ISolid.java
--- ISolid.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-/*
- * ISolid.java
- *
- * Created on October 9, 2006, 3:44 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Vector;
-import org.jdom.Element;
-import org.jdom.DataConversionException;
-
-/**
- *
- * @author tknelson
- */
-public interface ISolid
-{
-    
-    // Return dimensions
-    public double[] getDimensions();
-    
-    // Calculate volume
-    public double getVolume();
-    
-    // Is a particular point inside?
-    public boolean isInside(Hep3Vector point);
-    
-    // Must be buildable from xml
-    public void buildFromXML(Element solid);
- 
-}

GeomConverter/sandbox/tknelson_snapshot
LVolume.java removed after 1.1
diff -N LVolume.java
--- LVolume.java	27 Feb 2007 19:59:19 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,100 +0,0 @@
-/*
- * LVolume.java
- *
- * Created on October 9, 2006, 3:15 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import org.lcsim.material.Material;
-import org.lcsim.material.MaterialManager;
-import org.lcsim.material.MaterialNotFoundException;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.jdom.Element;
-import org.jdom.JDOMException;
-
-/**
- * 
- * @author tknelson
- */
-public class LVolume
-{    
-    // Fields
-    protected String _name;
-    protected Material _material;
-    protected ISolid _solid; 
-    protected List<PVolume> _pvolumes = new ArrayList<PVolume>();
-    
-    public LVolume(String name, ISolid solid, Material material)
-    {
-        _name = name;
-        _solid = solid;
-        _material = material;
-    }
-    
-    public LVolume(Element lvolume) throws JDOMException
-    {
-        buildFromXML(lvolume);
-    }
-    
-    // Accessors
-    //==========
-    public String getName()
-    {
-        return _name;
-    }
-    
-    public Material getMaterial()
-    {
-        return _material;
-    }
-
-    public ISolid getSolid()
-    {
-    	return _solid;
-    }
-    
-    public List<PVolume> getPVolumes()
-    {
-        return _pvolumes;
-    }
-    
-    public void addPVolume(PVolume pvolume)
-    {
-        _pvolumes.add(pvolume);
-    }
-    
-    public void buildFromXML(Element lvolume)
-    {
-        // Create name
-        _name = lvolume.getAttributeValue("name");
-        
-        // Create material
-        try
-        {
-            _material = MaterialManager.findMaterial(lvolume.getAttributeValue("material"));
-        }
-        catch (MaterialNotFoundException mnfe)
-        {
-            throw new RuntimeException(mnfe);
-        }
-        
-        // Create solid
-        Element solid = lvolume.getChild("solid");
-        String shape = solid.getAttributeValue("shape");        
-        if (shape=="box") _solid = new Box(solid);
-        if (shape=="tubesegment") _solid = new TubeSegment(solid);
-                
-        // Add physical volumes
-        for (Iterator i = lvolume.getChildren("pvolume").iterator(); i.hasNext();)
-        {
-            addPVolume( new PVolume((Element)i.next()) ) ;
-        }
-                    
-    }
-
-}
\ No newline at end of file

GeomConverter/sandbox/tknelson_snapshot
PVolume.java removed after 1.1
diff -N PVolume.java
--- PVolume.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,105 +0,0 @@
-/*
- * PVolume.java
- *
- * Created on November 2, 2006, 5:17 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.BasicHep3Vector;
-import org.jdom.Element;
-import org.jdom.DataConversionException;
-
-/**
- *
- * @author tknelson
- */
-public class PVolume
-{
-    
-    private String _name;
-    private String _lvolume_name;
-    private CoordinateTransformation3D _parent_to_local = new CoordinateTransformation3D();
-    
-    /** Creates a new instance of PVolume */
-    public PVolume(String name, String lvolume_name, CoordinateTransformation3D parent_to_local)
-    {
-        _name = name;
-        _lvolume_name = lvolume_name;
-        _parent_to_local = parent_to_local;
-    }
-    
-    public PVolume(Element pvolume)
-    {
-        buildFromXML(pvolume);
-    }  
-    
-    // Accessors
-    //==========
-    public String getName()
-    {
-        return _name;
-    }
-    
-    public String getLVolumeName()
-    {
-        return _lvolume_name;
-    }
-    
-    public LVolume getLVolume(String name)
-    {
-        return GeometryCatalog.getInstance().getLVolume(_lvolume_name);
-    }
-    
-    public CoordinateTransformation3D getParentToLocal()
-    {
-        return _parent_to_local;
-    }
-    
-    public Hep3Vector parentToLocal(Hep3Vector parent_point)
-    {
-        return _parent_to_local.transform(parent_point);
-    }
-    
-    public void buildFromXML(Element pvolume)
-    {
-        // Create name
-        _name = pvolume.getAttributeValue("name");
-        
-        // Create lvolume name
-        _lvolume_name = pvolume.getAttributeValue("lvolume");
-        
-        // Create CoordinateTransformation3D
-        Element trans = pvolume.getChild("posXYZ");
-        Hep3Vector translation = null;
-        try
-        {
-        translation = new BasicHep3Vector(trans.getAttribute("x").getDoubleValue(),
-                                          trans.getAttribute("y").getDoubleValue(),
-                                          trans.getAttribute("z").getDoubleValue());        
-        }
-        catch (DataConversionException dce)
-        {
-            System.out.println("Cannot convert translation to double!");
-        }
-        
-        Element rot = pvolume.getChild("rotXYZ");
-        Hep3Rotation rotation = null;
-        try
-        {
-        rotation = Hep3Rotation.passiveTaitBryan(rot.getAttribute("rot_x").getDoubleValue(),
-                                                 rot.getAttribute("rot_y").getDoubleValue(),
-                                                 rot.getAttribute("rot_z").getDoubleValue());
-        }
-        catch (DataConversionException dce)
-        {
-            System.out.println("Cannot convert rotation to double!");
-        }
-        
-        _parent_to_local = new CoordinateTransformation3D(translation,rotation);
-
-    }
-                
-}

GeomConverter/sandbox/tknelson_snapshot
SiTrackerBarrel.java removed after 1.2
diff -N SiTrackerBarrel.java
--- SiTrackerBarrel.java	9 Apr 2007 05:04:29 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,351 +0,0 @@
-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;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.jdom.DataConversionException;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.lcsim.geometry.layer.Layer;
-import org.lcsim.geometry.layer.LayerSlice;
-import org.lcsim.geometry.layer.LayerStack;
-import org.lcsim.geometry.layer.Layering;
-import org.lcsim.geometry.subdetector.tracker.silicon.TubeSegment;
-import org.lcsim.geometry.subdetector.tracker.silicon.Box;
-import org.lcsim.geometry.subdetector.tracker.silicon.LVolume;
-import org.lcsim.geometry.subdetector.tracker.silicon.SiTrackerBarrelLayer;
-import org.lcsim.geometry.subdetector.tracker.silicon.SiTrackerModule;
-import org.lcsim.geometry.subdetector.tracker.silicon.ISolid;
-import org.lcsim.geometry.subdetector.tracker.silicon.GeometryInfo;
-import org.lcsim.geometry.subdetector.tracker.silicon.CoordinateTransformation3D;
-import org.lcsim.material.Material;
-import org.lcsim.material.MaterialManager;
-import org.lcsim.material.MaterialNotFoundException;
-
-/**
- *
- * Reconstruction object for a planar silicon tracker
- * of type SiTrackerBarrel.
- *
- * @author Jeremy McCormick <[log in to unmask]>
- * @author Tim Nelson <[log in to unmask]>
- *
- */
-public class SiTrackerBarrel extends AbstractTracker
-{
-    
-    // Fields
-    //=======
-    Map<String, LVolume> _lvolumes = new HashMap<String, LVolume>();
-    
-    Map<String, SiTrackerModule> _modules = new HashMap<String, SiTrackerModule>();
-    List<SiTrackerBarrelLayer> _layers = new ArrayList<SiTrackerBarrelLayer>();
-    
-    SiTrackerBarrel(Element node) throws JDOMException
-    {
-        super(node);
-        build(node);
-        makeLayering();
-    }
-    
-
-    
-    
-    
-    
-    
-    
-    private void build(Element node) throws DataConversionException
-    {
-        //System.out.println("SiTrackerBarrel.build");
-        
-        Element detector = node;
-        
-        // Loop over modules.
-        for (Iterator i = detector.getChildren("module").iterator(); i.hasNext();)
-        {
-            Element module_element = (Element) i.next();
-            
-            String module_name = module_element.getAttributeValue("name");
-            Element module_envelope = module_element.getChild("module_envelope");
-            
-            double module_width = module_envelope.getAttribute("width").getDoubleValue();
-            double module_length = module_envelope.getAttribute("length").getDoubleValue();
-            double module_thickness = module_envelope.getAttribute("thickness").getDoubleValue();
-            
-            // Make logical volume for Module
-            ISolid module_solid = new Box(module_width,module_length,module_thickness);
-            Material air;
-            try
-            {
-                air = MaterialManager.findMaterial("Air");
-            }
-            catch (MaterialNotFoundException mnfe)
-            {
-                System.out.println("Material not found: Air");
-            }
-            LVolume module_volume = new LVolume(module_name, module_solid, air);
-            
-            
-            // Loop over module components
-            for (Iterator j = module_element.getChildren("module_component").iterator(); j.hasNext();)
-            {
-                Element module_component_element = (Element) j.next();
-                
-                // module_component parameters.
-                double module_component_width = module_component_element.getAttribute("width").getDoubleValue();
-                double module_component_length = module_component_element.getAttribute("length").getDoubleValue();
-                double module_component_thickness = module_component_element.getAttribute("thickness").getDoubleValue();
-
-                //System.out.println("looking up material --> " + module_component_element.getAttributeValue("material"));
-                
-                // Make logical volume for Component
-                ISolid module_component_solid = new Box(module_component_width,module_component_length,module_component_thickness);
-                Material module_component_material;
-                try
-                {
-                    module_component_material = MaterialManager.findMaterial(module_component_element.getAttributeValue("material"));
-                }
-                catch (MaterialNotFoundException mnfe)
-                {
-                    throw new RuntimeException(mnfe);
-                }
-                //System.out.println("module_component_material="+module_component_material.getName());
-
-                // Build component
-                // FIXME: need to have a name in .xml description for each component
-                LVolume module_component = new LVolume("dummy_name", module_component_solid, module_component_material);
-                
-                // What do we do with sensitive flag???
-                boolean sensitive = (module_component_element.getAttribute("sensitive") == null) ? false : module_component_element.getAttribute("sensitive").getBooleanValue();
-                
-                // module_component positions
-                double module_component_x, module_component_y, module_component_z = 0.0;
-                if (module_component_element.getChild("position") != null)
-                {
-                    Element position = (Element) module_component_element.getChild("position");
-                    
-                    if (position.getAttribute("x") != null)
-                    {
-                        module_component_x = position.getAttribute("x").getDoubleValue();
-                    }
-                    
-                    if (position.getAttribute("y") != null)
-                    {
-                        module_component_y = position.getAttribute("y").getDoubleValue();
-                    }
-                    
-                    if (position.getAttribute("z") != null)
-                    {
-                        module_component_z = position.getAttribute("z").getDoubleValue();
-                    }
-                }
-                
-                // module_component rotations
-                double module_component_rx, module_component_ry, module_component_rz = 0.0;
-                if (module_component_element.getChild("rotation") != null)
-                {
-                    Element rotation = (Element) module_component_element.getChild("rotation");
-                    
-                    if (rotation.getAttribute("x") != null)
-                    {
-                        module_component_x = rotation.getAttribute("x").getDoubleValue();
-                    }
-                    
-                    if (rotation.getAttribute("y") != null)
-                    {
-                        module_component_y = rotation.getAttribute("y").getDoubleValue();
-                    }
-                    
-                    if (rotation.getAttribute("z") != null)
-                    {
-                        module_component_z = rotation.getAttribute("z").getDoubleValue();
-                    }
-                }
-                
-                // FIXME: position the component
-                
-                // Add the module_component to the module.
-                module.addComponent(component);
-                
-            }
-            
-            // Store the module
-            _modules.put(module_name, module);
-            
-            
-            
-            // Make detector element for Module
-            SiTrackerModule module = new SiTrackerModule(new Box(module_width, module_length, module_thickness));
-                        
-            
-            
-        }
-    
-        
-        
-        
-        
-        // Loop over layers.
-        int layern = 0;
-        for (Iterator i = detector.getChildren("layer").iterator(); i.hasNext(); ++layern)
-        {
-            Element layer_element = (Element) i.next();
-            
-            // Name of the module associated with this layer.
-            String module_lkp = layer_element.getAttributeValue("module");
-            
-            // barrel_envelope parameters.
-            Element barrel_envelope = layer_element.getChild("barrel_envelope");
-            double layer_inner_r = barrel_envelope.getAttribute("inner_r").getDoubleValue();
-            double layer_outer_r = barrel_envelope.getAttribute("outer_r").getDoubleValue();
-            double layer_z_length = barrel_envelope.getAttribute("z_length").getDoubleValue();
-            
-            // rphi_layout parameters.
-            Element rphi_layout = layer_element.getChild("rphi_layout");
-            double phi_tilt = rphi_layout.getAttribute("phi_tilt").getDoubleValue();
-            int nphi = rphi_layout.getAttribute("nphi").getIntValue();
-            double phi0 = rphi_layout.getAttribute("phi0").getDoubleValue();
-            double rc = rphi_layout.getAttribute("rc").getDoubleValue();
-            double dr = rphi_layout.getAttribute("dr").getDoubleValue();
-            
-            // z_layout parameters.
-            Element z_layout = layer_element.getChild("z_layout");
-            double z_dr = z_layout.getAttribute("dr").getDoubleValue();
-            double z0 = z_layout.getAttribute("z0").getDoubleValue();
-            int nz = z_layout.getAttribute("nz").getIntValue();
-            
-            // Make logical volume for Layer
-            ISolid layer_solid = new TubeSegment(layer_inner_r,layer_outer_r,layer_z_length);
-            Material air;
-            try
-            {
-                air = MaterialManager.findMaterial("Air");
-            }
-            catch (MaterialNotFoundException mnfe)
-            {
-                System.out.println("Material not found: Air");
-            }
-            // FIXME: need to have a name in .xml for each layer
-            LVolume layer_volume = new LVolume("dummy_name", layer_solid, air);
-            Add physical volumes
-            
-            // Make detector element for Layer
-            GeometryInfo layer_geometry = new GeometryInfo(new CoordinateTransformation3D(), layer_volume);
-            SiTrackerBarrelLayer layer = new SiTrackerBarrelLayer(layer_geometry);
-            layer.setPhiLayout(rc, nphi, phi0, phi_tilt, dr);
-            layer.setZLayout(nz, z0, z_dr);
-            layer.setModule(_modules.get(module_lkp));
-            this._layers.add(layer);
-        }
-    }
-    
-    
-    
-    
-    private void makeLayering()
-    {
-        //System.out.println("SiTrackerBarrel.makeLayering");
-        
-        //System.out.println("nlayers=" + this._layers.size());
-        
-        LayerStack layerStack = new LayerStack();
-        for (SiTrackerBarrelLayer tkrlayer : this._layers)
-        {
-            Map<Material, Double> matMap = new HashMap<Material, Double>();
-            
-            TubeSegment layer_envelope = (TubeSegment)tkrlayer.getSolid();
-            double ir = layer_envelope.getInnerRadius();
-            double z = layer_envelope.getZLength();
-            
-            SiTrackerModule module = tkrlayer.getModule();
-            
-            int n_modules = tkrlayer.getNModules();
-            
-            for (LVolume component : module.getComponents())
-            {
-                ISolid solid = component.getSolid();
-                Double volume = Double.valueOf(solid.getVolume()) * ((double) n_modules);
-                Material material = component.getMaterial();
-                
-                assert (material != null);
-                //System.out.println("component material=" + material.getName());
-                
-                if (matMap.get(material) == null)
-                {
-                    matMap.put(material, volume);
-                }
-                else
-                {
-                    Double volume_update = matMap.get(material);
-                    volume_update += volume;
-                    matMap.put(material, volume_update);
-                }
-            }
-            
-            List<LayerSlice> slices = new ArrayList<LayerSlice>();
-            
-            for (Material material : matMap.keySet())
-            {
-                //System.out.println("material=" + material.getName());
-                
-                double volume = matMap.get(material);
-                
-                double mat_or = Math.sqrt((volume / (Math.PI * z)) + ir * ir);
-                
-                double thickness = mat_or - ir;
-                
-                LayerSlice slice = new LayerSlice();
-                slice.setMaterial(material);
-                slice.setThickness(thickness);
-                slices.add(slice);
-            }
-            
-            Layer l = new Layer(slices);
-            l.setPreOffset(ir);
-            layerStack.addLayer(l);
-        }
-        
-        //System.out.println(layerStack.toString());
-        
-        setLayering(new Layering(layerStack));
-    }
-    
-    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 (SiTrackerBarrelLayer layer : _layers)
-        {
-            TubeSegment layer_envelope = (TubeSegment)layer.getSolid();
-            
-            HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
-            instance.addAttValue("radius",layer_envelope.getInnerRadius());
-            factory.createHepRepPoint(instance,0,0,-layer_envelope.getZLength()/2);
-            factory.createHepRepPoint(instance,0,0,layer_envelope.getZLength()/2);
-            
-            HepRepInstance instance2 = factory.createHepRepInstance(instanceTree, type);
-            instance2.addAttValue("radius",layer_envelope.getOuterRadius());
-            factory.createHepRepPoint(instance2,0,0,-layer_envelope.getZLength()/2);
-            factory.createHepRepPoint(instance2,0,0,layer_envelope.getZLength()/2);
-        }
-    }
-    
-    public boolean isBarrel()
-    {
-        return true;
-    }
-}
\ No newline at end of file

GeomConverter/sandbox/tknelson_snapshot
SiTrackerBarrelLayer.java removed after 1.1
diff -N SiTrackerBarrelLayer.java
--- SiTrackerBarrelLayer.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,147 +0,0 @@
-/*
- * SiTrackerBarrelLayer.java
- *
- * Created on October 6, 2006, 2:01 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import org.lcsim.material.Material;
-
-/**
- *
- * @author tknelson
- */
-public class SiTrackerBarrelLayer implements IDetectorElement
-{
-    
-    // Fields
-    //========
-    
-    // Geometry Info
-    private IGeometryInfo _geometry;
-    
-    // module layout
-    //--------------
-    // module
-    private SiTrackerModule _module;
-    
-    // phi
-    private double _r_center = 0.0;
-    private int _n_phi = 0;
-    private double _phi_0 = 0.0;
-    private double _phi_tilt = 0.0;
-    private double _dr_phi = 0.0;
-    
-    // z
-    private int _n_z;
-    private double _z_0 = 0.0;
-    private double _dr_z = 0.0;
-    
-    // Constructors
-    //=============
-    
-    public SiTrackerBarrelLayer(IGeometryInfo geometry)
-    {
-        _geometry = geometry;
-    }
-    
-    // Initializers
-    //=============
-//    public void setPhiLayout(double r_center, int n_phi, double phi_0, double phi_tilt, double dr_phi)
-//    {
-//        _r_center = r_center;
-//        _n_phi = n_phi;
-//        _phi_0 = phi_0;
-//        _phi_tilt = phi_tilt;
-//        _dr_phi = dr_phi;
-//    }
-//    
-//    public void setZLayout(int n_z, double z_0, double dr_z)
-//    {
-//        _n_z = n_z;
-//        _z_0 = z_0;
-//        _dr_z = dr_z;
-//    }
-//    
-//    public void setModule(SiTrackerModule module)
-//    {
-//        _module = module;
-//    }
-    
-    
-    // Accessors
-    public IGeometryInfo getGeometry()
-    {
-        return _geometry;
-    }
-    
-    // Public methods
-    //===============
-    
-//    public int getNModules()
-//    {
-//        return _n_phi * _n_z;
-//    }
-    
-//    public int getPhiModuleIndex(double phi)
-//    {
-//        double phi_slice_size = 2.0*Math.PI/_n_phi;
-//        double relative_phi_position = phi - _phi_0;
-//        int phi_index = (int)Math.round(relative_phi_position/phi_slice_size);
-//        return checkedPhiIndex(phi_index);
-//    }
-//    
-//    public int getZModuleIndex(double z)
-//    {
-//        double z_slice_size = 2.0*_z_0 / (_n_z - 1);
-//        double relative_z_position = z - _z_0;
-//        int z_index = (int)Math.round(relative_z_position/z_slice_size);
-//        return checkedZIndex(z_index);
-//    }    
-//    
-//    public SiTrackerModule getModule()
-//    {
-//    	return this._module;
-//    }
-    
-//    public double getInnerRadius()
-//    {
-//    	return _r_inner;
-//    }
-//    
-//    public double getOuterRadius()
-//    {
-//    	return _r_outer;
-//    }
-//    
-//    public double getZLength()
-//    {
-//    	return _z_length;
-//    }
-    
-    
-//    public CoordinateTransformation3D getModuleCoordinates(int phi_index, int z_index)
-//    {
-//        
-//    }
-    
-    // Private methods
-    //================
-//    private int checkedPhiIndex(int phi_index)
-//    {
-//        while (phi_index < 0) phi_index += _n_phi;
-//        while (phi_index >= _n_phi) phi_index -= _n_phi;
-//        return phi_index;
-//    }
-//    
-//    private int checkedZIndex(int z_index)
-//    {
-//        if (z_index < 0) z_index = 0;
-//        if (z_index > _n_z) z_index = _n_z;
-//        return z_index;
-//    }
-    
-    
-}

GeomConverter/sandbox/tknelson_snapshot
SiTrackerBarrelLayerVolume.java removed after 1.1
diff -N SiTrackerBarrelLayerVolume.java
--- SiTrackerBarrelLayerVolume.java	27 Feb 2007 19:59:19 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,62 +0,0 @@
-/*
- * SiTrackerBarrelLayerVolume.java
- *
- * Created on October 9, 2006, 3:15 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import org.lcsim.material.Material;
-import org.lcsim.material.MaterialManager;
-import org.lcsim.material.MaterialNotFoundException;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.jdom.Element;
-import org.jdom.JDOMException;
-
-/**
- * 
- * @author tknelson
- */
-public class SiTrackerBarrelLayerVolume extends LVolume
-{    
-    
-    public SiTrackerBarrelLayerVolume(Element layer) throws JDOMException
-    {
-        super(layer);
-        buildFromXML(layer);
-    }
-    
-    public void buildFromXML(Element lvolume)
-    {
-        // Create name
-        _name = lvolume.getAttributeValue("name");
-        
-        // Create material
-        try
-        {
-            _material = MaterialManager.findMaterial(lvolume.getAttributeValue("material"));
-        }
-        catch (MaterialNotFoundException mnfe)
-        {
-            throw new RuntimeException(mnfe);
-        }
-        
-        // Create solid
-        Element solid = lvolume.getChild("solid");
-        String shape = solid.getAttributeValue("shape");        
-        if (shape=="box") _solid = new Box(solid);
-        if (shape=="tubesegment") _solid = new TubeSegment(solid);
-                
-        // Add physical volumes
-        for (Iterator i = lvolume.getChildren("pvolume").iterator(); i.hasNext();)
-        {
-            _pvolumes.add( new PVolume((Element)i.next()) ) ;
-        }
-                    
-    }
-
-}
\ No newline at end of file

GeomConverter/sandbox/tknelson_snapshot
SiTrackerBarrelTest.xml removed after 1.1
diff -N SiTrackerBarrelTest.xml
--- SiTrackerBarrelTest.xml	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,291 +0,0 @@
-<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
-	<info name="subdetectors_test">
-		<comment/>
-	</info>
-	<define>
-		<constant name="cm" value="10"/>
-		<constant name="world_side" value="30000"/>
-		<constant name="world_x" value="world_side"/>
-		<constant name="world_y" value="world_side"/>
-		<constant name="world_z" value="world_side"/>
-		<constant name="tracking_region_radius" value="180.0 * cm"/>
-		<constant name="tracking_region_zmax" value="300.0 * cm"/>
-	</define>
-	<materials>
-    </materials>
-	<display>
-		<vis name="TestVis" alpha="1.0" r="1.0" g="0.0" b="0.0" drawingStyle="wireframe" lineStyle="unbroken" showDaughters="true" visible="true"/>
-	</display>
-	<detectors>
-	<!--
-		<detector id="1" name="VtxBarrel" type="SiTrackerBarrel" readout="VtxBarrel_RO" vis="TestVis">
-			<module name="VtxBarrelModuleInner">
-				<module_envelope width="9.8" length="63.0 * 2" thickness="0.6"/>
-				<module_component width="7.6" length="125.0" thickness="0.26" material="CarbonFiber" sensitive="false">
-					<position z="-0.08"/>
-				</module_component>
-				<module_component width="7.6" length="125.0" thickness="0.05" material="Epoxy" sensitive="false">
-					<position z="0.075"/>
-				</module_component>
-				<module_component width="9.6" length="125.0" thickness="0.1" material="Silicon" sensitive="true">
-					<position z="0.150"/>
-				</module_component>
-			</module>
-			<module name="VtxBarrelModuleOuter">
-				<module_envelope width="14.0" length="126.0" thickness="0.6"/>
-				<module_component width="11.6" length="125.0" thickness="0.26" material="CarbonFiber" sensitive="false">
-					<position z="-0.08"/>
-				</module_component>
-				<module_component width="11.6" length="125.0" thickness="0.05" material="Epoxy" sensitive="false">
-					<position z="0.075"/>
-				</module_component>
-				<module_component width="13.8" length="125.0" thickness="0.1" material="Silicon" sensitive="true">
-					<position z="0.150"/>
-				</module_component>
-			</module>
-			<layer module="VtxBarrelModuleInner" id="1">
-				<barrel_envelope inner_r="13.0" outer_r="17.0" z_length="63 * 2"/>
-				<rphi_layout phi_tilt="0.0" nphi="12" phi0="0.2618" rc="15.05" dr="-1.15"/>
-				<z_layout dr="0.0" z0="0.0" nz="1"/>
-			</layer>
-			<layer module="VtxBarrelModuleOuter" id="2">
-				<barrel_envelope inner_r="21.0" outer_r="25.0" z_length="63 * 2"/>
-				<rphi_layout phi_tilt="0.0" nphi="12" phi0="0.2618" rc="23.03" dr="-1.13"/>
-				<z_layout dr="0.0" z0="0.0" nz="1"/>
-			</layer>
-			<layer module="VtxBarrelModuleOuter" id="3">
-				<barrel_envelope inner_r="34.0" outer_r="38.0" z_length="63 * 2"/>
-				<rphi_layout phi_tilt="0.0" nphi="18" phi0="0.0" rc="35.79" dr="-0.89"/>
-				<z_layout dr="0.0" z0="0.0" nz="1"/>
-			</layer>
-			<layer module="VtxBarrelModuleOuter" id="4">
-				<barrel_envelope inner_r="46.6" outer_r="50.6" z_length="63 * 2"/>
-				<rphi_layout phi_tilt="0.0" nphi="24" phi0="0.1309" rc="47.5" dr="0.81"/>
-				<z_layout dr="0.0" z0="0.0" nz="1"/>
-			</layer>
-			<layer module="VtxBarrelModuleOuter" id="5">
-				<barrel_envelope inner_r="59.0" outer_r="63.0" z_length="63 * 2"/>
-				<rphi_layout phi_tilt="0.0" nphi="30" phi0="0.0" rc="59.9" dr="0.77"/>
-				<z_layout dr="0.0" z0="0.0" nz="1"/>
-			</layer>
-		</detector>
--->
-        <detector id="2" name="SiTrackerBarrel" type="SiTrackerBarrel" readout="SiTrackerBarrel_RO" vis="TestVis">
-
-            
-            
-            
-            <!-- Module Components -->
-            <lvolume name="BarrelModuleCF">
-                <solid shape="box" size_x="97.79" size_y="97.79" size_z="0.228" material="CarbonFiber"/>
-            </lvolume>
-            <lvolume name="BarrelModuleRohacell">
-                <box size_x="97.79" size_y="97.79" size_z="3.175" material="Rohacell31"/>                
-            </lvolume>           
-            <lvolume name="BarrelSensor" sensitive="true">
-                <box size_x="93.531" size_y="93.531" size_z="0.3" material="Silicon"/>                
-            </lvolume>
-            <lvolume name="KPiX">
-                <box size_x="63.8" size_y="6.67" size_z="0.3" material="Silicon"/>                
-            </lvolume>
-            <lvolume name="Pigtail">
-                <box size_x="97.79" size_y="97.79" size_z="0.1" material="Silicon"/>                
-            </lvolume>
-            
-            <!-- Modules -->
-            <lvolume name="BarrelModule">
-                <box size_x="97.79" size_y="97.79" size_z="5.5" material="Air"/>
-                <pvolume name="BottomCF" lvolume="BarrelModuleCF">
-                    <posXYZ z="-1.702"/>
-                </pvolume>
-                <pvolume name="Rohacell" lvolume="BarrelModuleRohacell">
-                    <posXYZ z="0.0"/>
-                </pvolume>
-                <pvolume name="TopCF" lvolume="BarrelModuleCF">
-                    <posXYZ z="1.702"/>
-                </pvolume>
-                <pvolume name="Sensor" lvolume="BarrelSensor">
-                    <posXYZ z="2.082"/>
-                </pvolume>
-                <pvolume name="KPiX" lvolume="KPiX">
-                    <posXYZ z="2.492"/>
-                </pvolume>
-                <pvolume name="PigTail" lvolume="PigTail">
-                    <posXYZ z="2.692"/>
-                </pvolume>                
-            </lvolume>
-            
-            <!-- Barrel Supports -->
-            
-            <!-- Layers: custom xml converter required to generate this logical volume! -->
-            <lvolume name="BarrelLayer1">
-                <tubesegment r_inner="195.0" r_outer="245.0" z_length="2.0*267.0" material="Air"/>
-                <specific>
-                    <layout module = "BarrelModule">
-                        <rphi rc="205.0" nphi="16" phi0="0.196" phi_tilt="0.19" dr="0"/>
-                        <z z0="218.0" nz="7" dr="5.5"/>
-                    </layout>
-                </specific>
-            </lvolume>
-            <lvolume name="BarrelLayer2">
-                <tubesegment r_inner="451.0" r_outer="501.0" z_length="2.0*608.0" material="Air"/>
-                <specific>
-                    <layout module = "BarrelModule">
-                        <rphi rc="461.0" nphi="36" phi0="0.087" phi_tilt="0.19" dr="0"/>
-                        <z z0="559.0" nz="15" dr="5.5"/>
-                    </layout>
-                </specific>
-            </lvolume>
-            <lvolume name="BarrelLayer3">
-                <tubesegment r_inner="706.0" r_outer="756.0" z_length="2.0*948.0" material="Air"/>
-                <specific>
-                    <layout module = "BarrelModule">
-                        <rphi rc="716.0" nphi="54" phi0="0.058" phi_tilt="0.19" dr="0"/>
-                        <z z0="899.0" nz="23" dr="5.5"/>
-                    </layout>
-                </specific>
-            </lvolume>
-            <lvolume name="BarrelLayer4">
-                <tubesegment r_inner="962.0" r_outer="1012.0" z_length="2.0*1289.0*" material="Air"/>
-                <specific>
-                    <layout module = "BarrelModule">
-                        <rphi rc="972.0" nphi="72" phi0="0.0436" phi_tilt="0.19" dr="0"/>
-                        <z z0="1240.0" nz="29" dr="5.5"/>
-                    </layout>
-                </specific>
-            </lvolume>
-            <lvolume name="BarrelLayer5">
-                <tubesegment r_inner="1218.0" r_outer="1265.0" z_length="2.0*1630.0" material="Air"/>
-                <specific>
-                    <layout module = "BarrelModule">
-                        <rphi rc="1228.0" nphi="90" phi0="0.01745" phi_tilt="0.19" dr="0"/>
-                        <z z0="1581.0" nz="37" dr="5.5"/>
-                    </layout>
-                </specific>
-            </lvolume>
-
-            <!-- Tracker Barrel -->
-            <lvolume name="SiTrackerBarrel">
-                <pvolume name="BarrelLayer1" lvolume="BarrelLayer1"/>
-                <pvolume name="BarrelLayer2" lvolume="BarrelLayer2"/>
-                <pvolume name="BarrelLayer3" lvolume="BarrelLayer3"/>
-                <pvolume name="BarrelLayer4" lvolume="BarrelLayer4"/>
-                <pvolume name="BarrelLayer5" lvolume="BarrelLayer5"/>
-            </lvolume>
-            
-            <!-- Detector Elements -->
-            <detelem name="SiTrackerBarrel">
-                <child name="BarrelLayer1"/>
-                <child name="BarrelLayer2"/>
-                <child name="BarrelLayer3"/>
-                <child name="BarrelLayer4"/>
-                <child name="BarrelLayer5"/>                
-            </detelem>
-
-            <detelem name="BarrelLayer1" lvolume="BarrelLayer1">
-                <child name="BarrelLayer1Module" elref="BarrelModule"/>
-            </detelem>
-            <detelem name="BarrelLayer2" lvolume="BarrelLayer2">
-                <child name="BarrelLayer2Module" elref="BarrelModule"/>
-            </detelem>
-            <detelem name="BarrelLayer3" lvolume="BarrelLayer3">
-                <child name="BarrelLayer3Module" elref="BarrelModule"/>
-            </detelem>
-            <detelem name="BarrelLayer4" lvolume="BarrelLayer4">
-                <child name="BarrelLayer4Module" elref="BarrelModule"/>
-            </detelem>
-            <detelem name="BarrelLayer5" lvolume="BarrelLayer5">
-                <child name="BarrelLayer5Module" elref="BarrelModule"/>
-            </detelem>          
-
-            <detelem name="BarrelModule" lvolume="BarrelModule">
-                <child name="BarrelSensor"/>
-            </detelem>
-            
-            <detelem name="BarrelSensor" lvolume="BarrelSensor">
-                <param name="doublesided" value="false"/>
-                <param name="pside" value="outside"/>
-                <param name="psensepitch" value="25*microns"/>
-                <param name="preadoutpitch" value="50*microns"/>
-                <param name="guardwidth" value="750*microns"/>
-                <param name="depletionvoltage" value="100*volts"/>
-                <param name="biasvoltage" value="110*volts"/>
-                <child name="KPiX1" elref="KPiX"/>
-                <child name="KPiX2" elref="KPiX"/>
-            </detelem>
-            
-            <detelem name="KPiX"/>
-                <param name="foo" value="bar"/>
-            </detelem>
-            
-                
-       
-            
-            <detelem name="BarrelLayer1Sensor" elref="BarrelSensor" parent="BarrelLayer1" lvolume="BarrelSensor"/>
-            <detelem name="BarrelLayer2Sensor" elref="BarrelSensor" parent="BarrelLayer2" lvolume="BarrelSensor"/>          
-            <detelem name="BarrelLayer3Sensor" elref="BarrelSensor" parent="BarrelLayer3" lvolume="BarrelSensor"/>          
-            <detelem name="BarrelLayer4Sensor" elref="BarrelSensor" parent="BarrelLayer4" lvolume="BarrelSensor"/>          
-            <detelem name="BarrelLayer5Sensor" elref="BarrelSensor" parent="BarrelLayer5" lvolume="BarrelSensor"/>          
-            
-            <detelem name="BarrelSensor">
-                <param name="doublesided" value="false"/>
-                <param name="pside" value="outside"/>
-                <param name="psensepitch" value="25*microns"/>
-                <param name="preadoutpitch" value="50*microns"/>
-                <param name="guardwidth" value="750*microns"/>
-                <param name="depletionvoltage" value="100*volts"/>
-                <param name="biasvoltage" value="110*volts"/>
-            </detelem>
-            
-            <detelem name="KPiX1"
-            
-            
-            
-            
-        </detector>
-    </detectors>
-    <readouts>
-        <readout name="SiTrackerBarrel_RO">
-            <id>system:6,barrel:2,layer:4,phi:8,z:8,sensor:1</id>
-        </readout>
-        <readout name="VtxBarrel_RO">
-            <id>system:6,barrel:2,layer:4,phi:8,z:8,sensor:1</id>
-        </readout>
-    </readouts>
-    <fields>
-    </fields>
-</lccdd>
-
-				<!--
-				<module_component  width="97.79" length="97.79" thickness="0.1" material="Kapton" sensitive="false">				
-					<position z="-2.692"/>
-				</module_component>
-				
-				<module_component width="63.8" length="6.67" thickness="0.3" material="Silicon" sensitive="false">
-					<position z="-2.492"/>
-				</module_component>
-				
-				<module_component width="93.031" length="93.031" thickness="0.3" material="Silicon" sensitive="true">
-					<position z="-2.082"/>
-					<rotation z="0.04" />
-				</module_component>
-				-->
-<!--
-		<detector id="1" name="SiTrackerBarrel" type="SiTrackerBarrel" readout="SiTrackerBarrel_RO" vis="TestVis">
-			<module name="MyModule">
-				<module_envelope width="100.0" length="100.0" thickness="5.0"/>
-				<module_component zc="-2.0" width="100" length="100" thickness="1.0" material="Silicon" sensitive="true"/>
-				<module_component zc="-1.0" width="100" length="100" thickness="1.0" material="Silicon" sensitive="false"/>
-				<module_component zc="0" width="100" length="100" thickness="1.0" material="Silicon" sensitive="false"/>
-				<module_component zc="1.0" width="100" length="100" thickness="1.0" material="Silicon" sensitive="false"/>
-				<module_component zc="2.0" width="100" length="100" thickness="1.0" material="Silicon" sensitive="true">
-					<rotation x="0.0"/>
-				</module_component>
-			</module>
-			<layer module="MyModule">
-				<barrel_envelope inner_r="900.0" outer_r="1100.0" z_length="1000.0" />
-				<rphi_layout phi_tilt="0.2" nphi="50" phi0="0.2" rc="1000.0" />
-				<z_layout dr="10" z0="450" nz="10"/>
-			</layer>
-		</detector>
-		-->

GeomConverter/sandbox/tknelson_snapshot
SiTrackerModule.java removed after 1.1
diff -N SiTrackerModule.java
--- SiTrackerModule.java	27 Feb 2007 19:59:19 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-/*
- * SiTrackerModule_1.java
- *
- * Created on October 6, 2006, 4:06 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import java.util.*;
-
-/**
- *
- * @author tknelson
- */
-public class SiTrackerModule
-{
-    
-    private Box _envelope = new Box();
-    private List<LVolume> _components = new ArrayList<LVolume>();
-    
-    /** Creates a new instance of SiTrackerModule */
-    public SiTrackerModule()
-    {
-    }
-    
-    public SiTrackerModule(Box envelope)
-    {
-        _envelope = envelope;
-    }
-    
-    // Setters
-    public void addComponent(LVolume component)
-    {
-        _components.add(component);
-    }
-    
-    public List<LVolume> getComponents()
-    {
-    	return _components;
-    }
-}

GeomConverter/sandbox/tknelson_snapshot
Trapezoid.java removed after 1.1
diff -N Trapezoid.java
--- Trapezoid.java	27 Feb 2007 19:59:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,78 +0,0 @@
-/*
- * Trapezoid.java
- *
- * Created on October 6, 2006, 4:41 PM
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-import hep.physics.vec.Hep3Vector;
-import org.jdom.Element;
-import org.jdom.DataConversionException;
-
-/**
- *
- * @author tknelson
- */
-public class Trapezoid implements ISolid
-{
-    
-    // Fields
-    //=======
-    private double _dimensions[] = new double[4];
-
-    /** Creates a new instance of Box */
-    public Trapezoid(double[] dimensions)
-    {
-        _dimensions = dimensions;
-    }
-    
-    public Trapezoid(double x1, double x2, double y, double z)
-    {
-        _dimensions[0] = x1;
-        _dimensions[1] = x2;
-        _dimensions[2] = y;
-        _dimensions[3] = z;
-    }
-    
-    // Public methods
-    //===============
-    public double[] getDimensions()
-    {
-        return _dimensions;
-    }
-    
-    public double getVolume()
-    {
-        return (_dimensions[0]+_dimensions[1])/2.0 * _dimensions[2] * _dimensions[3];
-    }
-    
-    public boolean isInside(Hep3Vector point)
-    {
-        double inverse_slope = (_dimensions[1]-_dimensions[0])/(2.0*_dimensions[2]);
-        double x_intercept = (_dimensions[0]+_dimensions[1]/4.0);
-   
-        double x_limit = inverse_slope*point.y()+x_intercept;
-        
-        return ( Math.abs(point.x()) < x_limit &&
-                 Math.abs(point.y()) < _dimensions[2]/2.0 &&
-                 Math.abs(point.z()) < _dimensions[3]/2.0 );
-    }
-    
-    public void buildFromXML(Element trapezoid)
-    {
-        try
-        {
-            _dimensions[0] = trapezoid.getAttribute("size_x1").getDoubleValue();
-            _dimensions[1] = trapezoid.getAttribute("size_x2").getDoubleValue();
-            _dimensions[2] = trapezoid.getAttribute("size_y").getDoubleValue();
-            _dimensions[3] = trapezoid.getAttribute("size_z").getDoubleValue();
-        }
-        catch (DataConversionException dce)
-        {
-            System.out.println("Cannot convert Trapezoid dimensions to double!");
-        }
-    }
-    
-}
CVSspam 0.2.8