GeomConverter/src/org/lcsim/geometry/util
diff -N DummyFieldMap.java
--- DummyFieldMap.java 28 Oct 2005 00:34:25 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-/*
- * DummyFieldMap.java
- *
- * Created on September 28, 2005, 5:49 PM
- */
-
-package org.lcsim.geometry.util;
-
-import org.lcsim.geometry.FieldMap;
-
-/**
- *
- * @author jeremym
- */
-public class DummyFieldMap implements FieldMap
-{
- private static final double[] dummyField = {0,0,0};
-
- public DummyFieldMap()
- {}
-
- public double[] getField(double[] position)
- {
- return dummyField;
- }
-}
GeomConverter/src/org/lcsim/geometry/util
diff -N BaseDetector.java
--- BaseDetector.java 28 Oct 2005 00:34:25 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,120 +0,0 @@
-/*
- * BaseDetector.java
- *
- * Created on September 27, 2005, 11:09 PM
- */
-
-package org.lcsim.geometry.util;
-
-import org.lcsim.geometry.IDDecoder;
-import org.lcsim.geometry.compact.Field;
-import org.lcsim.geometry.compact.Readout;
-import org.lcsim.geometry.util.SubdetectorIDDecoder;
-
-import org.lcsim.geometry.HepRepProvider;
-import hep.graphics.heprep.HepRep;
-import hep.graphics.heprep.HepRepFactory;
-import hep.graphics.heprep.HepRepInstanceTree;
-import hep.graphics.heprep.HepRepTreeID;
-import hep.graphics.heprep.HepRepType;
-import hep.graphics.heprep.HepRepTypeTree;
-import org.jdom.Element;
-import org.lcsim.geometry.FieldMap;
-
-/**
- *
- * @author jeremym
- */
-public class BaseDetector
- extends org.lcsim.geometry.compact.Detector
- implements HepRepProvider
-{
- /* FieldMap that is initialized to a dummy class. Reset by addField() method. --JM */
- private FieldMap fieldMap = new DummyFieldMap();
-
- public BaseDetector(Element node)
- {
- super(node);
- }
-
- /* implements from DetectorElement */
- public String getName()
- {
- /* name from header in compact. */
- return getDetectorName();
- }
-
- public IDDecoder getDecoder(String readout)
- {
- Readout r = getReadouts().get(readout);
- return (r == null) ? null : r.getIDDecoder();
- }
-
- protected void addSubdetector(org.lcsim.geometry.compact.Subdetector sub)
- {
- super.addSubdetector(sub);
- setupSubdetectorIDDecoder(sub);
- //System.out.println("Added subdet: " + sub.getName() );
- }
-
- /* setup subdetector backlink in the IDDecoder */
- /*
- * FIXME: There is not a 1-to-1 between subdetectors and readouts.
- * Also, this function is just a hack to setup the IDDecoder. There
- * is probably a better way to do it.
- */
- private void setupSubdetectorIDDecoder(org.lcsim.geometry.compact.Subdetector subdet)
- {
- if ( subdet.getReadout() != null )
- {
- SubdetectorIDDecoder decoder = (SubdetectorIDDecoder)subdet.getSubdetectorIDDecoder();
-
- if ( decoder != null )
- {
- decoder.setSubdetector(subdet);
- }
- }
- }
-
- protected void addReadout(Readout r)
- {
- super.addReadout(r);
- }
-
- public FieldMap getFieldMap()
- {
- return fieldMap;
- }
-
- protected void addField(Field field)
- {
- super.addField(field);
- fieldMap = (FieldMap) field; // assumes single field for now
- }
-
- public void appendHepRep(HepRepFactory factory, HepRep heprep)
- {
- HepRepTreeID treeID = factory.createHepRepTreeID("DetectorType", "1.0");
- HepRepTypeTree typeTree = factory.createHepRepTypeTree(treeID);
- heprep.addTypeTree(typeTree);
-
- HepRepInstanceTree instanceTree = factory.createHepRepInstanceTree("Detector", "1.0", typeTree);
- heprep.addInstanceTree(instanceTree);
-
- String detectorLayer = "Detector";
- heprep.addLayer(detectorLayer);
-
- HepRepType barrel = factory.createHepRepType(typeTree, "Barrel");
- barrel.addAttValue("layer",detectorLayer);
- HepRepType endcap = factory.createHepRepType(typeTree, "Endcap");
- endcap.addAttValue("layer",detectorLayer);
-
- for (Object sub: getSubdetectors().values())
- {
- if (sub instanceof HepRepProvider)
- {
- ((HepRepProvider) sub).appendHepRep(factory,heprep);
- }
- }
- }
-}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry
diff -u -r1.26 -r1.27
--- Detector.java 28 Oct 2005 00:34:16 -0000 1.26
+++ Detector.java 14 Dec 2005 20:26:16 -0000 1.27
@@ -1,17 +1,117 @@
package org.lcsim.geometry;
+import hep.graphics.heprep.HepRep;
+import hep.graphics.heprep.HepRepFactory;
+import hep.graphics.heprep.HepRepInstanceTree;
+import hep.graphics.heprep.HepRepTreeID;
+import hep.graphics.heprep.HepRepType;
+import hep.graphics.heprep.HepRepTypeTree;
import org.jdom.Element;
+import org.lcsim.geometry.compact.Field;
+import org.lcsim.geometry.compact.Readout;
+import org.lcsim.geometry.util.SubdetectorIDDecoder;
/**
* @author tonyj
*/
-/* NOTE: Moved all impl to BaseDetector for cleanup. */
/* NOTE: This class created automatically by GeometryReader/GeometryFactory. */
-public class Detector
- extends org.lcsim.geometry.util.BaseDetector
-{
- Detector(Element node)
- {
- super(node);
- }
+
+public class Detector extends org.lcsim.geometry.compact.Detector implements HepRepProvider
+{
+ /* FieldMap that is initialized to a dummy class. Reset by addField() method. -- JM */
+ private FieldMap fieldMap = new DummyFieldMap();
+ private static final double[] dummyField = {0,0,0};
+
+ Detector(Element node)
+ {
+ super(node);
+ }
+
+ public String getName()
+ {
+ /* name from header in compact. */
+ return getDetectorName();
+ }
+
+ public IDDecoder getDecoder(String readout)
+ {
+ Readout r = getReadouts().get(readout);
+ return (r == null) ? null : r.getIDDecoder();
+ }
+
+ protected void addSubdetector(org.lcsim.geometry.compact.Subdetector sub)
+ {
+ super.addSubdetector(sub);
+ setupSubdetectorIDDecoder(sub);
+ //System.out.println("Added subdet: " + sub.getName() );
+ }
+
+ /* setup subdetector backlink in the IDDecoder */
+ /*
+ * FIXME: There is not a 1-to-1 between subdetectors and readouts.
+ * Also, this function is just a hack to setup the IDDecoder. There
+ * is probably a better way to do it.
+ */
+ private void setupSubdetectorIDDecoder(org.lcsim.geometry.compact.Subdetector subdet)
+ {
+ if ( subdet.getReadout() != null )
+ {
+ SubdetectorIDDecoder decoder = (SubdetectorIDDecoder)subdet.getSubdetectorIDDecoder();
+
+ if ( decoder != null )
+ {
+ decoder.setSubdetector(subdet);
+ }
+ }
+ }
+
+ protected void addReadout(Readout r)
+ {
+ super.addReadout(r);
+ }
+
+ public FieldMap getFieldMap()
+ {
+ return fieldMap;
+ }
+
+ protected void addField(Field field)
+ {
+ super.addField(field);
+ fieldMap = (FieldMap) field; // assumes single field for now
+ }
+
+ public void appendHepRep(HepRepFactory factory, HepRep heprep)
+ {
+ HepRepTreeID treeID = factory.createHepRepTreeID("DetectorType", "1.0");
+ HepRepTypeTree typeTree = factory.createHepRepTypeTree(treeID);
+ heprep.addTypeTree(typeTree);
+
+ HepRepInstanceTree instanceTree = factory.createHepRepInstanceTree("Detector", "1.0", typeTree);
+ heprep.addInstanceTree(instanceTree);
+
+ String detectorLayer = "Detector";
+ heprep.addLayer(detectorLayer);
+
+ HepRepType barrel = factory.createHepRepType(typeTree, "Barrel");
+ barrel.addAttValue("layer",detectorLayer);
+ HepRepType endcap = factory.createHepRepType(typeTree, "Endcap");
+ endcap.addAttValue("layer",detectorLayer);
+
+ for (Object sub: getSubdetectors().values())
+ {
+ if (sub instanceof HepRepProvider)
+ {
+ ((HepRepProvider) sub).appendHepRep(factory,heprep);
+ }
+ }
+ }
+
+ private class DummyFieldMap implements FieldMap
+ {
+ public double[] getField(double[] position)
+ {
+ return dummyField;
+ }
+ }
}
\ No newline at end of file