GeomConverter/src/org/lcsim/geometry/compact
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