Commit in lcsim/src/org/lcsim/recon/tracking/seedtracker on MAIN
MaterialManager.java+12-11.5 -> 1.6
Add recognition of TRD solids

lcsim/src/org/lcsim/recon/tracking/seedtracker
MaterialManager.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- MaterialManager.java	7 Feb 2009 00:52:41 -0000	1.5
+++ MaterialManager.java	8 Jul 2010 17:09:46 -0000	1.6
@@ -25,6 +25,7 @@
 import org.lcsim.detector.solids.Point3D;
 import org.lcsim.detector.solids.Polycone;
 import org.lcsim.detector.solids.Polycone.ZPlane;
+import org.lcsim.detector.solids.Trd;
 import org.lcsim.detector.solids.Tube;
 import org.lcsim.geometry.Detector;
 
@@ -36,7 +37,7 @@
 public class MaterialManager {
 
     private static final boolean DEBUG = false; //enable debug output
-    private static final boolean TUBE_ONLY = true; //only use Tube elements for calculating volume.
+    private static final boolean TUBE_ONLY = false; //only use Tube elements for calculating volume.
     private List<MaterialPolyconeSegment> _matpc = new ArrayList<MaterialPolyconeSegment>();
     private List<MaterialCylinder> _matcyl = new ArrayList<MaterialCylinder>();
     private List<MaterialDisk> _matdsk = new ArrayList<MaterialDisk>();
@@ -344,6 +345,16 @@
                 vi.rmax = Math.max(vi.rmax, r);
             }
 
+        }else if (solid instanceof Trd) {
+            Trd box = (Trd) solid;
+            for (Point3D p : box.getVertices()) {
+                Hep3Vector transformed = pv.localToGlobal(p.getHep3Vector());
+                vi.zmin = Math.min(transformed.z(), vi.zmin);
+                vi.zmax = Math.max(transformed.z(), vi.zmax);
+                double r = Math.sqrt(transformed.x() * transformed.x() + transformed.y() * transformed.y());
+                vi.rmin = Math.min(vi.rmin, r);
+                vi.rmax = Math.max(vi.rmax, r);
+            }
         } //Note: this information will NOT be used most of the time...
         // Polycones that are top-level elements (e.g. the beampipe) are
         // handled specially (since the radiation length is a function of z).
CVSspam 0.2.8