Commit in GeomConverter/src/org/lcsim/geometry on MAIN
Calorimeter.java+2-41.8 -> 1.9
compact/CompactReader.java+2-51.20 -> 1.21
       /ParameterSet.java+23-81.1 -> 1.2
       /Subdetector.java+4-11.11 -> 1.12
segmentation/MokkaSegmentation.java+40added 1.1
subdetector/CalorimeterType.java+70added 1.1
           /AbstractCalorimeter.java+20-41.2 -> 1.3
           /AbstractSubdetector.java+6-31.3 -> 1.4
           /TestBeamCalorimeter.java+6-11.3 -> 1.4
+173-26
2 added + 7 modified, total 9 files
JM: Checking in GeomConverter WIP

GeomConverter/src/org/lcsim/geometry
Calorimeter.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- Calorimeter.java	28 Oct 2005 00:34:16 -0000	1.8
+++ Calorimeter.java	18 Jan 2006 01:46:24 -0000	1.9
@@ -1,8 +1,5 @@
 package org.lcsim.geometry;
-import org.jdom.Element;
-
-import org.lcsim.geometry.layer.Layering;
-import org.lcsim.geometry.Layered;
+import org.lcsim.geometry.subdetector.CalorimeterType;
 import org.lcsim.geometry.util.CalorimeterIDDecoder;
 
 /**
@@ -12,6 +9,7 @@
 public interface Calorimeter extends Subdetector
 {
    CalorimeterIDDecoder getCalorimeterIDDecoder();
+   CalorimeterType getCalorimeterType();
    // Fixme: This would make sense, but is not provided by compact reader
    //        so cannot go here.
    // double getSamplingFraction();

GeomConverter/src/org/lcsim/geometry/compact
CompactReader.java 1.20 -> 1.21
diff -u -r1.20 -r1.21
--- CompactReader.java	17 Jan 2006 18:42:39 -0000	1.20
+++ CompactReader.java	18 Jan 2006 01:46:24 -0000	1.21
@@ -23,7 +23,7 @@
  * org.lcsim.geometry.GeometryReader class, which extends this.
  *
  * @author tonyj
- * @version $Id: CompactReader.java,v 1.20 2006/01/17 18:42:39 jeremy Exp $
+ * @version $Id: CompactReader.java,v 1.21 2006/01/18 01:46:24 jeremy Exp $
  *
  */
 public class CompactReader
@@ -158,10 +158,7 @@
                 Readout r = readoutMap.get(readout);
                 if (r== null) throw new JDOMException("Unknown readout "+readout);
                 sub.setReadout(r);
-            }
-             
-            // setup generic parameters in this subdetector
-            sub.setParameters(new ParameterSet(detector));            
+            }             
             
             det.addSubdetector(sub);
         }

GeomConverter/src/org/lcsim/geometry/compact
ParameterSet.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- ParameterSet.java	17 Jan 2006 18:42:39 -0000	1.1
+++ ParameterSet.java	18 Jan 2006 01:46:24 -0000	1.2
@@ -2,6 +2,7 @@
 
 import java.util.Map;
 import java.util.HashMap;
+import java.util.Set;
 import org.jdom.Element;
 
 /**
@@ -12,7 +13,7 @@
  * parameters can be of type Double, Integer, or String.
  *
  * @author jeremym
- * @version $Id: ParameterSet.java,v 1.1 2006/01/17 18:42:39 jeremy Exp $
+ * @version $Id: ParameterSet.java,v 1.2 2006/01/18 01:46:24 jeremy Exp $
  */
 public class ParameterSet
 {
@@ -21,13 +22,14 @@
     
     /** Constructor taking the <detector> node for a subdetector. */
     protected ParameterSet(Element node)
-    {
+    {        
         convertFromXML(node);
     }
     
     /** Convert <parameter> elements within <detector>. */
     private void convertFromXML(Element node)
     {
+        assert(node != null);
         assert(node.getName().compareTo("detector") == 0);
         
         // Iterate over <parameter> elements
@@ -75,6 +77,7 @@
             
             // add the parameter
             addParameter(name, convert);
+            System.out.println("added parameter " + name + "=" + convert.toString() );
         }
     }
     
@@ -82,7 +85,7 @@
     protected ParameterSet()
     {}
     
-    /** Adds a parameter to the ParameterSet, checking that the type is valid. */
+    /** Add a parameter to the ParameterSet, checking that the type is valid. */
     protected void addParameter(String name, Object object)
     {
         if ( object instanceof Double || object instanceof Integer || object instanceof String )
@@ -102,8 +105,8 @@
         }
     }
     
-    /** Returns a named parameter as a generic java Object. */
-    protected Object getParameter(String name, Class klass)
+    /** Return a named parameter as a generic java Object. */
+    public Object getParameter(String name, Class klass)
     {
         Object object = _parameters.get(name);
         if ( object.getClass() == klass )
@@ -117,19 +120,31 @@
         }
     }
     
-    /** Returns a named parameter of type Double. */
+    /** Checks if the parameter exists. */
+    public boolean exists(String name)
+    {
+        return _parameters.containsKey(name);
+    }        
+    
+    /** Return the list of parameter names. */
+    public Set<String> getParameterNames()
+    {
+        return _parameters.keySet();
+    }
+    
+    /** Return a named parameter of type Double. */
     public Double getDouble(String name)
     {
         return (Double)getParameter(name, Double.class);
     }
     
-    /** Returns a named parameter of type Integer. */
+    /** Return a named parameter of type Integer. */
     public Integer getInteger(String name)
     {
         return (Integer)getParameter(name, Integer.class);
     }
     
-    /** Returns a named parameter of type String. */
+    /** Return a named parameter of type String. */
     public String getString(String name)
     {
         return (String)getParameter(name, String.class);

GeomConverter/src/org/lcsim/geometry/compact
Subdetector.java 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- Subdetector.java	17 Jan 2006 18:42:40 -0000	1.11
+++ Subdetector.java	18 Jan 2006 01:46:24 -0000	1.12
@@ -20,7 +20,7 @@
     private ParameterSet _parameters;
     
     protected Subdetector(Element element) throws JDOMException
-    {
+    {        
         name = element.getAttributeValue("name");
         
         Attribute r = element.getAttribute("reflect");
@@ -29,6 +29,9 @@
         Attribute id = element.getAttribute("id");
         systemID = 0;
         if (id != null) systemID = id.getIntValue();
+        
+        // Setup the generic parameters
+        _parameters = new ParameterSet(element);
     }
     
     protected void setReadout(Readout r)

GeomConverter/src/org/lcsim/geometry/segmentation
MokkaSegmentation.java added at 1.1
diff -N MokkaSegmentation.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MokkaSegmentation.java	18 Jan 2006 01:46:25 -0000	1.1
@@ -0,0 +1,40 @@
+package org.lcsim.geometry.segmentation;
+
+import org.jdom.Element;
+import org.jdom.DataConversionException;
+
+import org.lcsim.geometry.util.IDDescriptor;
+
+/**
+ * @author jeremym
+ *
+ */
+public class MokkaSegmentation extends SegmentationBase
+{
+    public MokkaSegmentation(Element node) throws DataConversionException
+    {
+        super(node);
+        System.out.println("MokkaSegmentation");
+    }
+
+    public void setIDDescription(IDDescriptor id)
+    {
+        super.setIDDescription(id);
+    }
+
+    public boolean supportsNeighbours()
+    {
+        return true;
+    }
+
+    public long[] getNeighbourIDs(int layerRange, int zRange, int phiRange)
+    {
+        long[] dummy = {0,0,0};
+        return dummy;
+    }
+
+    public long findCellContainingXYZ(double x, double y, double z)
+    {
+        return 0;
+    }
+}

GeomConverter/src/org/lcsim/geometry/subdetector
CalorimeterType.java added at 1.1
diff -N CalorimeterType.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ CalorimeterType.java	18 Jan 2006 01:46:25 -0000	1.1
@@ -0,0 +1,70 @@
+/*
+ * CalorimeterType.java
+ *
+ * Created on January 17, 2006, 12:24 PM
+ */
+
+package org.lcsim.geometry.subdetector;
+
+/**
+ *
+ * @author jeremym
+ */
+public class CalorimeterType
+{
+    ECalorimeterType _type = ECalorimeterType.OTHER;
+    String _typeName;
+    
+    enum ECalorimeterType
+    {
+        FCAL,
+        ECAL,
+        HCAL,
+        MUON,
+        OTHER
+    }
+    
+    /** Creates a new instance of CalorimeterType */
+    public CalorimeterType(String typeName)
+    {               
+        if ( typeName.compareToIgnoreCase("fcal") == 0 )
+        {
+            _type = ECalorimeterType.FCAL;
+            _typeName = "FCAL";
+        }
+        else if ( typeName.compareToIgnoreCase("ecal") == 0 )
+        {
+            _type = ECalorimeterType.ECAL;
+            _typeName = "ECAL";
+        }
+        else if ( typeName.compareToIgnoreCase("hcal") == 0 )
+        {
+            _type = ECalorimeterType.HCAL;
+            _typeName = "HCAL";
+        }
+        else if ( typeName.compareToIgnoreCase("muon") == 0 )
+        {
+            _type = ECalorimeterType.MUON;
+            _typeName = "MUON";
+        }
+        else {
+            _type = ECalorimeterType.OTHER;
+            _typeName = typeName; // preserve typeName without enum match
+        }       
+    }
+    
+    ECalorimeterType getType()
+    {
+        return _type;
+    }    
+    
+    public String getTypeName()
+    {
+        return toString();
+    }
+    
+    public String toString()
+    {
+        return _typeName;
+    }
+}

GeomConverter/src/org/lcsim/geometry/subdetector
AbstractCalorimeter.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- AbstractCalorimeter.java	28 Oct 2005 00:34:23 -0000	1.2
+++ AbstractCalorimeter.java	18 Jan 2006 01:46:25 -0000	1.3
@@ -15,13 +15,24 @@
  *
  * @author jeremym
  */
-abstract class AbstractCalorimeter 
-       extends AbstractLayeredSubdetector implements Calorimeter
-{    
+abstract class AbstractCalorimeter
+        extends AbstractLayeredSubdetector implements Calorimeter
+{
+    protected CalorimeterType _calType;
+    
     /** Creates a new instance of AbstractCalorimeter */
     public AbstractCalorimeter(Element node) throws JDOMException
     {
-        super(node);
+        super(node);                
+        
+        if ( getParameters().exists("calorimeterType") )
+        {
+            String str = getParameters().getString("calorimeterType");
+            _calType = new CalorimeterType(str);
+        }
+        else {
+            _calType = new CalorimeterType("OTHER");
+        }
     }
     
     public CalorimeterIDDecoder getCalorimeterIDDecoder()
@@ -29,6 +40,11 @@
         return (CalorimeterIDDecoder)(getReadout().getIDDecoder() );
     }
     
+    public CalorimeterType getCalorimeterType()
+    {
+        return _calType;
+    }
+    
     public boolean isCalorimeter()
     {
         return true;

GeomConverter/src/org/lcsim/geometry/subdetector
AbstractSubdetector.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- AbstractSubdetector.java	31 Oct 2005 19:06:20 -0000	1.3
+++ AbstractSubdetector.java	18 Jan 2006 01:46:25 -0000	1.4
@@ -27,11 +27,14 @@
 abstract class AbstractSubdetector
         extends org.lcsim.geometry.compact.Subdetector
         implements HepRepProvider
-{    
+{
     /** Creates a new instance of AbstractSubdetector */
     public AbstractSubdetector(Element node) throws JDOMException
     {
-        super(node);
+        super(node);        
+        
+
+        
     }
     
     public SubdetectorIDDecoder getSubdetectorIDDecoder()
@@ -43,7 +46,7 @@
     /** FIXME: Should live in org.lcsim.geometry.heprep or equivalent. */
     public void appendHepRep(HepRepFactory factory, HepRep heprep)
     {}
-
+    
     public Layering getLayering()
     {
         return null;

GeomConverter/src/org/lcsim/geometry/subdetector
TestBeamCalorimeter.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- TestBeamCalorimeter.java	28 Oct 2005 00:34:24 -0000	1.3
+++ TestBeamCalorimeter.java	18 Jan 2006 01:46:25 -0000	1.4
@@ -26,7 +26,7 @@
  */
 public class TestBeamCalorimeter extends AbstractTestBeam
         implements Calorimeter
-{    
+{
     public TestBeamCalorimeter(Element node) throws JDOMException
     {
         super(node);
@@ -41,4 +41,9 @@
     {
         return true;
     }
+    
+    public CalorimeterType getCalorimeterType()
+    {
+        return new CalorimeterType("OTHER");
+    }
 }
\ No newline at end of file
CVSspam 0.2.8