Print

Print


Commit in GeomConverter/src/org/lcsim on MAIN
detector/IParameters.java+42added 1.1
        /Parameters.java+188added 1.1
        /DetectorElement.java+10-41.9 -> 1.10
        /GeometryInfo.java+5-51.10 -> 1.11
        /IDetectorElement.java+7-11.5 -> 1.6
        /IGeometryInfo.java+12-101.10 -> 1.11
geometry/Subdetector.java+1-11.14 -> 1.15
+265-21
2 added + 5 modified, total 7 files
JM: Modifcations to support parameters in org.lcsim.detector pacakge.

GeomConverter/src/org/lcsim/detector
IParameters.java added at 1.1
diff -N IParameters.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ IParameters.java	9 Apr 2007 21:05:27 -0000	1.1
@@ -0,0 +1,42 @@
+package org.lcsim.detector;
+
+import java.util.Set;
+
+/**
+ * Interface to named parameters.
+ * 
+ * @author Jeremy McCormick <[log in to unmask]>
+ *
+ */
+public interface IParameters 
+{
+	public Set<String> getStringParameterNames();
+    public Set<String> getIntegerParameterNames();
+    public Set<String> getDoubleParameterNames();
+    public Set<String> getBooleanParameterNames();
+    
+    public Set<String> getStringArrayParameterNames();
+    public Set<String> getIntegerArrayParameterNames();
+    public Set<String> getDoubleArrayParameterNames();
+    public Set<String> getBooleanArrayParameterNames();
+	
+	public String getStringParameter(String name);
+	public int getIntegerParameter(String name);
+	public double getDoubleParameter(String name);
+	public boolean getBooleanParameter(String name);
+	
+	public String[] getStringArrayParameter(String name);
+	public int[] getIntegerArrayParameter(String name);
+	public double[] getDoubleArrayParameter(String name);
+	public boolean[] getBooleanArrayParameter(String name);
+	
+	public void addStringParameter(String name, String value);
+	public void addIntegerParameter(String name, int value);
+	public void addDoubleParameter(String name, double value);
+	public void addBooleanParameter(String name, boolean value);
+	
+	public void addStringArrayParameter(String name, String[] values);
+	public void addIntegerArrayParameter(String name, int[] values);
+	public void addDoubleArrayParameter(String name, double[] values);
+	public void addBooleanArrayParameter(String name, boolean[] value);
+}
\ No newline at end of file

GeomConverter/src/org/lcsim/detector
Parameters.java added at 1.1
diff -N Parameters.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Parameters.java	9 Apr 2007 21:05:27 -0000	1.1
@@ -0,0 +1,188 @@
+package org.lcsim.detector;
+
+import java.util.HashMap;
+import java.util.Set;
+
+public class Parameters implements IParameters 
+{    
+    public Set<String> getBooleanArrayParameterNames() 
+    {
+        return boolArrayParams.keySet();
+    }
+
+    public Set<String> getBooleanParameterNames() 
+    {
+        return boolParams.keySet();
+    }
+
+    public Set<String> getDoubleParameterNames() 
+    {
+        return doubleParams.keySet();
+    }
+
+    public Set<String> getIntegerParameterNames() 
+    {
+        return intParams.keySet();
+    }
+
+    public Set<String> getStringParameterNames() 
+    {
+        return stringParams.keySet();
+    }
+
+    public Set<String> getDoubleArrayParameterNames() 
+    {
+        return doubleArrayParams.keySet();
+    }
+
+    public Set<String> getIntegerArrayParameterNames() 
+    {
+        return intArrayParams.keySet();
+    }
+
+    public Set<String> getStringArrayParameterNames() 
+    {
+        return stringArrayParams.keySet();
+    }
+    
+    public void addStringParameter(String name, String value) 
+    {
+        stringParams.put(name, value);
+    }
+
+    public void addIntegerParameter(String name, int value) 
+    {
+        intParams.put(name, value);
+    }
+
+    public void addDoubleParameter(String name, double value) 
+    {
+        doubleParams.put(name, value);
+    }
+
+    public void addBooleanParameter(String name, boolean value) 
+    {
+        boolParams.put(name,value);
+    }
+
+    public void addStringArrayParameter(String name, String[] values) 
+    {
+        if ( values == null )
+        {
+            throw new IllegalArgumentException("parameter " + name + " is null");
+        }        
+        stringArrayParams.put(name, values);
+    }
+
+    public void addIntegerArrayParameter(String name, int[] values) 
+    {
+        if ( values == null )
+        {
+            throw new IllegalArgumentException("parameter " + name + " is null");
+        }        
+       intArrayParams.put(name, values);
+    }
+
+    public void addDoubleArrayParameter(String name, double[] values) 
+    {
+        if ( values == null )
+        {
+            throw new IllegalArgumentException("parameter " + name + " is null");
+        }        
+        doubleArrayParams.put(name,values);
+    }
+
+    public void addBooleanArrayParameter(String name, boolean[] values) 
+    {
+        if ( values == null )
+        {
+            throw new IllegalArgumentException("parameter " + name + " is null");
+        }        
+        boolArrayParams.put(name,values);
+    }
+
+    public boolean getBooleanParameter(String name) 
+    {
+        return boolParams.get(name);
+    }
+
+    public boolean[] getBooleanArrayParameter(String name) 
+    {
+        return boolArrayParams.get(name);
+    }
+
+    public double getDoubleParameter(String name) 
+    {
+        return doubleParams.get(name);
+    }
+
+    public double[] getDoubleArrayParameter(String name) 
+    {
+        return doubleArrayParams.get(name);
+    }
+
+    public int getIntegerParameter(String name) 
+    {
+        return intParams.get(name);
+    }
+
+    public int[] getIntegerArrayParameter(String name) 
+    {
+        return intArrayParams.get(name);
+    }
+
+    public String getStringParameter(String name) 
+    {
+        return stringParams.get(name);
+    }
+
+    public String[] getStringArrayParameter(String name) 
+    {
+        return stringArrayParams.get(name);
+    }
+
+    StringParameters stringParams = new StringParameters();
+    StringArrayParameters stringArrayParams = new StringArrayParameters();
+    DoubleParameters doubleParams = new DoubleParameters();
+    DoubleArrayParameters doubleArrayParams = new DoubleArrayParameters();
+    IntegerParameters intParams = new IntegerParameters();
+    IntegerArrayParameters intArrayParams = new IntegerArrayParameters();
+    BooleanParameters boolParams = new BooleanParameters();
+    BooleanArrayParameters boolArrayParams = new BooleanArrayParameters();
+   
+    class ParameterMap <T>
+    extends HashMap<String,T>
+    {}
+    
+    class StringParameters 
+    extends ParameterMap<String>
+    {}
+    
+    class StringArrayParameters
+    extends ParameterMap<String[]>
+    {}
+    
+    class DoubleParameters
+    extends ParameterMap<Double>
+    {}
+    
+    class DoubleArrayParameters
+    extends ParameterMap<double[]>
+    {}
+    
+    class IntegerParameters
+    extends ParameterMap<Integer>
+    {}
+    
+    class IntegerArrayParameters
+    extends ParameterMap<int[]>
+    {}
+    
+    class BooleanParameters
+    extends ParameterMap<Boolean>
+    {}
+    
+    class BooleanArrayParameters
+    extends ParameterMap<boolean[]>
+    {}
+}
\ No newline at end of file

GeomConverter/src/org/lcsim/detector
DetectorElement.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- DetectorElement.java	24 Mar 2007 01:02:49 -0000	1.9
+++ DetectorElement.java	9 Apr 2007 21:05:27 -0000	1.10
@@ -9,9 +9,10 @@
 implements IDetectorElement
 {
     private IDetectorElementContainer children = new DetectorElementContainer(); 
-    private IGeometryInfo geometry;
-    IDetectorElement parent;
-    IIdentifier id; 
+    private IGeometryInfo geometry = null;
+    private IDetectorElement parent = null;
+    private IIdentifier id = null; 
+    private IParameters parameters = new Parameters();
 
     /**
      * Create a DE with complete arguments, including
@@ -202,13 +203,14 @@
         geometry = new GeometryInfo(this,nav.getPath(path));
     }
 
+    /*
     private void createGeometryInfo()
     {
         if ( geometry == null )
         {
             geometry = new GeometryInfo(this, (IPhysicalVolumePath)null);
         }
-    }
+    }*/
 
     protected void addChild(IDetectorElement child)
     {     
@@ -276,4 +278,8 @@
         return srch;                       
     }    
     
+    public IParameters getParameters()
+    {
+        return parameters;
+    }
 }
\ No newline at end of file

GeomConverter/src/org/lcsim/detector
GeometryInfo.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- GeometryInfo.java	24 Mar 2007 01:02:49 -0000	1.10
+++ GeometryInfo.java	9 Apr 2007 21:05:27 -0000	1.11
@@ -186,7 +186,7 @@
         return childIGeometryInfos;
     }
 
-    public IPhysicalVolumePath getPhysicalVolumePath(Hep3Vector globalPoint) 
+    public IPhysicalVolumePath getPath(Hep3Vector globalPoint) 
     {
         return PhysicalVolumeNavigatorStore.getInstance().getDefaultNavigator().getPath(globalPoint);
     }
@@ -203,7 +203,7 @@
 
     public IPhysicalVolume getPhysicalVolume(Hep3Vector globalPoint) 
     {
-        return getPhysicalVolumePath(globalPoint).getLeafVolume();
+        return getPath(globalPoint).getLeafVolume();
     }
 
     public Hep3Vector getPosition() 
@@ -242,7 +242,7 @@
     public boolean isInside(Hep3Vector globalPoint) 
     {
         boolean inside=false;
-        if ( hasPhysicalVolumePath() )
+        if ( hasPath() )
         {
             inside = getLogicalVolume().getSolid().isInside(
                     getGlobalToLocal().transformed(globalPoint)
@@ -286,7 +286,7 @@
         return parentToLocal.transformed(parentPoint);		
     }
 
-    public void setSupport(IPhysicalVolumePath support) 
+    public void setPath(IPhysicalVolumePath support) 
     {
         setupSupport(support);		
     }
@@ -311,7 +311,7 @@
         return logicalVolume != null;
     }
 
-    public boolean hasPhysicalVolumePath() 
+    public boolean hasPath() 
     {
         return support != null;
     }   

GeomConverter/src/org/lcsim/detector
IDetectorElement.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- IDetectorElement.java	24 Mar 2007 01:02:49 -0000	1.5
+++ IDetectorElement.java	9 Apr 2007 21:05:27 -0000	1.6
@@ -11,7 +11,7 @@
  * 
  * @author Tim Nelson <[log in to unmask]>
  * @author Jeremy McCormick <[log in to unmask]>
- * @version $Id: IDetectorElement.java,v 1.5 2007/03/24 01:02:49 jeremy Exp $
+ * @version $Id: IDetectorElement.java,v 1.6 2007/04/09 21:05:27 jeremy Exp $
  */
 public interface IDetectorElement 
 extends IIdentifiable, INamed
@@ -98,4 +98,10 @@
      */    
     public IDetectorElement findDetectorElement( 
             Hep3Vector globalPoint);   
+    
+    /**
+     * The named parameters associated with this DetectorElement.
+     * @return An IParameters object with the parameters.
+     */
+    public IParameters getParameters();
 }
\ No newline at end of file

GeomConverter/src/org/lcsim/detector
IGeometryInfo.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- IGeometryInfo.java	24 Mar 2007 01:02:49 -0000	1.10
+++ IGeometryInfo.java	9 Apr 2007 21:05:27 -0000	1.11
@@ -7,12 +7,14 @@
  * 
  * It provides access to the following information:
  * 
- * -logical volume
- * -logical volume name
- * -global to local transform
- * -local to global transform
- * -parent to local transform
- * -the PhysicalVolumePath associated with this DE
+ * <ul>
+ * <li>logical volume</li>
+ * <li>logical volume name</li>
+ * <li>global to local transform</li>
+ * <li>local to global transform</li>
+ * <li>parent to local transform</li>
+ * <li>the PhysicalVolumePath associated with this DE</li>
+ * </ul>
  *
  * There are services for transforming global or local points 
  * using the above transforms.
@@ -39,7 +41,7 @@
 	 * @param global_point
 	 * @return
 	 */
-	public IPhysicalVolumePath getPhysicalVolumePath(
+	public IPhysicalVolumePath getPath(
 			Hep3Vector globalPoint);
 
 	/**
@@ -107,7 +109,7 @@
 	 * 
 	 * @return
 	 */
-	public boolean hasPhysicalVolumePath();
+	public boolean hasPath();
 
 	/**
 	 * True if the @param globalPoint is inside the DetectorElement.
@@ -158,9 +160,9 @@
 	 * Set the IPhysicalVolumePath with full geometry information
 	 * for this DetectorElement.
 	 * 
-	 * @param support
+	 * @param path
 	 */
-	public void setSupport(IPhysicalVolumePath support);
+	public void setPath(IPhysicalVolumePath path);
     
     /**
      * True if the IGeometryInfo does not have an associated path in the geometry tree. 

GeomConverter/src/org/lcsim/geometry
Subdetector.java 1.14 -> 1.15
diff -u -r1.14 -r1.15
--- Subdetector.java	3 Apr 2007 01:44:41 -0000	1.14
+++ Subdetector.java	9 Apr 2007 21:05:28 -0000	1.15
@@ -17,7 +17,7 @@
     
     public IDDecoder getIDDecoder();
     public Layering getLayering();
-    public ParameterSet getParameters();
+    public ParameterSet getParameterSet();
     public VisAttributes getVisAttributes();
            
     public boolean isTracker();
CVSspam 0.2.8