GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.5 -r1.6
--- HPSTrackerConverter.java 16 Feb 2012 23:06:12 -0000 1.5
+++ HPSTrackerConverter.java 16 Feb 2012 23:23:01 -0000 1.6
@@ -178,7 +178,7 @@
{
String moduleBaseName = subdetName + "_layer" + layerId + "_module" + moduleNumber;
Translation3D p = new Translation3D(x, y, z + dz);
- RotationGeant rot = new RotationGeant(0, 0, phi0);
+ RotationGeant rot = new RotationGeant(0, 0, Math.PI / 2 + phi0);
new PhysicalVolume(new Transform3D(p, rot), moduleBaseName, moduleVolume, detector.getTrackingVolume().getLogicalVolume(), 0);
String path = "/" + detector.getTrackingVolume().getName() + "/" + moduleBaseName;
new SiTrackerModule(moduleBaseName, layerPos, path, moduleNumber);
@@ -190,7 +190,7 @@
if (flipSA)
rphi0 = -rphi0;
//RotationGeant rotr = new RotationGeant(0, 0, rphi0);
- RotationGeant rotr = new RotationGeant(0, 0, Math.PI/2);
+ RotationGeant rotr = new RotationGeant(0, 0, Math.PI/2 + rphi0); // Correct???
String path2 = "/" + detector.getTrackingVolume().getName() + "/" + moduleBaseName + "_reflected";
new PhysicalVolume(new Transform3D(pr, rotr), moduleBaseName + "_reflected", moduleVolume, detector.getTrackingVolume().getLogicalVolume(), k);
new SiTrackerModule(moduleBaseName + "_reflected", layerNeg, path2, moduleNumber);
GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
diff -u -r1.5 -r1.6
--- HPSTracker.java 16 Feb 2012 23:06:12 -0000 1.5
+++ HPSTracker.java 16 Feb 2012 23:23:01 -0000 1.6
@@ -132,7 +132,9 @@
rot.setX(0);
rot.setY(0);
//rot.setZ(phi0);
- rot.setZ(Math.PI / 2); // Y side along world's X axis.
+ // Y side along world's X axis.
+ // FIXME Should phi0 actually be subtracted???
+ rot.setZ(Math.PI / 2 + phi0);
lcdd.add(p);
lcdd.add(rot);
@@ -151,13 +153,14 @@
pr.setZ(z + dz);
System.out.println("module @ " + x + " " + -y + " " + z + dz);
Rotation rotr = new Rotation(moduleBaseName + "_reflect_rotation");
- //double rphi0 = phi0;
- //if (flipSA)
- // rphi0 = -rphi0;
+ double rphi0 = phi0;
+ if (flipSA)
+ rphi0 = -rphi0;
rotr.setX(0);
rotr.setY(0);
//rotr.setZ(rphi0);
- rotr.setZ(Math.PI/2);
+ // FIXME Should rphi0 actually be subtracted?
+ rotr.setZ(Math.PI/2 + rphi0);
lcdd.add(pr);
lcdd.add(rotr);