Commit in lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter on MAIN
DiskToWedgesSegmenter.java+3-71.4 -> 1.5
DiskTrackerToRingsSegmenter.java+13-71.2 -> 1.3
+16-14
2 modified files
Miscellaneous fixes and improvements, example driver

lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
DiskToWedgesSegmenter.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- DiskToWedgesSegmenter.java	3 Oct 2008 20:16:02 -0000	1.4
+++ DiskToWedgesSegmenter.java	21 Oct 2008 00:53:50 -0000	1.5
@@ -24,7 +24,7 @@
  * Simplistic <tt>Segmenter</tt> that tiles a single disk with wedges.
  * 
  * @author D. Onoprienko
- * @version $Id: DiskToWedgesSegmenter.java,v 1.4 2008/10/03 20:16:02 onoprien Exp $
+ * @version $Id: DiskToWedgesSegmenter.java,v 1.5 2008/10/21 00:53:50 onoprien Exp $
  */
 public class DiskToWedgesSegmenter extends RegionSegmenter {
   
@@ -63,11 +63,10 @@
       _rotation[indexPhi] = Rotation3D.passiveZRotation(-angle);
       _u[indexPhi] = new ConstHep3Vector(_rotation[indexPhi].rotated(ConstHep3Vector.V100));
       _v[indexPhi] = new ConstHep3Vector(_rotation[indexPhi].rotated(ConstHep3Vector.V010));
-      if (_de.getName().equals("TrackerForward_positive_layer0")) {
-        System.out.println(_left + "Index "+ indexPhi +" angle "+ Math.toDegrees(angle) +" u "+ _u[indexPhi] +" v "+ _v[indexPhi]);
-      }
     }
   }
+
+
 // -- Implementing RegionSegmenter :  ------------------------------------------
 
   /**
@@ -112,9 +111,6 @@
     Hep3Vector origin = new BasicHep3Vector(r*Math.cos(phi), r*Math.sin(phi), _z);
     RefFrameCartesian rf =
          new RefFrameCartesian(origin, _rotation[indexPhi], _u[indexPhi], _v[indexPhi], ConstHep3Vector.V001);
-      if (_de.getName().equals("TrackerForward_positive_layer0")) {
-        System.out.println(" Index "+ indexPhi +" phi "+ Math.toDegrees(phi) +" origin "+ origin +" rf "+ rf.getOrigin());
-      }
     return new Sensor(_de, postfixToID(postfix), _sType[indexR], rf);
   }
 

lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
DiskTrackerToRingsSegmenter.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- DiskTrackerToRingsSegmenter.java	30 Sep 2008 04:41:51 -0000	1.2
+++ DiskTrackerToRingsSegmenter.java	21 Oct 2008 00:53:50 -0000	1.3
@@ -37,7 +37,7 @@
  * {@link #setStereoAngle(double angle)}.
  * 
  * @author D.Onoprienko
- * @version $Id: DiskTrackerToRingsSegmenter.java,v 1.2 2008/09/30 04:41:51 onoprien Exp $
+ * @version $Id: DiskTrackerToRingsSegmenter.java,v 1.3 2008/10/21 00:53:50 onoprien Exp $
  */
 public class DiskTrackerToRingsSegmenter extends RegionSegmenter {
   
@@ -153,12 +153,13 @@
 
   /**
    * Set stereo angle.
-   * Default is 90 degrees for "TrackerEndcap", 0 for "VertexEndcap" and "TrackerForward".
    */
   public void setStereoAngle(double angle) {
-    _rot1 = Rotation3D.passiveZRotation(angle);
-    _u1 = new ConstHep3Vector(_rot1.rotated(ConstHep3Vector.V100));
-    _v1 = new ConstHep3Vector(_rot1.rotated(ConstHep3Vector.V010));
+    _rot1 = (Math.abs(angle) < 0.0001) ? null : Rotation3D.passiveZRotation(angle);
+    if (_rot1 != null) {
+      _u1 = new ConstHep3Vector(_rot1.rotated(ConstHep3Vector.V100));
+      _v1 = new ConstHep3Vector(_rot1.rotated(ConstHep3Vector.V010));
+    }
   }
 
 // -- Implementing RegionSegmenter :  ------------------------------------------
@@ -186,14 +187,19 @@
     double stripLength = (layer >= _stripLength.length) ? _stripLength[0] : _stripLength[layer];
     SensorType type = new Ring(_radiusInner[postfix], _radiusOuter[postfix], stripWidth, stripLength);
     Hep3Vector trans = new BasicHep3Vector();
-    Translation3D translation = new Translation3D(0.,0.,_z[postfix]);
+    Translation3D translation = new Translation3D(0.,0.,-_z[postfix]);
     IRefFrame rf;
     if (layer % 2 == 0) {
       rf = new RefFrameCartesian(new Transform3D(translation), null,
               ConstHep3Vector.V100, ConstHep3Vector.V010, ConstHep3Vector.V001);
     } else {
-      rf = new RefFrameCartesian(new Transform3D(translation, _rot1), null, _u1, _v1, ConstHep3Vector.V001);
+      if (_rot1 == null) {
+        rf = new RefFrameCartesian(new Transform3D(translation), null,
+              ConstHep3Vector.V100, ConstHep3Vector.V010, ConstHep3Vector.V001);
+      } else {
+        rf = new RefFrameCartesian(new Transform3D(translation, _rot1), null, _u1, _v1, ConstHep3Vector.V001);
       }
+    }
     return new Sensor(_detElts.get(postfix), postfixToID(postfix), type, rf);
   }
   
CVSspam 0.2.8