E1200625-v3
Local Coordinates of Support Tube Ends

This notebook calculates/provides the positions of the centers of the ends of each support tube (for both BSC and HAM chambers) in the building local gravity vector frame. These values can be used to position (or check) that the support tubes are in the proper locations to place the ISI optics tables in their proper locations.

Version History

Ver. 1  D. Coyne  6/16/2012

Started with the Mathematica notebook E1200556 for calculating initial alignment solutions. Chamber centers are given in global coordinates and then transformed to local coordinates. The support tubes are locally horizontal. The coordinates of the ends are then calculated from the local coordinate of the associated chamber.

Ver. 2  D. Coyne  6/21/2012

Just realized that the BS SUS is lower than the ITM by 2.9 mm for H1 and L1. However the suspensions are the same length. The BSC2 optics table must be 2.9 mm lower. We choose to do this with HEPI. For H2, the WBSC4 optics table must be 10.7 mm lower. This is accomplsihed with 4 shims at the support tube to crossbeam mounting interface.

Ver. 3  D. Coyne  7/31/2012

Incorrect positions for HAM1 and HAM6 were used in previous versions; The thickness of the septum plate was not taken into account. As a consequence these 2 chambers are 1.38 in closer to the global origin than in reality. This is corrected in version 3.

.. Intialization

Off[General::"spell"]
Off[General::"spell1"]

Needs["VectorAnalysis`"]

Needs[“Geometry`Rotations`”]
is no longer needed. Use built - in RotationTransform and RotationMatrix
RotationMatrix uses yaw-pitch-roll angles rather than the Euler angles used by RotationMatrix3D

RotationMatrix3D[phi_,theta_,psi_]:=RotationMatrix[Pi - psi, {0, 0, 1}].RotationMatrix[
  theta, {1, 0, 0}].RotationMatrix[Pi - phi, {0, 0, 1}]

RotationMatrix3D[phi,theta,psi]

Note: Per J. Wertz, "Spacecraft Attitude Determination and Control", D. Reidel Pub., 1985, pp.763-764, This is a Type 2 Euler Angle representation with a z-x-z rotation sequence.

Needs["Graphics`Shapes`"]
The functionality of RotateShape, TranslateShape, and AffineShape is provided by the newly added kernel functions Rotate, Translate, Scale and GeometricTransformation

pi=N[π,10];

.. Global to Local Coordinate Transformation Matrices

See Tables 10-14 and Tables 25-27 of T980044-v1(aka -10), "Determination of Local and Global Coordinate Axes for the LIGO Sites".

... Rhc	-> Hanford Corner station

xangle=619.49 10^-6;
yangle=12.4832 10^-6;

Rhc = RotationMatrix3D[0,yangle,0].RotationMatrix3D[pi/2,xangle,-pi/2]; 
MatrixForm[Rhc]

MatrixForm[Rhc-IdentityMatrix[3]]

Rhcinv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rhc.Rhcinv]

MatrixForm[Rhcinv]

... Rhxm	-> Hanford x-mid station

xangle=305.827 10^-6;
yangle=12.0075 10^-6;

Rhxm = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rhxm]

MatrixForm[Rhxm-IdentityMatrix[3]]

Rhxminv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rhxm.Rhxminv]

... Rhxe	-> Hanford x-end station

xangle=-7.8389 10^-6;
yangle=11.5318 10^-6;

Rhxe = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rhxe]

MatrixForm[Rhxe-IdentityMatrix[3]]

Rhxeinv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rhxe.Rhxeinv]

... Rhym	-> Hanford y-mid station

xangle=619.97 10^-6;
yangle=325.84 10^-6;

Rhym = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rhym]

MatrixForm[Rhym-IdentityMatrix[3]]

Rhyminv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rhym.Rhyminv]

... Rhye	-> Hanford y-end station

xangle=620.45 10^-6;
yangle=639.20 10^-6;

Rhye = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rhxe]

MatrixForm[Rhye-IdentityMatrix[3]]

Rhyeinv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rhye.Rhyeinv]

(180/Pi) 619 10^-6 //N

... Rlc	-> Livingston Corner station

xangle=312.0 10^-6;
yangle=-611.0 10^-6;

Rlc = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rlc]

MatrixForm[Rlc-IdentityMatrix[3]]

Rlcinv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rlc.Rlcinv]

... Rlxe	-> Livingston x-end station

xangle=-315.0 10^-6;
yangle=-610.0 10^-6;

Rlxe = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rlxe]

MatrixForm[Rlxe-IdentityMatrix[3]]

Rlxeinv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rlxe.Rlxeinv]

MatrixForm[Rlxeinv-Transpose[Rlxe]]

... Rlye	-> Livingston y-end station

xangle=311.0 10^-6;
yangle=18.8 10^-6;

Rlye = RotationMatrix3D[0,yangle,0].RotationMatrix3D[Pi/2,xangle,-Pi/2];
MatrixForm[Rlye]

MatrixForm[Rlye-IdentityMatrix[3]]

Rlyeinv =RotationMatrix3D[Pi/2,-xangle,-Pi/2]. RotationMatrix3D[0,-yangle,0];
MatrixForm[Rlye.Rlyeinv]

.. Chamber Center Global Coordinates

-Global coordinates taken from:
	H1: D0901920-v10 ( was E1101147-v2, “H1_recycling cavity length .076wedge”)
	L1: Zemax model “D090xxxx L1 Zemax layout.zar”, PDMW vault version x010
	H2: D0902345-v8 (was E1101148-v2, “H2_recycling-cavity-length-0.076wedge”)

... H1 Chambers

BSCchambersH1G={{"WBSC1",0,4580,0},
{"WBSC2",0,0,0},
{"WBSC3",4580,0,0},
{"WBSC9",4000000,0,0},
{"WBSC10",0,4000000,0}};
HAMchambersH1G={{"WHAM1",-22726.7,0,0},
{"WHAM2",-20122,0,0},
	{"WHAM3",-3831,0,0},
	{"WHAM4",0,-3831,0},
	{"WHAM5",0,-20122,0},
	{"WHAM6",0,-22726.7,0}};
nBSCchambersH1=Length[BSCchambersH1G];
nHAMchambersH1=Length[HAMchambersH1G];

tableHead={"x_global","y_global","z_global"};
WBSCTable=TableForm[BSCchambersH1G[[All,2;;4]],TableHeadings->{BSCchambersH1G[[All,1]],tableHead}];

tableHead={"x_global","y_global","z_global"};
WHAMTable=TableForm[HAMchambersH1G[[All,2;;4]],TableHeadings->{HAMchambersH1G[[All,1]],tableHead}];

... L1 Chambers

BSCchambersL1G={{"LBSC1", 0.0, 4580.0, 0.0},
{"LBSC2", 0.0 ,0.0, 0.0},
{"LBSC3", 4580.0 ,0.0 ,0.0},
{"LBSC4", 4000000.0, 0.0 ,0.0},
{"LBSC5", 0.0 ,4000000.0 ,0.0}};
HAMchambersL1G={{"LHAM1",-22726.7 ,0.0 ,0.0},
{"LHAM2",-20122.0 ,0.0 ,0.0},
{"LHAM3",-3831.0 ,0.0 ,0.0},
{"LHAM4", 0.0,-3831.0 ,0.0},
{"LHAM5", 0.0,-20122.0, 0.0},
{"LHAM6", 0.0,-22726.7 ,0.0}};
nBSCchambersL1=Length[BSCchambersL1G];
nHAMchambersL1=Length[HAMchambersL1G];

tableHead={"x_global","y_global","z_global"};
LBSCTable=TableForm[BSCchambersL1G[[All,2;;4]],TableHeadings->{BSCchambersL1G[[All,1]],tableHead}];

tableHead={"x_global","y_global","z_global"};
LHAMTable=TableForm[HAMchambersL1G[[All,2;;4]],TableHeadings->{HAMchambersL1G[[All,1]],tableHead}];

... Local Coordinates

... H1

H1 Chambers

Convert the global coordinates of the chambers into the local coordinate system

Note that the centers of the central BSC chamber, BSC2, and the end station chambers, are be definition at {0,0,0} local.

BSCchambersH1L=BSCchambersH1G;
Do[BSCchambersH1L[[i,2;;4]]=BSCchambersH1G[[i,2;;4]].Rhc,{i,1,nBSCchambersH1-2}];
BSCchambersH1L[[4,2;;4]]=(BSCchambersH1G[[4,2;;4]]-BSCchambersH1G[[4,2;;4]]).Rhxe;
BSCchambersH1L[[5,2;;4]]=(BSCchambersH1G[[5,2;;4]]-BSCchambersH1G[[5,2;;4]]).Rhye;

HAMchambersH1L=HAMchambersH1G;
Do[HAMchambersH1L[[i,2;;4]]=HAMchambersH1G[[i,2;;4]].Rhc,{i,1,nHAMchambersH1}];

tableHead={"x_global","y_global","z_global"};
Print[TableForm[BSCchambersH1L[[All,2;;4]],TableHeadings->{BSCchambersH1L[[All,1]],tableHead}]]

tableHead={"x_global","y_global","z_global"};
Print[TableForm[HAMchambersH1L[[All,2;;4]],TableHeadings->{HAMchambersH1L[[All,1]],tableHead}]]

BSC Support Tubes Ends

Support tube center (nozzle D centerline) height above BSC chamber center = 1130.3 mm (D972001-B, sh 3)
Horizontal distance between the support tube centers and the BSC chamber center = 838.2 mm (PSI v049-4-001, Rev1, sh 2)
Support tube length = 3657.6 mm (D972121-v2, sh 1)
Confirmed with SolidWorks on D0900428 (LBSC2)

LGBSCST=3657.6/2;
WGBSCST=838.2;
ZGBSCST=1130.3;

The orienation of the BSC support tubes are defined in PSI v049-5-003, rev4, sh 1 (corner), v049-5-008, rev3 (x-end), v049-5-009, rev3 (y-end)
The support tube ends will be labelled (numbered) the same way as the nearest HEPI pier, in accordance with G1000125-v8

BSCsupportTubesH1L=Table[0,{4 nBSCchambersH1},{5}];
Do[j=Floor[i/4+1];
If[MemberQ[{1,2,4},i+1],
BSCsupportTubesH1L[[4 i+1]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 1",BSCchambersH1L[[i+1,2;;4]]+{LGBSCST,WGBSCST,ZGBSCST}}];
BSCsupportTubesH1L[[4 i+2]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 2",BSCchambersH1L[[i+1,2;;4]]+{-LGBSCST,WGBSCST,ZGBSCST}}];
BSCsupportTubesH1L[[4 i+3]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 3",BSCchambersH1L[[i+1,2;;4]]+{-LGBSCST,-WGBSCST,ZGBSCST}}];
BSCsupportTubesH1L[[4 i+4]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 4",BSCchambersH1L[[i+1,2;;4]]+{LGBSCST,-WGBSCST,ZGBSCST}}],
BSCsupportTubesH1L[[4 i+1]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 1",BSCchambersH1L[[i+1,2;;4]]+{WGBSCST,LGBSCST,ZGBSCST}}];
BSCsupportTubesH1L[[4 i+2]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 2",BSCchambersH1L[[i+1,2;;4]]+{-WGBSCST,LGBSCST,ZGBSCST}}];
BSCsupportTubesH1L[[4 i+3]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 3",BSCchambersH1L[[i+1,2;;4]]+{-WGBSCST,-LGBSCST,ZGBSCST}}];
BSCsupportTubesH1L[[4 i+4]]=Flatten[{BSCchambersH1L[[i+1,1]],"pier 4",BSCchambersH1L[[i+1,2;;4]]+{WGBSCST,-LGBSCST,ZGBSCST}}]]
,{i,0,nBSCchambersH1-1}];

Drop the support tubes in WBSC2 by 2.9 mm corresponding to the height difference (in global coordinates) between the ITMs and the BS. This height difference is to be taken up by the HEPI system:

Do[BSCsupportTubesH1L[[i,5]]=BSCsupportTubesH1L[[i,5]]-2.9,{i,5,8}];

tableHead={"pier","x_global","y_global","z_global"};
tableBSCsupportTubesH1=TableForm[BSCsupportTubesH1L[[All,2;;5]],TableHeadings->{BSCsupportTubesH1L[[All,1]],tableHead}];

HAM Support Tubes Ends

Support tube center (nozzle E centerline) height below HAM chamber center = -1109.98 mm (PSI v049-4-128, rev3, sh1)
Horizontal distance between the support tube centers and the HAM chamber center = 1370.01 mm (PSI v049-4-128, rev3, sh1)
Support tube length = 2392.43 mm (D972610-v2, sh1)
Confirmed with SolidWorks on D#? (LHAM?)

LGHAMST=94.19 25.4/2;
WGHAMST=(53+15/16) 25.4;
ZGHAMST=-43.7 25.4;

HAMsupportTubesH1L=Table[0,{4 nHAMchambersH1},{5}];
Do[j=Floor[i/4+1];
If[MemberQ[{6,7,8},i+1],
HAMsupportTubesH1L[[4 i+1]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 1",HAMchambersH1L[[i+1,2;;4]]+{LGHAMST,WGHAMST,ZGHAMST}}];
HAMsupportTubesH1L[[4 i+2]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 2",HAMchambersH1L[[i+1,2;;4]]+{-LGHAMST,WGHAMST,ZGHAMST}}];
HAMsupportTubesH1L[[4 i+3]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 3",HAMchambersH1L[[i+1,2;;4]]+{-LGHAMST,-WGHAMST,ZGHAMST}}];
HAMsupportTubesH1L[[4 i+4]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 4",HAMchambersH1L[[i+1,2;;4]]+{LGHAMST,-WGHAMST,ZGHAMST}}],
HAMsupportTubesH1L[[4 i+1]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 1",HAMchambersH1L[[i+1,2;;4]]+{WGHAMST,LGHAMST,ZGHAMST}}];
HAMsupportTubesH1L[[4 i+2]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 2",HAMchambersH1L[[i+1,2;;4]]+{-WGHAMST,LGHAMST,ZGHAMST}}];
HAMsupportTubesH1L[[4 i+3]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 3",HAMchambersH1L[[i+1,2;;4]]+{-WGHAMST,-LGHAMST,ZGHAMST}}];
HAMsupportTubesH1L[[4 i+4]]=Flatten[{HAMchambersH1L[[i+1,1]],"pier 4",HAMchambersH1L[[i+1,2;;4]]+{WGHAMST,-LGHAMST,ZGHAMST}}]],{i,0,nHAMchambersH1-1}];

tableHead={"pier","x_global","y_global","z_global"};
tableHAMsupportTubesH1=TableForm[HAMsupportTubesH1L[[All,2;;5]],TableHeadings->{HAMsupportTubesH1L[[All,1]],tableHead}];

Plot of corner station pier end positions

BSCchamberLabels=Text[#[[1]],1. #[[{2,3}]]]&/@BSCchambersH1L[[1;;3]];
BSCpierLabels=Text[#[[2]],1.1 #[[{3,4}]]]&/@BSCsupportTubesH1L[[1;;12]];
BSCpierPlot=ListPlot[BSCsupportTubesH1L[[1;;12,3;;4]],PlotStyle->PointSize->Large];
HAMchamberLabels=Text[#[[1]],1. #[[{2,3}]]]&/@HAMchambersH1L;
HAMpierLabels=Text[#[[2]],1. #[[{3,4}]]]&/@HAMsupportTubesH1L;
HAMpierPlot=ListPlot[HAMsupportTubesH1L[[All,3;;4]],PlotStyle->PointSize->Large];
plotSupportTubesH1=Show[HAMpierPlot,BSCpierPlot,Graphics[{Blue,BSCchamberLabels}],Graphics[{Red,BSCpierLabels}],Graphics[{Magenta,HAMchamberLabels}],Graphics[{Green,HAMpierLabels}],PlotRange->All,AspectRatio->1];

H1 Summary

WBSCTable

WHAMTable

tableBSCsupportTubesH1

tableHAMsupportTubesH1

plotSupportTubesH1

... L1

L1 Chambers

Convert the global coordinates of the chambers into the local coordinate system

Note that the centers of the central BSC chamber, BSC2, and the end station chambers, are be definition at {0,0,0} local.

BSCchambersL1L=BSCchambersL1G;
Do[BSCchambersL1L[[i,2;;4]]=BSCchambersL1G[[i,2;;4]].Rlc,{i,1,nBSCchambersL1-2}];
BSCchambersL1L[[4,2;;4]]=(BSCchambersL1G[[4,2;;4]]-BSCchambersL1G[[4,2;;4]]).Rlxe;
BSCchambersL1L[[5,2;;4]]=(BSCchambersL1G[[5,2;;4]]-BSCchambersL1G[[5,2;;4]]).Rlye;

HAMchambersL1L=HAMchambersL1G;
Do[HAMchambersL1L[[i,2;;4]]=HAMchambersL1G[[i,2;;4]].Rlc,{i,1,nHAMchambersL1}];

tableHead={"x_global","y_global","z_global"};
Print[TableForm[BSCchambersL1L[[All,2;;4]],TableHeadings->{BSCchambersL1L[[All,1]],tableHead}]]

tableHead={"x_global","y_global","z_global"};
Print[TableForm[HAMchambersL1L[[All,2;;4]],TableHeadings->{HAMchambersL1L[[All,1]],tableHead}]]

BSC Support Tubes Ends

Support tube center (nozzle D centerline) height above BSC chamber center = 1130.3 mm (D972001-B, sh 3)
Horizontal distance between the support tube centers and the BSC chamber center = 838.2 mm (PSI v049-4-001, Rev1, sh 2)
Support tube length = 3657.6 mm (D972121-v2, sh 1)
Confirmed with SolidWorks on D0900428 (LBSC2)

LGBSCST=3657.6/2;
WGBSCST=838.2;
ZGBSCST=1130.3;

The orienation of the BSC support tubes are defined in PSI v049-5-003, rev4, sh 1 (corner), v049-5-008, rev3 (x-end), v049-5-009, rev3 (y-end)
The support tube ends will be labelled (numbered) the same way as the nearest HEPI pier, in accordance with G1000125-v8

BSCsupportTubesL1L=Table[0,{4 nBSCchambersL1},{5}];
Do[j=Floor[i/4+1];
If[MemberQ[{1,2,4},i+1],
BSCsupportTubesL1L[[4 i+1]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 1",BSCchambersL1L[[i+1,2;;4]]+{LGBSCST,WGBSCST,ZGBSCST}}];
BSCsupportTubesL1L[[4 i+2]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 2",BSCchambersL1L[[i+1,2;;4]]+{-LGBSCST,WGBSCST,ZGBSCST}}];
BSCsupportTubesL1L[[4 i+3]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 3",BSCchambersL1L[[i+1,2;;4]]+{-LGBSCST,-WGBSCST,ZGBSCST}}];
BSCsupportTubesL1L[[4 i+4]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 4",BSCchambersL1L[[i+1,2;;4]]+{LGBSCST,-WGBSCST,ZGBSCST}}],
BSCsupportTubesL1L[[4 i+1]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 1",BSCchambersL1L[[i+1,2;;4]]+{WGBSCST,LGBSCST,ZGBSCST}}];
BSCsupportTubesL1L[[4 i+2]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 2",BSCchambersL1L[[i+1,2;;4]]+{-WGBSCST,LGBSCST,ZGBSCST}}];
BSCsupportTubesL1L[[4 i+3]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 3",BSCchambersL1L[[i+1,2;;4]]+{-WGBSCST,-LGBSCST,ZGBSCST}}];
BSCsupportTubesL1L[[4 i+4]]=Flatten[{BSCchambersL1L[[i+1,1]],"pier 4",BSCchambersL1L[[i+1,2;;4]]+{WGBSCST,-LGBSCST,ZGBSCST}}]]
,{i,0,nBSCchambersL1-1}];

Drop the support tubes in WBSC2 by 2.9 mm corresponding to the height difference (in global coordinates) between the ITMs and the BS. This height difference is to be taken up by the HEPI system:

Do[BSCsupportTubesL1L[[i,5]]=BSCsupportTubesL1L[[i,5]]-2.9,{i,5,8}];

tableHead={"pier","x_global","y_global","z_global"};
tableBSCsupportTubesL1=TableForm[BSCsupportTubesL1L[[All,2;;5]],TableHeadings->{BSCsupportTubesL1L[[All,1]],tableHead}];

HAM Support Tubes Ends

Support tube center (nozzle E centerline) height below HAM chamber center = -1109.98 mm (PSI v049-4-128, rev3, sh1)
Horizontal distance between the support tube centers and the HAM chamber center = 1370.01 mm (PSI v049-4-128, rev3, sh1)
Support tube length = 2392.43 mm (D972610-v2, sh1)
Confirmed with SolidWorks on D#? (LHAM?)

LGHAMST=94.19 25.4/2;
WGHAMST=(53+15/16) 25.4;
ZGHAMST=-43.7 25.4;

HAMsupportTubesL1L=Table[0,{4 nHAMchambersL1},{5}];
Do[j=Floor[i/4+1];
If[MemberQ[{6,7,8},i+1],
HAMsupportTubesL1L[[4 i+1]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 1",HAMchambersL1L[[i+1,2;;4]]+{LGHAMST,WGHAMST,ZGHAMST}}];
HAMsupportTubesL1L[[4 i+2]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 2",HAMchambersL1L[[i+1,2;;4]]+{-LGHAMST,WGHAMST,ZGHAMST}}];
HAMsupportTubesL1L[[4 i+3]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 3",HAMchambersL1L[[i+1,2;;4]]+{-LGHAMST,-WGHAMST,ZGHAMST}}];
HAMsupportTubesL1L[[4 i+4]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 4",HAMchambersL1L[[i+1,2;;4]]+{LGHAMST,-WGHAMST,ZGHAMST}}],
HAMsupportTubesL1L[[4 i+1]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 1",HAMchambersL1L[[i+1,2;;4]]+{WGHAMST,LGHAMST,ZGHAMST}}];
HAMsupportTubesL1L[[4 i+2]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 2",HAMchambersL1L[[i+1,2;;4]]+{-WGHAMST,LGHAMST,ZGHAMST}}];
HAMsupportTubesL1L[[4 i+3]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 3",HAMchambersL1L[[i+1,2;;4]]+{-WGHAMST,-LGHAMST,ZGHAMST}}];
HAMsupportTubesL1L[[4 i+4]]=Flatten[{HAMchambersL1L[[i+1,1]],"pier 4",HAMchambersL1L[[i+1,2;;4]]+{WGHAMST,-LGHAMST,ZGHAMST}}]],{i,0,nHAMchambersL1-1}];

tableHead={"pier","x_global","y_global","z_global"};
tableHAMsupportTubesL1=TableForm[HAMsupportTubesL1L[[All,2;;5]],TableHeadings->{HAMsupportTubesL1L[[All,1]],tableHead}];

Plot of corner station pier end positions

BSCchamberLabels=Text[#[[1]],1. #[[{2,3}]]]&/@BSCchambersL1L[[1;;3]];
BSCpierLabels=Text[#[[2]],1.1 #[[{3,4}]]]&/@BSCsupportTubesL1L[[1;;12]];
BSCpierPlot=ListPlot[BSCsupportTubesL1L[[1;;12,3;;4]],PlotStyle->PointSize->Large];
HAMchamberLabels=Text[#[[1]],1. #[[{2,3}]]]&/@HAMchambersL1L;
HAMpierLabels=Text[#[[2]],1. #[[{3,4}]]]&/@HAMsupportTubesL1L;
HAMpierPlot=ListPlot[HAMsupportTubesL1L[[All,3;;4]],PlotStyle->PointSize->Large];
plotSupportTubesL1=Show[HAMpierPlot,BSCpierPlot,Graphics[{Blue,BSCchamberLabels}],Graphics[{Red,BSCpierLabels}],Graphics[{Magenta,HAMchamberLabels}],Graphics[{Green,HAMpierLabels}],PlotRange->All,AspectRatio->1];

L1 Summary

LBSCTable

LHAMTable

tableBSCsupportTubesL1

tableHAMsupportTubesL1

plotSupportTubesL1