Commit in GeomConverter on MAIN
src/org/lcsim/detector/tracker/silicon/SiSensor.java+36-71.22 -> 1.23
src/org/lcsim/detector/converter/compact/SiTrackerEndcapConverter.java+24-231.21 -> 1.22
project.xml+15-171.32 -> 1.33
+75-47
3 modified files
SiSensor includes some additions to support new features in hit reconstruction
SiTrackerEndcapConverter fixes bug where duplicate modules were being created
project.xml updated to v1.1 of apache common math libraries

GeomConverter/src/org/lcsim/detector/tracker/silicon
SiSensor.java 1.22 -> 1.23
diff -u -r1.22 -r1.23
--- SiSensor.java	24 Dec 2007 14:27:07 -0000	1.22
+++ SiSensor.java	9 Apr 2008 13:46:34 -0000	1.23
@@ -10,12 +10,11 @@
  */
 
 import hep.physics.matrix.BasicMatrix;
-import hep.physics.vec.BasicHep3Vector;
 import hep.physics.vec.Hep3Vector;
 import hep.physics.vec.VecOp;
+import java.util.Collection;
 
 import java.util.EnumMap;
-import java.util.List;
 import java.util.Map;
 
 import org.lcsim.detector.DetectorElement;
@@ -99,7 +98,7 @@
         setBiasVoltage(SiSensor._BIAS_VOLTAGE_DEFAULT);
     }
     
-        
+    
     // Accessors
     //==========
     
@@ -151,11 +150,21 @@
         return _sensorid;
     }
     
+    public Collection<SiSensorElectrodes> getSenseElectrodes()
+    {
+        return _sense_electrodes.values();
+    }
+    
     public SiSensorElectrodes getSenseElectrodes(ChargeCarrier carrier)
     {
         return _sense_electrodes.get(carrier);
     }
     
+    public Collection<SiSensorElectrodes> getReadoutElectrodes()
+    {
+        return _readout_electrodes.values();
+    }
+    
     public SiSensorElectrodes getReadoutElectrodes(ChargeCarrier carrier)
     {
         return _readout_electrodes.get(carrier);
@@ -188,7 +197,7 @@
 //            System.out.println("Electron plane normal: "+_bias_surfaces.get(ChargeCarrier.ELECTRON).getPlane().getNormal());
 //            System.out.println("Electron plane direction: "+_bias_surfaces.get(ChargeCarrier.ELECTRON).getPlane().getDistance());
             
-            _thickness = Math.abs(GeomOp3D.distanceBetween( _bias_surfaces.get(ChargeCarrier.HOLE).getPlane(), _bias_surfaces.get(ChargeCarrier.ELECTRON).getPlane()));            
+            _thickness = Math.abs(GeomOp3D.distanceBetween( _bias_surfaces.get(ChargeCarrier.HOLE).getPlane(), _bias_surfaces.get(ChargeCarrier.ELECTRON).getPlane()));
             
 //            System.out.println("Calculated thickness: "+_thickness);
         }
@@ -247,6 +256,26 @@
         return double_sided;
     }
     
+    public boolean hasStrips()
+    {
+        boolean has_strips = false;
+        for (SiSensorElectrodes electrodes : getReadoutElectrodes())
+        {
+            has_strips = has_strips || (electrodes instanceof SiStrips);
+        }
+        return has_strips;
+    }
+    
+    public boolean hasPixels()
+    {
+        boolean has_pixels = false;
+//        for (SiSensorElectrodes electrodes : getReadoutElectrodes())
+//        {
+//            has_pixels = has_pixels || (electrodes instanceof SiPixels);
+//        }
+        return has_pixels;
+    }
+    
     public double distanceFromSide(Hep3Vector point, ChargeCarrier carrier)
     {
 //        System.out.println("distanceFromSide: "+-GeomOp3D.distanceBetween(new Point3D(point),_bias_surfaces.get(carrier).getPlane()));
@@ -276,7 +305,7 @@
 //        System.out.println("Thickness: "+getThickness());
         
         Hep3Vector electric_field_direction = _bias_surfaces.get(ChargeCarrier.HOLE).getNormal();
-
+        
 //        System.out.println("Electric field direction: "+electric_field_direction);
         
         return VecOp.mult(electric_field_magnitude,electric_field_direction);
@@ -311,7 +340,7 @@
                 "   Property 1";
         return output;
     }
-        
+    
     /**
      * Make an {@link IIdentifier} for a given strip number and side number.
      *
@@ -332,7 +361,7 @@
         // Fill in the side and strip numbers.
         id.setValue(dict.getFieldIndex("side"), sideNumber);
         id.setValue(dict.getFieldIndex("strip"), stripNumber);
-       
+        
         // Pack and return the id.
         return helper.pack( id );
     }

GeomConverter/src/org/lcsim/detector/converter/compact
SiTrackerEndcapConverter.java 1.21 -> 1.22
diff -u -r1.21 -r1.22
--- SiTrackerEndcapConverter.java	11 Jan 2008 05:45:58 -0000	1.21
+++ SiTrackerEndcapConverter.java	9 Apr 2008 13:46:34 -0000	1.22
@@ -56,7 +56,7 @@
  * Converter for SiTrackerEndcap.
  *
  * @author Jeremy McCormick, Tim Nelson
- * @version $Id: SiTrackerEndcapConverter.java,v 1.21 2008/01/11 05:45:58 tknelson Exp $
+ * @version $Id: SiTrackerEndcapConverter.java,v 1.22 2008/04/09 13:46:34 tknelson Exp $
  */
 
 public class SiTrackerEndcapConverter
@@ -202,28 +202,29 @@
                             module.getCopyNumber()
                             );
                     
-                    // Sensor DEs.
-                    for (IPhysicalVolume component : module.getLogicalVolume().getDaughters())
-                    {
-                        if (component.isSensitive())
-                        {
-                            int sensorNum = component.getCopyNumber();
-                            
-                            // Positive endcap component.
-                            new SiSensor(
-                                    sensorNum,
-                                    moduleName + "_component" + sensorNum,
-                                    moduleDE,
-                                    detector.getNavigator().getPath(modulePath + "/" + component.getName()).toString());
-                            
-                            // Negative endcap component. (should have same physical layout as positive)
-                            new SiSensor(
-                                    sensorNum,
-                                    moduleNameReflect + "_component" + sensorNum,
-                                    moduleDEReflect,
-                                    detector.getNavigator().getPath(modulePathReflect + "/" + component.getName()).toString());
-                        }
-                    }
+                    // I believe this is correctly done now in setupSensorDetectorElements()
+//                    // Sensor DEs.
+//                    for (IPhysicalVolume component : module.getLogicalVolume().getDaughters())
+//                    {
+//                        if (component.isSensitive())
+//                        {
+//                            int sensorNum = component.getCopyNumber();
+//                            
+//                            // Positive endcap component.
+//                            new SiSensor(
+//                                    sensorNum,
+//                                    moduleName + "_component" + sensorNum,
+//                                    moduleDE,
+//                                    detector.getNavigator().getPath(modulePath + "/" + component.getName()).toString());
+//                            
+//                            // Negative endcap component. (should have same physical layout as positive)
+//                            new SiSensor(
+//                                    sensorNum,
+//                                    moduleNameReflect + "_component" + sensorNum,
+//                                    moduleDEReflect,
+//                                    detector.getNavigator().getPath(modulePathReflect + "/" + component.getName()).toString());
+//                        }
+//                    }
                 }
             }
         }

GeomConverter
project.xml 1.32 -> 1.33
diff -u -r1.32 -r1.33
--- project.xml	6 Dec 2007 23:25:18 -0000	1.32
+++ project.xml	9 Apr 2008 13:46:35 -0000	1.33
@@ -27,7 +27,7 @@
       <email>[log in to unmask]</email>
       <organization>SLAC</organization>
       <roles>
-	<role>Developer</role>
+        <role>Developer</role>
       </roles>
     </developer>
     <developer>
@@ -36,7 +36,7 @@
       <email>[log in to unmask]</email>
       <organization>SLAC</organization>
       <roles>
-	<role>Developer</role>
+        <role>Developer</role>
       </roles>
     </developer>
   </developers>
@@ -48,7 +48,7 @@
       <version>1.0</version>
       <url>http://www.jdom.org/</url>
       <properties>
-	<war.bundle>true</war.bundle>
+        <war.bundle>true</war.bundle>
       </properties>
     </dependency>
     <dependency>
@@ -104,10 +104,10 @@
     <dependency>
       <groupId>commons-math</groupId>
       <artifactId>commons-math</artifactId>
-      <version>1.0</version>
+      <version>1.1</version>
       <type>jar</type>
       <properties>
-	<jas3.bundle>true</jas3.bundle>
+        <jas3.bundle>true</jas3.bundle>
       </properties>
     </dependency>
   </dependencies>
@@ -115,23 +115,21 @@
     <sourceDirectory>src</sourceDirectory>
     <unitTestSourceDirectory>test</unitTestSourceDirectory>
     <unitTest>
-      <excludes>
-      </excludes>
       <resources>
-	<resource>
-	  <directory>testResources</directory>
-	  <includes>
-	    <include>**/**</include>
-	  </includes>
-	</resource>
+        <resource>
+          <directory>testResources</directory>
+          <includes>
+            <include>**/**</include>
+          </includes>
+        </resource>
       </resources>
     </unitTest>
     <resources>
       <resource>
-	<directory>resources</directory>
-	<includes>
-	  <include>**/**</include>
-	</includes>
+        <directory>resources</directory>
+        <includes>
+          <include>**/**</include>
+        </includes>
       </resource>
     </resources>
   </build>
CVSspam 0.2.8