Commit in GeomConverter/src/org/lcsim/geometry/compact on MAIN
CompactReader.java+20-51.10 -> 1.11
CompactReader now instantiates materials using XMLMaterialManager and MaterialManager.

GeomConverter/src/org/lcsim/geometry/compact
CompactReader.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- CompactReader.java	30 Jun 2005 00:34:58 -0000	1.10
+++ CompactReader.java	1 Jul 2005 00:10:49 -0000	1.11
@@ -15,12 +15,14 @@
 /**
  * A tool for reading xml files containing compact detector descriptions.
  * @author tonyj
- * @version $Id: CompactReader.java,v 1.10 2005/06/30 00:34:58 jeremy Exp $
+ * @version $Id: CompactReader.java,v 1.11 2005/07/01 00:10:49 jeremy Exp $
  *
  * This class does not create subclass objects.  For example, CylindricalBarrelCalorimeter
  * is inserted into Detector as a generic Subdetector.  To get subclasses, use the
  * org.lcsim.geometry.GeometryReader class, which extends this.
  *
+ * FIXME: Refactor the read() function into different methods corresponding to each tag.
+ *
  */
 public class CompactReader
 {
@@ -74,6 +76,9 @@
             det.addConstant(c);
         }                
         
+        /* Load materials for this detector. */
+        setupMaterials(lccdd, det);        
+        
         Map<String,Readout> readoutMap = new HashMap<String,Readout>();
         Element readouts = lccdd.getChild("readouts");
         for (Iterator i = readouts.getChildren("readout").iterator(); i.hasNext();)
@@ -117,9 +122,19 @@
                 Field field = factory.createElement(Field.class,f,type);
                 det.addField(field);
             }
-        }
+        }                                                               
+        
         return det;
-    }
+    }           
     
-    
-}
+    /** Create impl objects of materials and their references. */                
+    void setupMaterials(org.jdom.Element lccdd, Detector det) throws JDOMException
+    {
+        //System.out.println("CompactReader.setupMaterials()");        
+        
+        XMLMaterialManager matmgr = det.getMaterialManager();        
+                
+        matmgr.addReferencesFromCompact(lccdd);        
+        matmgr.makeMaterials(null);
+    }
+}
\ No newline at end of file
CVSspam 0.2.8