Author: phansson
Date: Mon Nov 24 17:20:20 2014
New Revision: 3429
Log:
Adding top modules correctly. Fixed kin mount offsets for U-supports.
Modified:
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java Mon Nov 24 17:20:20 2014
@@ -246,16 +246,16 @@
/**
- * @SurveyVolume volume defining the coordinate system of the support ring in the SVT box coordinate system
- * Reference: tracker envelope coordinate system.
- * Origin: pin position of support ring (it's on the electron side)
- * Orientation: hole position is vee position (it's on the positron side).
+ * @SurveyVolume volume defining the coordinate system of the support ring
+ * Reference: @SvtBoxBasePlate
+ * Origin: pin position of support ring (electron side)
+ * Orientation: slot position is vee position (positron side) i.e u points towards the positron side and v in the upstream beam direction
*
* @author Per Hansson Adrian <[log in to unmask]>
*
*/
public static class SupportRing extends SurveyVolume {
- private static final double plate_thickness = 0.25*inch; // TODO not sure if this is correct
+ private static final double plateThickness = 0.35*inch;
public SupportRing(String name, SurveyVolume mother, AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
@@ -268,9 +268,6 @@
// do nothing
}
protected void setPos() {
-
- //if(debug)
- //System.out.printf("%s: setPos\n", this.getClass().getSimpleName());
final double ball_pos_x = -SvtBoxBasePlate.kin_mount_to_edge_of_plate_x + SvtBoxBasePlate.width/2.0 - 6.622*inch;
final double ball_pos_y = -SvtBoxBasePlate.kin_mount_to_edge_of_plate_y + SvtBoxBasePlate.length -28.531*inch;
@@ -285,23 +282,12 @@
ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
veePos = new BasicHep3Vector(vee_pos_x, vee_pos_y, vee_pos_z);
flatPos = new BasicHep3Vector(0,0,0);
- //if(debug) {
- //System.out.printf("%s: before setting flat:\n", this.getClass().getSimpleName());
- //printSurveyPos();
- //}
+
Hep3Vector uPrime = VecOp.unit(VecOp.sub(veePos, ballPos));
- //TransformationUtils.getCardanAngles(new BasicHep3Vector(1,0,0), uPrime, u_prime, v_prime)
Rotation r = new Rotation(new Vector3D(1,0,0),new Vector3D(0,0,1), new Vector3D(uPrime.v()), new Vector3D(0,0,1));
Hep3Vector vPrime = new BasicHep3Vector(r.applyTo(new Vector3D(0, 1, 0)).toArray());
flatPos = VecOp.add(ballPos, vPrime);
- //if(debug) {
- //System.out.printf("%s: after setting flat:\n", this.getClass().getSimpleName());
- //printSurveyPos();
- //}
-
-
- }
-
+ }
}
@@ -314,7 +300,7 @@
*/
public abstract static class SupportRingL13KinMount extends SurveyVolume {
- public static final double kin_mount_offset_vertically = 0.113*inch; // TODO fix this offset
+ public static final double kin_mount_offset_vertically = 0.093*inch;
public SupportRingL13KinMount(String name, SurveyVolume mother, AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
@@ -346,7 +332,7 @@
final double ball_pos_x = (7.0 - 5.444) *inch;
final double ball_pos_y = 0.574*inch;
- final double ball_pos_z = SupportRing.plate_thickness + kin_mount_offset_vertically;
+ final double ball_pos_z = SupportRing.plateThickness + kin_mount_offset_vertically;
ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
final double vee_pos_x = (2*7.0)*inch;
@@ -372,9 +358,7 @@
*
*/
public static class SupportRingL13TopKinMount extends SupportRingL13KinMount {
-
- // TODO Check this offset
- public static final double offset_vertically_wrt_bottom = 200.0;
+ public static final double mount_surface_wrt_baseplate_vertically = 5.388*inch;
public SupportRingL13TopKinMount(String name, SurveyVolume mother, AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
@@ -385,7 +369,7 @@
// These are the same as for the bottom kin mounts except for the vertical offset
final double ball_pos_x = (7.0 - 5.444) *inch;
final double ball_pos_y = 0.574*inch;
- final double ball_pos_z = SupportRing.plate_thickness + kin_mount_offset_vertically + offset_vertically_wrt_bottom;
+ final double ball_pos_z = mount_surface_wrt_baseplate_vertically + kin_mount_offset_vertically;
ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
final double vee_pos_x = (2*7.0)*inch;
@@ -462,10 +446,9 @@
setCenter(x,y,z);
}
protected void setPos() {
- //locate cone from pin hole
final double ball_pos_x = 4*inch;
final double ball_pos_y = (4.175 + 2*3.937) * inch;
- final double ball_pos_z = side_plate_cone_y; // TODO need to find distance to surface from kin mount
+ final double ball_pos_z = -SupportRingL13KinMount.kin_mount_offset_vertically + UChannelL13Plate.height + side_plate_cone_y;
ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
veePos = new BasicHep3Vector(ballPos.x()-1, ballPos.y(), ballPos.z());
@@ -482,7 +465,8 @@
* @SurveyVolume volume defining the coordinate system of the top L1-3 u-channel
* Reference: SupportRingL13TopKinMount coordinate system
* Origin: midpoint between upstream survey cones
- * Orientation: u - width pointing towards electron side, v - pointing along the U-channel in the beam direction
+ * Orientation: u - width pointing towards positron side, v - pointing along the U-channel in the beam direction
+ * Note that this is flipped w.r.t. bottom support.
*
* @author Per Hansson Adrian <[log in to unmask]>
*
@@ -490,7 +474,7 @@
public static class UChannelL13Top extends UChannelL13 {
public final static double length = UChannelL13TopPlate.length;
public static final double kin_mount_to_edge_of_plate_y = length-15.8*inch;
- public final static double cone_to_edge_of_plate_y = 12.25*inch;
+ public final static double cone_to_edge_of_plate_y = 10.999*inch;
public final static double cone_to_L1_hole_y = cone_to_edge_of_plate_y - kin_mount_to_edge_of_plate_y;
public UChannelL13Top(String name, SurveyVolume m,
AlignmentCorrection alignmentCorrection,
@@ -505,16 +489,15 @@
setCenter(x,y,z);
}
protected void setPos() {
- //locate cone from pin hole
final double ball_pos_x = 4*inch;
- final double ball_pos_y = (4.175 + 2*3.937) * inch;
- final double ball_pos_z = side_plate_cone_y; // TODO need to find distance to surface from kin mount
-
+ final double ball_pos_y = (4.175 + 2*3.937) * inch;
+ // TODO need to find proper position of from kin mount
+ final double ball_pos_z = SupportRingL13KinMount.kin_mount_offset_vertically - side_plate_cone_y;
+ // The coordinate system is flipped pi around v compared to bottom
ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
- veePos = new BasicHep3Vector(ballPos.x()-1, ballPos.y(), ballPos.z());
+ veePos = new BasicHep3Vector(ballPos.x()+1, ballPos.y(), ballPos.z());
flatPos = new BasicHep3Vector(ballPos.x(), ballPos.y()-1, ballPos.z());
}
-
protected double getLength() {
return length;
}
@@ -536,6 +519,7 @@
public final static double module_mounting_hole_to_hole_x =3.937*inch;
public static final double width = 9.25*inch;
public static final double height = 0.375*inch;
+ public final static double length = 16.0*inch;
public UChannelL13Plate(String name, SurveyVolume m,
AlignmentCorrection alignmentCorrection) {
@@ -570,7 +554,9 @@
public double getWidth() {
return width;
}
- public abstract double getLength();
+ public double getLength() {
+ return length;
+ }
public double getHeight() {
return height;
}
@@ -588,7 +574,6 @@
*
*/
public static class UChannelL13BottomPlate extends UChannelL13Plate {
- public final static double length = 16.0*inch;
public UChannelL13BottomPlate(String name, SurveyVolume m,
AlignmentCorrection alignmentCorrection) {
super(name, m, alignmentCorrection);
@@ -602,10 +587,6 @@
setCenter(x,y,z);
}
- public double getLength() {
- return length;
- }
-
}
/**
@@ -717,9 +698,9 @@
*/
public static class UChannelL46Top extends UChannelL46 {
// TODO change these to the top coordinates taken from Shawn's 3D model
- protected static final double cone_x = UChannelL46Bottom.cone_x;
- protected static final double cone_y = UChannelL46Bottom.cone_y;
- protected static final double cone_z = UChannelL46Bottom.cone_z + 200.0;
+ protected static final double cone_x = -6.997*inch;
+ protected static final double cone_y = SvtBox.length/2.0 - 31.643*inch; //TODO is this 31.643 or 31.043?
+ protected static final double cone_z = -1*UChannelL46Bottom.cone_z;
public UChannelL46Top(String name, SurveyVolume m,
AlignmentCorrection alignmentCorrection) {
@@ -738,7 +719,7 @@
final double ball_pos_y = cone_y;
final double ball_pos_z = cone_z;
ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
- veePos = new BasicHep3Vector(ballPos.x()-1, ballPos.y(), ballPos.z());
+ veePos = new BasicHep3Vector(ballPos.x()+1, ballPos.y(), ballPos.z());
flatPos = new BasicHep3Vector(ballPos.x(), ballPos.y()-1, ballPos.z());
}
}
@@ -893,24 +874,44 @@
protected void setBoxDim() {
setBoxDim(width, length, height);
}
- protected void setPos() {
- ballPos = getHole();
+ protected abstract void setPos();
+
+ protected abstract Hep3Vector getHolePosition();
+ }
+
+ public abstract static class ModuleL13Top extends ModuleL13 {
+ public ModuleL13Top(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ }
+ protected void setPos() {
+ ballPos = getHolePosition();
+ veePos = new BasicHep3Vector(ballPos.x(), ballPos.y(), ballPos.z()-1.0);
+ flatPos = new BasicHep3Vector(ballPos.x()+1, ballPos.y(), ballPos.z());
+ }
+ }
+
+ public abstract static class ModuleL13Bot extends ModuleL13 {
+ public ModuleL13Bot(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ }
+ protected void setPos() {
+ ballPos = getHolePosition();
veePos = new BasicHep3Vector(ballPos.x(), ballPos.y(), ballPos.z()-1.0);
flatPos = new BasicHep3Vector(ballPos.x()-1, ballPos.y(), ballPos.z());
}
- protected abstract Hep3Vector getHole();
- }
-
-
- public static class ModuleL1 extends ModuleL13 {
-
- public ModuleL1(String name, SurveyVolume mother,
+ }
+
+
+ public static class ModuleL1Bot extends ModuleL13Bot {
+
+ public ModuleL1Bot(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
init();
}
- protected Hep3Vector getHole() {
- //hole position (sensor side)
+ protected Hep3Vector getHolePosition() {
double x = hole_to_center_of_plate_width_dir;
double y = 0.0; // TODO assume that cone and module mount pin hole is at same y. Check if true.
double z = -UChannelL13.side_plate_cone_y - UChannelL13Plate.pocket_depth_L1;
@@ -919,15 +920,34 @@
}
-
- public static class ModuleL2 extends ModuleL13 {
-
- public ModuleL2(String name, SurveyVolume mother,
+
+ public static class ModuleL1Top extends ModuleL13Top {
+
+ public ModuleL1Top(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
init();
}
- protected Hep3Vector getHole() {
+
+ protected Hep3Vector getHolePosition() {
+ double x = -1.0*hole_to_center_of_plate_width_dir; // not minus sign compared to bottom
+ double y = 0.0; // TODO assume that cone and module mount pin hole is at same y. Check if true.
+ double z = -UChannelL13.side_plate_cone_y - UChannelL13Plate.pocket_depth_L1;
+ return new BasicHep3Vector(x, y, z);
+ }
+
+ }
+
+
+
+ public static class ModuleL2Bot extends ModuleL13Bot {
+
+ public ModuleL2Bot(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ init();
+ }
+ protected Hep3Vector getHolePosition() {
//hole position (sensor side)
double x = hole_to_center_of_plate_width_dir;
double y = UChannelL13Plate.module_mounting_hole_to_hole_x;
@@ -937,14 +957,34 @@
}
- public static class ModuleL3 extends ModuleL13 {
-
- public ModuleL3(String name, SurveyVolume mother,
+ public static class ModuleL2Top extends ModuleL13Top {
+
+ public ModuleL2Top(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
init();
}
- protected Hep3Vector getHole() {
+
+ protected Hep3Vector getHolePosition() {
+ double x = -1.0*hole_to_center_of_plate_width_dir; // not minus sign compared to bottom
+ double y = UChannelL13Plate.module_mounting_hole_to_hole_x;
+ double z = -UChannelL13.side_plate_cone_y - UChannelL13Plate.pocket_depth_L2;
+ return new BasicHep3Vector(x, y, z);
+ }
+
+ }
+
+
+
+
+ public static class ModuleL3Bot extends ModuleL13Bot {
+
+ public ModuleL3Bot(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ init();
+ }
+ protected Hep3Vector getHolePosition() {
//hole position (sensor side)
double x = hole_to_center_of_plate_width_dir;
double y = 2*UChannelL13Plate.module_mounting_hole_to_hole_x;
@@ -954,17 +994,29 @@
}
-
+ public static class ModuleL3Top extends ModuleL13Top {
+
+ public ModuleL3Top(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ init();
+ }
+
+ protected Hep3Vector getHolePosition() {
+ double x = -1.0*hole_to_center_of_plate_width_dir; // not minus sign compared to bottom
+ double y = 2*UChannelL13Plate.module_mounting_hole_to_hole_x;
+ double z = -UChannelL13.side_plate_cone_y - UChannelL13Plate.pocket_depth_L2;
+ return new BasicHep3Vector(x, y, z);
+ }
+
+ }
/**
- * @SurveyVolume volume defining the coordinate system of module L4-6
- * Reference: @UChannelL46Bottom coordinate system
- * Origin: hole position on mounting surface (electron side)
- * Orientation: u - is normal to the surface pointing vertically down, v - points along module towards positron side.
+ * Abstract @SurveyVolume volume defining the coordinate system of module L4-6
*
* @author Per Hansson Adrian <[log in to unmask]>
*
@@ -996,20 +1048,59 @@
protected void setBoxDim() {
setBoxDim(width, length, height);
}
+ protected abstract void setPos();
+ protected abstract Hep3Vector getHole();
+ }
+
+
+ /**
+ * Abstract @SurveyVolume volume defining the coordinate system of bottom modules for L4-6
+ * Reference: @UChannelL46Bottom coordinate system
+ * Origin: hole position on mounting surface (electron side)
+ * Orientation: u - is normal to the mounting surface pointing vertically down, v - points along module towards positron side.
+ *
+ * @author Per Hansson Adrian <[log in to unmask]>
+ *
+ */
+ public static abstract class ModuleL46Bot extends ModuleL46 {
+
+ public ModuleL46Bot(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ }
protected void setPos() {
ballPos = getHole();
veePos = new BasicHep3Vector(ballPos.x(), ballPos.y(), ballPos.z()-1.0);
flatPos = new BasicHep3Vector(ballPos.x()-1.0, ballPos.y(), ballPos.z());
}
- protected abstract Hep3Vector getHole();
- }
-
-
-
-
- public static class ModuleL4 extends ModuleL46 {
-
- public ModuleL4(String name, SurveyVolume mother,
+ }
+
+ /**
+ * Abstract @SurveyVolume volume defining the coordinate system of top modules for L4-6
+ * Reference: @UChannelL46Top coordinate system
+ * Origin: hole position on mounting surface (electron side when installed)
+ * Orientation: u - is normal to the mounting surface pointing vertically down, v - points along module towards electron side when installed.
+ *
+ * @author Per Hansson Adrian <[log in to unmask]>
+ *
+ */
+ public static abstract class ModuleL46Top extends ModuleL46 {
+
+ public ModuleL46Top(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ }
+ protected void setPos() {
+ ballPos = getHole();
+ veePos = new BasicHep3Vector(ballPos.x(), ballPos.y(), ballPos.z()-1.0);
+ flatPos = new BasicHep3Vector(ballPos.x()+1.0, ballPos.y(), ballPos.z());
+ }
+ }
+
+
+ public static class ModuleL4Bot extends ModuleL46Bot {
+
+ public ModuleL4Bot(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
init();
@@ -1024,10 +1115,27 @@
}
-
- public static class ModuleL5 extends ModuleL46 {
-
- public ModuleL5(String name, SurveyVolume mother,
+ public static class ModuleL4Top extends ModuleL46Top {
+
+ public ModuleL4Top(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ init();
+ }
+
+ protected Hep3Vector getHole() {
+ double x = -1*hole_to_center_of_plate_width_dir;
+ double y = 0.0; // TODO assume that cone and module mount pin hole is at same y. Check if true.
+ double z = -UChannelL46.side_plate_cone_y - UChannelL46Plate.pocket_depth_L4;
+ return new BasicHep3Vector(x, y, z);
+ }
+
+ }
+
+
+ public static class ModuleL5Bot extends ModuleL46Bot {
+
+ public ModuleL5Bot(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
init();
@@ -1041,17 +1149,51 @@
}
}
-
- public static class ModuleL6 extends ModuleL46 {
-
- public ModuleL6(String name, SurveyVolume mother,
+
+ public static class ModuleL5Top extends ModuleL46Top {
+
+ public ModuleL5Top(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
super(name, mother, alignmentCorrection, ref);
init();
}
protected Hep3Vector getHole() {
+ double x = -1*hole_to_center_of_plate_width_dir;
+ double y = UChannelL46Plate.module_mounting_hole_to_hole_x;
+ double z = -UChannelL46.side_plate_cone_y - UChannelL46Plate.pocket_depth_L5;
+ return new BasicHep3Vector(x, y, z);
+ }
+
+ }
+
+ public static class ModuleL6Bot extends ModuleL46Bot {
+
+ public ModuleL6Bot(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ init();
+ }
+
+ protected Hep3Vector getHole() {
double x = hole_to_center_of_plate_width_dir;
+ double y = 2.0*UChannelL46Plate.module_mounting_hole_to_hole_x;
+ double z = -UChannelL46.side_plate_cone_y - UChannelL46Plate.pocket_depth_L6;
+ return new BasicHep3Vector(x, y, z);
+ }
+
+ }
+
+ public static class ModuleL6Top extends ModuleL46Top {
+
+ public ModuleL6Top(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, SurveyVolume ref) {
+ super(name, mother, alignmentCorrection, ref);
+ init();
+ }
+
+ protected Hep3Vector getHole() {
+ double x = -hole_to_center_of_plate_width_dir;
double y = 2.0*UChannelL46Plate.module_mounting_hole_to_hole_x;
double z = -UChannelL46.side_plate_cone_y - UChannelL46Plate.pocket_depth_L6;
return new BasicHep3Vector(x, y, z);
@@ -1226,7 +1368,7 @@
/**
* @SurveyVolume volume defining the coordinate system of the axial half-module in module L1-3
- * Reference: @ModuleL13 coordinate system
+ * Reference: @ModuleL13Bot coordinate system
* Origin: sensor center
* Orientation: w - is normal to the surface pointing from p-side to n-side, v - points along strips away from signal bond pads
*
@@ -1234,25 +1376,23 @@
*
*/
public static class HalfModuleAxial extends HPSTestRunTracker2014GeometryDefinition.TestRunHalfModule {
-
+ // Sensor positions from Shawn's 3D model
public static final double sensor_x = -1.543*inch;
public static final double sensor_y = 4.868*inch;
public static final double sensor_z = -0.23*inch;
-
public HalfModuleAxial(String name, SurveyVolume mother,
AlignmentCorrection alignmentCorrection, int layer, String half) {
super(name, mother, alignmentCorrection, layer, half);
init();
}
protected void setPos() {
- // Sensor positions from Shawn's 3D model
- final double x = sensor_x;
- final double y = sensor_y;
- final double z = sensor_z;
- ballPos = new BasicHep3Vector(x, y, z);
+ ballPos = getSensorPosition();
veePos = new BasicHep3Vector(ballPos.x()+1, ballPos.y(), ballPos.z());
flatPos = new BasicHep3Vector(ballPos.x(), ballPos.y()+1, ballPos.z());
+ }
+ protected Hep3Vector getSensorPosition() {
+ return new BasicHep3Vector(sensor_x, sensor_y, sensor_z);
}
protected void setCenter() {
double x = -1.0 * (TestRunHalfModule.getWidth()/2.0 - ( 12.66 - (8.83 -3.00) + Sensor.width/2.0 ) );
@@ -1260,17 +1400,15 @@
double z = -Sensor.getSensorThickness()/2.0 - HalfModuleLamination.thickness - CarbonFiber.thickness + half_module_thickness/2.0;
setCenter(x, y, z);
}
-
-
-
-
- }
-
-
-
+ }
+
+
+
+
+
/**
* @SurveyVolume volume defining the coordinate system of the stereo half-module in module L1-3
- * Reference: @ModuleL13 coordinate system
+ * Reference: @ModuleL13Bot coordinate system
* Origin: sensor center
* Orientation: same as axial - the module is rotated later.
*
@@ -1410,20 +1548,38 @@
//Create the module
BaseModule module;
- if(layer==1) {
- module = new ModuleL1(volName, mother, alignmentCorrection, ref);
- } else if(layer==2) {
- module = new ModuleL2(volName, mother, alignmentCorrection, ref);
- } else if(layer==3) {
- module = new ModuleL3(volName, mother, alignmentCorrection, ref);
- } else if(layer==4) {
- module = new ModuleL4(volName, mother, alignmentCorrection, ref);
- } else if(layer==5) {
- module = new ModuleL5(volName, mother, alignmentCorrection, ref);
- } else if(layer==6) {
- module = new ModuleL6(volName, mother, alignmentCorrection, ref);
+ if(half == "bottom") {
+ if(layer==1) {
+ module = new ModuleL1Bot(volName, mother, alignmentCorrection, ref);
+ } else if(layer==2) {
+ module = new ModuleL2Bot(volName, mother, alignmentCorrection, ref);
+ } else if(layer==3) {
+ module = new ModuleL3Bot(volName, mother, alignmentCorrection, ref);
+ } else if(layer==4) {
+ module = new ModuleL4Bot(volName, mother, alignmentCorrection, ref);
+ } else if(layer==5) {
+ module = new ModuleL5Bot(volName, mother, alignmentCorrection, ref);
+ } else if(layer==6) {
+ module = new ModuleL6Bot(volName, mother, alignmentCorrection, ref);
+ } else {
+ throw new UnsupportedOperationException("Layer " + layer + " not implemented yet for bottom");
+ }
} else {
- throw new UnsupportedOperationException("Layer " + layer + " not implemented yet");
+ if(layer==1) {
+ module = new ModuleL1Top(volName, mother, alignmentCorrection, ref);
+ } else if(layer==2) {
+ module = new ModuleL2Top(volName, mother, alignmentCorrection, ref);
+ } else if(layer==3) {
+ module = new ModuleL3Top(volName, mother, alignmentCorrection, ref);
+ } else if(layer==4) {
+ module = new ModuleL4Top(volName, mother, alignmentCorrection, ref);
+ } else if(layer==5) {
+ module = new ModuleL5Top(volName, mother, alignmentCorrection, ref);
+ } else if(layer==6) {
+ module = new ModuleL6Top(volName, mother, alignmentCorrection, ref);
+ } else {
+ throw new UnsupportedOperationException("Layer " + layer + " not implemented yet for top");
+ }
}
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1
|