Print

Print


Commit in GeomConverter/src/org/lcsim/geometry on MAIN
Detector.java+100-951.27 -> 1.28
JM: code format

GeomConverter/src/org/lcsim/geometry
Detector.java 1.27 -> 1.28
diff -u -r1.27 -r1.28
--- Detector.java	14 Dec 2005 20:26:16 -0000	1.27
+++ Detector.java	7 Feb 2006 17:02:28 -0000	1.28
@@ -6,10 +6,11 @@
 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;
+import org.lcsim.geometry.util.BaseIDDecoder;
 
 /**
  * @author tonyj
@@ -18,100 +19,104 @@
 
 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.
+     * FieldMap that is initialized to a dummy class. Reset by addField()
+     * method. -- JM
      */
-   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;
-      }
-   }
+    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);
+        setupIDDecoder(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. 
+     * FIXME: This function is just a hack to setup the IDDecoder. There is probably a
+     * better way to do it.
+     */
+    private void setupIDDecoder(org.lcsim.geometry.compact.Subdetector subdet)
+    {
+        if (subdet.getReadout() != null)
+        {
+            BaseIDDecoder decoder = (BaseIDDecoder) subdet.getIDDecoder();
+
+            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
CVSspam 0.2.8