GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.23 -r1.24
--- SiTrackerEndcapConverter.java 21 Apr 2008 20:01:18 -0000 1.23
+++ SiTrackerEndcapConverter.java 6 May 2008 22:59:37 -0000 1.24
@@ -58,24 +58,15 @@
* Converter for SiTrackerEndcap.
*
* @author Jeremy McCormick, Tim Nelson
- * @version $Id: SiTrackerEndcapConverter.java,v 1.23 2008/04/21 20:01:18 jeremy Exp $
+ * @version $Id: SiTrackerEndcapConverter.java,v 1.24 2008/05/06 22:59:37 jeremy Exp $
*/
public class SiTrackerEndcapConverter
extends AbstractSubdetectorConverter
implements ISubdetectorConverter
{
- /*
- public IDetectorElement makeSubdetectorDetectorElement(Detector detector, Subdetector subdetector)
- {
- IDetectorElement endcapDE = new DetectorElement(subdetector.getName(), detector.getDetectorElement());
- subdetector.setDetectorElement(endcapDE);
- return endcapDE;
- }
- */
-
- //private ModuleParameters moduleParameters = null;
- private Map<String, ModuleParameters> moduleParameters = new HashMap<String, ModuleParameters>();
+ public SiTrackerEndcapConverter()
+ {}
public IIdentifierHelper makeIdentifierHelper(Subdetector subdetector, SystemMap systemMap)
{
@@ -84,6 +75,10 @@
public void convert(Subdetector subdet, Detector detector)
{
+ System.out.println("converting " + subdet.getName());
+
+ Map<String, ModuleParameters> moduleParameters = new HashMap<String, ModuleParameters>();
+
IPhysicalVolume trackingPV = detector.getTrackingVolume();
ILogicalVolume trackingLV = trackingPV.getLogicalVolume();
@@ -120,8 +115,14 @@
// Set static module parameters.
for (Object n : node.getChildren("module"))
- {
- Element e = (Element)n;
+ {
+ Element e = (Element)n;
+ System.out.println("processing module");
+ System.out.println("e="+e);
+ System.out.println("name="+e.getAttributeValue("name"));
+ if (moduleParameters == null)
+ throw new RuntimeException("PANIC! moduleParameters is null!");
+ ModuleParameters params = new ModuleParameters(e);
moduleParameters.put(e.getAttributeValue("name"), new ModuleParameters(e));
}
@@ -154,7 +155,7 @@
throw new RuntimeException(x);
}
- ILogicalVolume layerLV = makeLayer(detector,subdet,innerR,outerR,thickness,nwedges,layerElement);
+ ILogicalVolume layerLV = makeLayer(detector,subdet,innerR,outerR,thickness,nwedges,layerElement,moduleParameters);
double layerZ = innerZ + thickness / 2;
@@ -243,10 +244,7 @@
catch (Exception x)
{
throw new RuntimeException(x);
- }
-
- // Set cached module parameters to null for GC.
- moduleParameters = null;
+ }
}
private ILogicalVolume makeWedge(
@@ -284,7 +282,8 @@
double outerR,
double thickness,
int nwedges,
- Element layerElement
+ Element layerElement,
+ Map<String, ModuleParameters> moduleParameters
)
{
int layern;