lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
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
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);
}