953 Double_t centerFiberGlassFrameSidePart_XSize = 1.45;
954 Double_t centerFiberGlassFrameSidePart_YSize = 44.6;
955 Double_t centerFiberGlassFrameSidePart_ZSize = 0.89;
957 Double_t centerFiberGlassFrameLongPart_XSize = 66.5;
958 Double_t centerFiberGlassFrameLongPart_YSize = 1.45;
959 Double_t centerFiberGlassFrameLongPart_ZSize = 0.89;
961 Double_t distanceBetweenFiberGlassFrameSideParts = 66.5;
962 Double_t distanceBetweenFiberGlassFrameLongParts = 41.7;
964 TGeoShape* centerFiberGlassFrameSidePartS =
966 centerFiberGlassFrameSidePart_XSize * 0.5, centerFiberGlassFrameSidePart_YSize * 0.5,
967 centerFiberGlassFrameSidePart_ZSize * 0.5);
968 TGeoShape* centerFiberGlassFrameLongPartS =
970 centerFiberGlassFrameLongPart_XSize * 0.5, centerFiberGlassFrameLongPart_YSize * 0.5,
971 centerFiberGlassFrameLongPart_ZSize * 0.5);
974 centerFiberGlassFrameSidePart_pos1->
SetName(
TString(
"centerFiberGlassFrameSidePart_pos1") +=
976 centerFiberGlassFrameSidePart_pos1->
SetDx(
977 +(distanceBetweenFiberGlassFrameSideParts + centerFiberGlassFrameSidePart_XSize) * 0.5);
978 centerFiberGlassFrameSidePart_pos1->
SetDy(0.0);
979 centerFiberGlassFrameSidePart_pos1->
SetDz(0.0);
983 centerFiberGlassFrameSidePart_pos2->
SetName(
TString(
"centerFiberGlassFrameSidePart_pos2") +=
985 centerFiberGlassFrameSidePart_pos2->
SetDx(
986 -(distanceBetweenFiberGlassFrameSideParts + centerFiberGlassFrameSidePart_XSize) * 0.5);
987 centerFiberGlassFrameSidePart_pos2->
SetDy(0.0);
988 centerFiberGlassFrameSidePart_pos2->
SetDz(0.0);
992 centerFiberGlassFrameLongPart_top->
SetName(
TString(
"centerFiberGlassFrameLongPart_top") +=
994 centerFiberGlassFrameLongPart_top->
SetDx(0.0);
995 centerFiberGlassFrameLongPart_top->
SetDy(
996 +(distanceBetweenFiberGlassFrameLongParts + centerFiberGlassFrameLongPart_YSize) * 0.5);
997 centerFiberGlassFrameLongPart_top->
SetDz(0.0);
1001 centerFiberGlassFrameLongPart_bottom->
SetName(
TString(
"centerFiberGlassFrameLongPart_bottom") +=
1003 centerFiberGlassFrameLongPart_bottom->
SetDx(0.0);
1004 centerFiberGlassFrameLongPart_bottom->
SetDy(
1005 -(distanceBetweenFiberGlassFrameLongParts + centerFiberGlassFrameLongPart_YSize) * 0.5);
1006 centerFiberGlassFrameLongPart_bottom->
SetDz(0.0);
1012 TString expression =
"centerFiberGlassFrameSidePartS";
1014 expression +=
":centerFiberGlassFrameSidePart_pos1";
1016 expression +=
"+centerFiberGlassFrameSidePartS";
1018 expression +=
":centerFiberGlassFrameSidePart_pos2";
1020 expression +=
"+centerFiberGlassFrameLongPartS";
1022 expression +=
":centerFiberGlassFrameLongPart_top";
1024 expression +=
"+centerFiberGlassFrameLongPartS";
1026 expression +=
":centerFiberGlassFrameLongPart_bottom";
1029 centerFiberGlassFrameS->
MakeNode(expression);
1038 if (centerFiberGlassFrameV_medium) {
1039 centerFiberGlassFrameV->
SetMedium(centerFiberGlassFrameV_medium);
1041 Fatal(
"Main",
"Invalid medium for centerFiberGlassFrameV!");
1050 centerFiberGlassFrame_transf[0]->
SetDx(0.0);
1051 centerFiberGlassFrame_transf[0]->
SetDy(0.0);
1052 centerFiberGlassFrame_transf[0]->
SetDz(0.0);
1054 frames->
AddNode(centerFiberGlassFrameV, 0, centerFiberGlassFrame_transf[0]);
1058 Double_t centerBrassFrameSidePart_XSize = 1.45;
1059 Double_t centerBrassFrameSidePart_YSize = 44.6;
1060 Double_t centerBrassFrameSidePart_ZSize = 0.005;
1062 Double_t centerBrassFrameLongPart_XSize = 66.5;
1063 Double_t centerBrassFrameLongPart_YSize = 1.45;
1064 Double_t centerBrassFrameLongPart_ZSize = 0.005;
1066 Double_t distanceBetweenBrassFrameSideParts = 66.5;
1067 Double_t distanceBetweenBrassFrameLongParts = 41.7;
1070 TString(
"centerBrassFrameSidePartS") +=
TString(
"_") + frames->
GetName(), centerBrassFrameSidePart_XSize * 0.5,
1071 centerBrassFrameSidePart_YSize * 0.5, centerBrassFrameSidePart_ZSize * 0.5);
1073 TString(
"centerBrassFrameLongPartS") +=
TString(
"_") + frames->
GetName(), centerBrassFrameLongPart_XSize * 0.5,
1074 centerBrassFrameLongPart_YSize * 0.5, centerBrassFrameLongPart_ZSize * 0.5);
1077 centerBrassFrameSidePart_pos1->
SetName(
TString(
"centerBrassFrameSidePart_pos1") +=
1079 centerBrassFrameSidePart_pos1->
SetDx(+(distanceBetweenBrassFrameSideParts + centerBrassFrameSidePart_XSize) * 0.5);
1080 centerBrassFrameSidePart_pos1->
SetDy(0.0);
1081 centerBrassFrameSidePart_pos1->
SetDz(0.0);
1085 centerBrassFrameSidePart_pos2->
SetName(
TString(
"centerBrassFrameSidePart_pos2") +=
1087 centerBrassFrameSidePart_pos2->
SetDx(-(distanceBetweenBrassFrameSideParts + centerBrassFrameSidePart_XSize) * 0.5);
1088 centerBrassFrameSidePart_pos2->
SetDy(0.0);
1089 centerBrassFrameSidePart_pos2->
SetDz(0.0);
1094 centerBrassFrameLongPart_top->
SetDx(0.0);
1095 centerBrassFrameLongPart_top->
SetDy(+(distanceBetweenBrassFrameLongParts + centerBrassFrameLongPart_YSize) * 0.5);
1096 centerBrassFrameLongPart_top->
SetDz(0.0);
1100 centerBrassFrameLongPart_bottom->
SetName(
TString(
"centerBrassFrameLongPart_bottom") +=
1102 centerBrassFrameLongPart_bottom->
SetDx(0.0);
1103 centerBrassFrameLongPart_bottom->
SetDy(-(distanceBetweenBrassFrameLongParts + centerBrassFrameLongPart_YSize)
1105 centerBrassFrameLongPart_bottom->
SetDz(0.0);
1111 TString expression =
"centerBrassFrameSidePartS";
1113 expression +=
":centerBrassFrameSidePart_pos1";
1115 expression +=
"+centerBrassFrameSidePartS";
1117 expression +=
":centerBrassFrameSidePart_pos2";
1119 expression +=
"+centerBrassFrameLongPartS";
1121 expression +=
":centerBrassFrameLongPart_top";
1123 expression +=
"+centerBrassFrameLongPartS";
1125 expression +=
":centerBrassFrameLongPart_bottom";
1128 centerBrassFrameS->
MakeNode(expression);
1137 if (centerBrassFrameV_medium) {
1138 centerBrassFrameV->
SetMedium(centerBrassFrameV_medium);
1140 Fatal(
"Main",
"Invalid medium for centerBrassFrameV!");
1149 centerBrassFrame_transf[0]->
SetDx(0.0);
1150 centerBrassFrame_transf[0]->
SetDy(0.0);
1151 centerBrassFrame_transf[0]->
SetDz(
1152 -(centerFiberGlassFrameSidePart_ZSize * 0.5 + centerBrassFrameSidePart_ZSize * 0.5));
1154 frames->
AddNode(centerBrassFrameV, 0, centerBrassFrame_transf[0]);
1158 Double_t centerSteelFrameSidePart_XSize = 1.45;
1159 Double_t centerSteelFrameSidePart_YSize = 44.6;
1160 Double_t centerSteelFrameSidePart_ZSize = 0.005;
1162 Double_t centerSteelFrameLongPart_XSize = 66.5;
1163 Double_t centerSteelFrameLongPart_YSize = 1.45;
1164 Double_t centerSteelFrameLongPart_ZSize = 0.005;
1166 Double_t distanceBetweenSteelFrameSideParts = 66.5;
1167 Double_t distanceBetweenSteelFrameLongParts = 41.7;
1170 TString(
"centerSteelFrameSidePartS") +=
TString(
"_") + frames->
GetName(), centerSteelFrameSidePart_XSize * 0.5,
1171 centerSteelFrameSidePart_YSize * 0.5, centerSteelFrameSidePart_ZSize * 0.5);
1173 TString(
"centerSteelFrameLongPartS") +=
TString(
"_") + frames->
GetName(), centerSteelFrameLongPart_XSize * 0.5,
1174 centerSteelFrameLongPart_YSize * 0.5, centerSteelFrameLongPart_ZSize * 0.5);
1177 centerSteelFrameSidePart_pos1->
SetName(
TString(
"centerSteelFrameSidePart_pos1") +=
1179 centerSteelFrameSidePart_pos1->
SetDx(+(distanceBetweenSteelFrameSideParts + centerSteelFrameSidePart_XSize) * 0.5);
1180 centerSteelFrameSidePart_pos1->
SetDy(0.0);
1181 centerSteelFrameSidePart_pos1->
SetDz(0.0);
1185 centerSteelFrameSidePart_pos2->
SetName(
TString(
"centerSteelFrameSidePart_pos2") +=
1187 centerSteelFrameSidePart_pos2->
SetDx(-(distanceBetweenSteelFrameSideParts + centerSteelFrameSidePart_XSize) * 0.5);
1188 centerSteelFrameSidePart_pos2->
SetDy(0.0);
1189 centerSteelFrameSidePart_pos2->
SetDz(0.0);
1194 centerSteelFrameLongPart_top->
SetDx(0.0);
1195 centerSteelFrameLongPart_top->
SetDy(+(distanceBetweenSteelFrameLongParts + centerSteelFrameLongPart_YSize) * 0.5);
1196 centerSteelFrameLongPart_top->
SetDz(0.0);
1200 centerSteelFrameLongPart_bottom->
SetName(
TString(
"centerSteelFrameLongPart_bottom") +=
1202 centerSteelFrameLongPart_bottom->
SetDx(0.0);
1203 centerSteelFrameLongPart_bottom->
SetDy(-(distanceBetweenSteelFrameLongParts + centerSteelFrameLongPart_YSize)
1205 centerSteelFrameLongPart_bottom->
SetDz(0.0);
1211 TString expression =
"centerSteelFrameSidePartS";
1213 expression +=
":centerSteelFrameSidePart_pos1";
1215 expression +=
"+centerSteelFrameSidePartS";
1217 expression +=
":centerSteelFrameSidePart_pos2";
1219 expression +=
"+centerSteelFrameLongPartS";
1221 expression +=
":centerSteelFrameLongPart_top";
1223 expression +=
"+centerSteelFrameLongPartS";
1225 expression +=
":centerSteelFrameLongPart_bottom";
1228 centerSteelFrameS->
MakeNode(expression);
1237 if (centerSteelFrameV_medium) {
1238 centerSteelFrameV->
SetMedium(centerSteelFrameV_medium);
1240 Fatal(
"Main",
"Invalid medium for centerSteelFrameV!");
1249 centerSteelFrame_transf[0]->
SetDx(0.0);
1250 centerSteelFrame_transf[0]->
SetDy(0.0);
1251 centerSteelFrame_transf[0]->
SetDz(-(centerFiberGlassFrameSidePart_ZSize * 0.5 + centerSteelFrameSidePart_ZSize
1252 + centerSteelFrameSidePart_ZSize * 0.5));
1254 frames->
AddNode(centerSteelFrameV, 0, centerSteelFrame_transf[0]);
1258 Double_t upperFiberGlassSideBlock_XSize = 3.3;
1259 Double_t upperFiberGlassSideBlock_YSize = 16.8;
1260 Double_t upperFiberGlassSideBlock_ZSize = 1.6;
1263 TString(
"upperFiberGlassSideBlockS") +=
TString(
"_") + frames->
GetName(), upperFiberGlassSideBlock_XSize * 0.5,
1264 upperFiberGlassSideBlock_YSize * 0.5, upperFiberGlassSideBlock_ZSize * 0.5);
1267 TString(
"upperFiberGlassSideBlockV") +=
TString(
"_") + frames->
GetName(), upperFiberGlassSideBlockS);
1271 if (upperFiberGlassSideBlockV_medium) {
1272 upperFiberGlassSideBlockV->
SetMedium(upperFiberGlassSideBlockV_medium);
1274 Fatal(
"Main",
"Invalid medium for upperFiberGlassSideBlockV!");
1283 upperFiberGlassSideBlock_transf[0]->
SetDx(-(distanceBetweenFiberGlassFrameSideParts * 0.5
1284 + centerFiberGlassFrameSidePart_XSize
1285 + upperFiberGlassSideBlock_XSize * 0.5));
1286 upperFiberGlassSideBlock_transf[0]->
SetDy(
1287 +(centerFiberGlassFrameSidePart_YSize * 0.5 - upperFiberGlassSideBlock_YSize * 0.5));
1288 upperFiberGlassSideBlock_transf[0]->
SetDz(
1289 -(upperFiberGlassSideBlock_ZSize * 0.5 - centerFiberGlassFrameSidePart_ZSize * 0.5));
1291 frames->
AddNode(upperFiberGlassSideBlockV, 0, upperFiberGlassSideBlock_transf[0]);
1295 Double_t frontFiberGlassCover_XSize = 69.4;
1296 Double_t frontFiberGlassCover_YSize = 44.6;
1297 Double_t frontFiberGlassCover_ZSize = 0.692;
1300 Double_t frontCover_dYshift = +0.1 * 0.5 ;
1301 Double_t frontCover_dZshift = -centerFiberGlassFrameSidePart_ZSize * 0.5 - centerSteelFrameSidePart_ZSize
1302 - centerSteelFrameSidePart_ZSize;
1305 Double_t smallEpoxideInnerLayer_XSize = 65.6;
1306 Double_t smallEpoxideInnerLayer_YSize = 41.6;
1307 Double_t smallEpoxideInnerLayer_ZSize = 0.05 + 0.01 * 0.5;
1310 TString(
"smallEpoxideInnerLayerS") +=
TString(
"_") + frames->
GetName(), smallEpoxideInnerLayer_XSize * 0.5,
1311 smallEpoxideInnerLayer_YSize * 0.5, smallEpoxideInnerLayer_ZSize * 0.5);
1318 if (smallEpoxideInnerLayerV_medium) {
1319 smallEpoxideInnerLayerV->
SetMedium(smallEpoxideInnerLayerV_medium);
1321 Fatal(
"Main",
"Invalid medium for smallEpoxideInnerLayerV!");
1330 smallEpoxideInnerLayer_transf[0]->
SetDx(frontCover_dXshift);
1331 smallEpoxideInnerLayer_transf[0]->
SetDy(frontCover_dYshift);
1332 smallEpoxideInnerLayer_transf[0]->
SetDz(-smallEpoxideInnerLayer_ZSize * 0.5 + frontCover_dZshift);
1334 frames->
AddNode(smallEpoxideInnerLayerV, 0, smallEpoxideInnerLayer_transf[0]);
1338 Double_t smallHoneyCombLayer_XSize = 65.6;
1339 Double_t smallHoneyCombLayer_YSize = 41.6;
1340 Double_t smallHoneyCombLayer_ZSize = 0.592;
1344 smallHoneyCombLayer_XSize * 0.5, smallHoneyCombLayer_YSize * 0.5, smallHoneyCombLayer_ZSize * 0.5);
1351 if (smallHoneyCombLayerV_medium) {
1352 smallHoneyCombLayerV->
SetMedium(smallHoneyCombLayerV_medium);
1354 Fatal(
"Main",
"Invalid medium for smallHoneyCombLayerV!");
1363 smallHoneyCombLayer_transf[0]->
SetDx(frontCover_dXshift);
1364 smallHoneyCombLayer_transf[0]->
SetDy(frontCover_dYshift);
1365 smallHoneyCombLayer_transf[0]->
SetDz(-smallHoneyCombLayer_ZSize * 0.5 - smallEpoxideInnerLayer_ZSize
1366 + frontCover_dZshift);
1368 frames->
AddNode(smallHoneyCombLayerV, 0, smallHoneyCombLayer_transf[0]);
1372 Double_t smallEpoxideOuterLayer_XSize = 65.6;
1373 Double_t smallEpoxideOuterLayer_YSize = 41.6;
1374 Double_t smallEpoxideOuterLayer_ZSize = 0.05;
1377 TString(
"smallEpoxideOuterLayerS") +=
TString(
"_") + frames->
GetName(), smallEpoxideOuterLayer_XSize * 0.5,
1378 smallEpoxideOuterLayer_YSize * 0.5, smallEpoxideOuterLayer_ZSize * 0.5);
1385 if (smallEpoxideOuterLayerV_medium) {
1386 smallEpoxideOuterLayerV->
SetMedium(smallEpoxideOuterLayerV_medium);
1388 Fatal(
"Main",
"Invalid medium for smallEpoxideOuterLayerV!");
1397 smallEpoxideOuterLayer_transf[0]->
SetDx(frontCover_dXshift);
1398 smallEpoxideOuterLayer_transf[0]->
SetDy(frontCover_dYshift);
1399 smallEpoxideOuterLayer_transf[0]->
SetDz(-smallEpoxideOuterLayer_ZSize * 0.5 - smallHoneyCombLayer_ZSize
1400 - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1402 frames->
AddNode(smallEpoxideOuterLayerV, 0, smallEpoxideOuterLayer_transf[0]);
1406 Double_t smallFiberGlassFrameLowerPart_XSize = 65.6;
1407 Double_t smallFiberGlassFrameLowerPart_YSize = 1.55;
1408 Double_t smallFiberGlassFrameLowerPart_ZSize = 0.692;
1410 Double_t smallFiberGlassFrameUpperPart_XSize = 65.6;
1411 Double_t smallFiberGlassFrameUpperPart_YSize = 1.45;
1412 Double_t smallFiberGlassFrameUpperPart_ZSize = 0.692;
1414 Double_t smallFiberGlassFrameSidePart_XSize = 1.9;
1415 Double_t smallFiberGlassFrameSidePart_YSize = 44.6;
1416 Double_t smallFiberGlassFrameSidePart_ZSize = 0.692;
1418 TGeoShape* smallFiberGlassFrameLowerPartS =
1420 smallFiberGlassFrameLowerPart_XSize * 0.5, smallFiberGlassFrameLowerPart_YSize * 0.5,
1421 smallFiberGlassFrameLowerPart_ZSize * 0.5);
1422 TGeoShape* smallFiberGlassFrameUpperPartS =
1424 smallFiberGlassFrameUpperPart_XSize * 0.5, smallFiberGlassFrameUpperPart_YSize * 0.5,
1425 smallFiberGlassFrameUpperPart_ZSize * 0.5);
1426 TGeoShape* smallFiberGlassFrameSidePartS =
1428 smallFiberGlassFrameSidePart_XSize * 0.5, smallFiberGlassFrameSidePart_YSize * 0.5,
1429 smallFiberGlassFrameSidePart_ZSize * 0.5);
1432 smallFiberGlassFrameLowerPart_pos->
SetName(
TString(
"smallFiberGlassFrameLowerPart_pos") +=
1434 smallFiberGlassFrameLowerPart_pos->
SetDx(0.0);
1435 smallFiberGlassFrameLowerPart_pos->
SetDy(-smallEpoxideInnerLayer_YSize * 0.5
1436 - smallFiberGlassFrameLowerPart_YSize * 0.5);
1437 smallFiberGlassFrameLowerPart_pos->
SetDz(0.0);
1441 smallFiberGlassFrameUpperPart_pos->
SetName(
TString(
"smallFiberGlassFrameUpperPart_pos") +=
1443 smallFiberGlassFrameUpperPart_pos->
SetDx(0.0);
1444 smallFiberGlassFrameUpperPart_pos->
SetDy(smallEpoxideInnerLayer_YSize * 0.5
1445 + smallFiberGlassFrameUpperPart_YSize * 0.5);
1446 smallFiberGlassFrameUpperPart_pos->
SetDz(0.0);
1450 smallFiberGlassFrameSidePart_pos1->
SetName(
TString(
"smallFiberGlassFrameSidePart_pos1") +=
1452 smallFiberGlassFrameSidePart_pos1->
SetDx(smallEpoxideInnerLayer_XSize * 0.5
1453 + smallFiberGlassFrameSidePart_XSize * 0.5);
1454 smallFiberGlassFrameSidePart_pos1->
SetDy((smallFiberGlassFrameUpperPart_YSize - smallFiberGlassFrameLowerPart_YSize)
1456 smallFiberGlassFrameSidePart_pos1->
SetDz(0.0);
1460 smallFiberGlassFrameSidePart_pos2->
SetName(
TString(
"smallFiberGlassFrameSidePart_pos2") +=
1462 smallFiberGlassFrameSidePart_pos2->
SetDx(
1463 -(smallEpoxideInnerLayer_XSize * 0.5 + smallFiberGlassFrameSidePart_XSize * 0.5));
1464 smallFiberGlassFrameSidePart_pos2->
SetDy((smallFiberGlassFrameUpperPart_YSize - smallFiberGlassFrameLowerPart_YSize)
1466 smallFiberGlassFrameSidePart_pos2->
SetDz(0.0);
1472 TString expression =
"smallFiberGlassFrameLowerPartS";
1474 expression +=
":smallFiberGlassFrameLowerPart_pos";
1476 expression +=
"+smallFiberGlassFrameUpperPartS";
1478 expression +=
":smallFiberGlassFrameUpperPart_pos";
1480 expression +=
"+smallFiberGlassFrameSidePartS";
1482 expression +=
":smallFiberGlassFrameSidePart_pos1";
1484 expression +=
"+smallFiberGlassFrameSidePartS";
1486 expression +=
":smallFiberGlassFrameSidePart_pos2";
1489 smallFiberGlassFrameS->
MakeNode(expression);
1498 if (smallFiberGlassFrameV_medium) {
1499 smallFiberGlassFrameV->
SetMedium(smallFiberGlassFrameV_medium);
1501 Fatal(
"Main",
"Invalid medium for smallFiberGlassFrameV!");
1510 smallFiberGlassFrame_transf[0]->
SetDx(frontCover_dXshift);
1511 smallFiberGlassFrame_transf[0]->
SetDy(frontCover_dYshift);
1512 smallFiberGlassFrame_transf[0]->
SetDz(-smallFiberGlassFrameLowerPart_ZSize * 0.5 + frontCover_dZshift);
1514 frames->
AddNode(smallFiberGlassFrameV, 0, smallFiberGlassFrame_transf[0]);
1518 Double_t smallGlueLayer_XSize = 69.4;
1519 Double_t smallGlueLayer_YSize = 44.6;
1520 Double_t smallGlueLayer_ZSize = 0.005 + 0.005;
1524 smallGlueLayer_YSize * 0.5, smallGlueLayer_ZSize * 0.5);
1531 if (smallGlueLayerV_medium) {
1532 smallGlueLayerV->
SetMedium(smallGlueLayerV_medium);
1534 Fatal(
"Main",
"Invalid medium for smallGlueLayerV!");
1543 smallGlueLayer_transf[0]->
SetDx(0.0);
1544 smallGlueLayer_transf[0]->
SetDy(0.0);
1545 smallGlueLayer_transf[0]->
SetDz(-smallGlueLayer_ZSize * 0.5 - smallEpoxideOuterLayer_ZSize
1546 - smallHoneyCombLayer_ZSize - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1548 frames->
AddNode(smallGlueLayerV, 0, smallGlueLayer_transf[0]);
1552 Double_t smallPolyamideLayer_XSize = 69.4;
1553 Double_t smallPolyamideLayer_YSize = 44.6;
1554 Double_t smallPolyamideLayer_ZSize = 0.02 * 0.5;
1558 smallPolyamideLayer_XSize * 0.5, smallPolyamideLayer_YSize * 0.5, smallPolyamideLayer_ZSize * 0.5);
1565 if (smallPolyamideLayerV_medium) {
1566 smallPolyamideLayerV->
SetMedium(smallPolyamideLayerV_medium);
1568 Fatal(
"Main",
"Invalid medium for smallPolyamideLayerV!");
1577 smallPolyamideLayer_transf[0]->
SetDx(0.0);
1578 smallPolyamideLayer_transf[0]->
SetDy(0.0);
1579 smallPolyamideLayer_transf[0]->
SetDz(-smallPolyamideLayer_ZSize * 0.5 - smallGlueLayer_ZSize
1580 - smallEpoxideOuterLayer_ZSize - smallHoneyCombLayer_ZSize
1581 - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1583 frames->
AddNode(smallPolyamideLayerV, 0, smallPolyamideLayer_transf[0]);
1587 Double_t smallCopperLayer_XSize = 69.4;
1588 Double_t smallCopperLayer_YSize = 44.6;
1589 Double_t smallCopperLayer_ZSize = 0.0035 + 0.0061 * 0.5 ;
1593 smallCopperLayer_YSize * 0.5, smallCopperLayer_ZSize * 0.5);
1600 if (smallCopperLayerV_medium) {
1601 smallCopperLayerV->
SetMedium(smallCopperLayerV_medium);
1603 Fatal(
"Main",
"Invalid medium for smallCopperLayerV!");
1612 smallCopperLayer_transf[0]->
SetDx(0.0);
1613 smallCopperLayer_transf[0]->
SetDy(0.0);
1614 smallCopperLayer_transf[0]->
SetDz(-smallCopperLayer_ZSize * 0.5 - smallPolyamideLayer_ZSize - smallGlueLayer_ZSize
1615 - smallEpoxideOuterLayer_ZSize - smallHoneyCombLayer_ZSize
1616 - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1618 frames->
AddNode(smallCopperLayerV, 0, smallCopperLayer_transf[0]);
1623 Double_t backFiberGlassCover_XSize = 75.3;
1624 Double_t backFiberGlassCover_YSize = 48.5;
1625 Double_t backFiberGlassCover_ZSize = 0.662;
1627 Double_t backCover_dXshift = -0.075 ;
1628 Double_t backCover_dYshift = -0.125 ;
1629 Double_t backCover_dZshift = centerFiberGlassFrameSidePart_ZSize * 0.5 + 0.005;
1632 Double_t bigEpoxideInnerLayer_XSize = 65.95;
1633 Double_t bigEpoxideInnerLayer_YSize = 40.85;
1634 Double_t bigEpoxideInnerLayer_ZSize = 0.05 + 0.01 * 0.5;
1637 TString(
"bigEpoxideInnerLayerS") +=
TString(
"_") + frames->
GetName(), bigEpoxideInnerLayer_XSize * 0.5,
1638 bigEpoxideInnerLayer_YSize * 0.5, bigEpoxideInnerLayer_ZSize * 0.5);
1645 if (bigEpoxideInnerLayerV_medium) {
1646 bigEpoxideInnerLayerV->
SetMedium(bigEpoxideInnerLayerV_medium);
1648 Fatal(
"Main",
"Invalid medium for bigEpoxideInnerLayerV!");
1657 bigEpoxideInnerLayer_transf[0]->
SetDx(backCover_dXshift);
1658 bigEpoxideInnerLayer_transf[0]->
SetDy(backCover_dYshift);
1659 bigEpoxideInnerLayer_transf[0]->
SetDz(bigEpoxideInnerLayer_ZSize * 0.5 + backCover_dZshift);
1661 frames->
AddNode(bigEpoxideInnerLayerV, 0, bigEpoxideInnerLayer_transf[0]);
1665 Double_t bigHoneyCombLayer_XSize = 65.95;
1666 Double_t bigHoneyCombLayer_YSize = 40.85;
1667 Double_t bigHoneyCombLayer_ZSize = 0.562;
1671 bigHoneyCombLayer_YSize * 0.5, bigHoneyCombLayer_ZSize * 0.5);
1678 if (bigHoneyCombLayerV_medium) {
1679 bigHoneyCombLayerV->
SetMedium(bigHoneyCombLayerV_medium);
1681 Fatal(
"Main",
"Invalid medium for bigHoneyCombLayerV!");
1690 bigHoneyCombLayer_transf[0]->
SetDx(backCover_dXshift);
1691 bigHoneyCombLayer_transf[0]->
SetDy(backCover_dYshift);
1692 bigHoneyCombLayer_transf[0]->
SetDz(bigHoneyCombLayer_ZSize * 0.5 + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
1694 frames->
AddNode(bigHoneyCombLayerV, 0, bigHoneyCombLayer_transf[0]);
1698 Double_t bigEpoxideOuterLayer_XSize = 65.95;
1699 Double_t bigEpoxideOuterLayer_YSize = 40.85;
1700 Double_t bigEpoxideOuterLayer_ZSize = 0.05;
1703 TString(
"bigEpoxideOuterLayerS") +=
TString(
"_") + frames->
GetName(), bigEpoxideOuterLayer_XSize * 0.5,
1704 bigEpoxideOuterLayer_YSize * 0.5, bigEpoxideOuterLayer_ZSize * 0.5);
1711 if (bigEpoxideOuterLayerV_medium) {
1712 bigEpoxideOuterLayerV->
SetMedium(bigEpoxideOuterLayerV_medium);
1714 Fatal(
"Main",
"Invalid medium for bigEpoxideOuterLayerV!");
1723 bigEpoxideOuterLayer_transf[0]->
SetDx(backCover_dXshift);
1724 bigEpoxideOuterLayer_transf[0]->
SetDy(backCover_dYshift);
1725 bigEpoxideOuterLayer_transf[0]->
SetDz(bigEpoxideOuterLayer_ZSize * 0.5 + bigHoneyCombLayer_ZSize
1726 + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
1728 frames->
AddNode(bigEpoxideOuterLayerV, 0, bigEpoxideOuterLayer_transf[0]);
1732 Double_t bigFiberGlassFrameLowerPart_XSize = 65.95;
1733 Double_t bigFiberGlassFrameLowerPart_YSize = 1.75;
1734 Double_t bigFiberGlassFrameLowerPart_ZSize = 0.662;
1736 Double_t bigFiberGlassFrameUpperPart_XSize = 65.95;
1737 Double_t bigFiberGlassFrameUpperPart_YSize = 5.9;
1738 Double_t bigFiberGlassFrameUpperPart_ZSize = 0.662;
1740 Double_t bigFiberGlassFrameSmallSidePart_XSize = 1.8;
1741 Double_t bigFiberGlassFrameSmallSidePart_YSize = 48.5;
1742 Double_t bigFiberGlassFrameSmallSidePart_ZSize = 0.662;
1744 Double_t bigFiberGlassFrameBigSidePart_XSize = 7.55;
1745 Double_t bigFiberGlassFrameBigSidePart_YSize = 48.5;
1746 Double_t bigFiberGlassFrameBigSidePart_ZSize = 0.662;
1748 TGeoShape* bigFiberGlassFrameLowerPartS =
1750 bigFiberGlassFrameLowerPart_XSize * 0.5, bigFiberGlassFrameLowerPart_YSize * 0.5,
1751 bigFiberGlassFrameLowerPart_ZSize * 0.5);
1752 TGeoShape* bigFiberGlassFrameUpperPartS =
1754 bigFiberGlassFrameUpperPart_XSize * 0.5, bigFiberGlassFrameUpperPart_YSize * 0.5,
1755 bigFiberGlassFrameUpperPart_ZSize * 0.5);
1756 TGeoShape* bigFiberGlassFrameSmallSidePartS =
1758 bigFiberGlassFrameSmallSidePart_XSize * 0.5, bigFiberGlassFrameSmallSidePart_YSize * 0.5,
1759 bigFiberGlassFrameSmallSidePart_ZSize * 0.5);
1760 TGeoShape* bigFiberGlassFrameBigSidePartS =
1762 bigFiberGlassFrameBigSidePart_XSize * 0.5, bigFiberGlassFrameBigSidePart_YSize * 0.5,
1763 bigFiberGlassFrameBigSidePart_ZSize * 0.5);
1766 bigFiberGlassFrameLowerPart_pos->
SetName(
TString(
"bigFiberGlassFrameLowerPart_pos") +=
1768 bigFiberGlassFrameLowerPart_pos->
SetDx(0.0);
1769 bigFiberGlassFrameLowerPart_pos->
SetDy(-bigEpoxideInnerLayer_YSize * 0.5 - bigFiberGlassFrameLowerPart_YSize * 0.5);
1770 bigFiberGlassFrameLowerPart_pos->
SetDz(0.0);
1774 bigFiberGlassFrameUpperPart_pos->
SetName(
TString(
"bigFiberGlassFrameUpperPart_pos") +=
1776 bigFiberGlassFrameUpperPart_pos->
SetDx(0.0);
1777 bigFiberGlassFrameUpperPart_pos->
SetDy(bigEpoxideInnerLayer_YSize * 0.5 + bigFiberGlassFrameUpperPart_YSize * 0.5);
1778 bigFiberGlassFrameUpperPart_pos->
SetDz(0.0);
1782 bigFiberGlassFrameSmallSidePart_pos->
SetName(
TString(
"bigFiberGlassFrameSmallSidePart_pos") +=
1784 bigFiberGlassFrameSmallSidePart_pos->
SetDx(bigEpoxideInnerLayer_XSize * 0.5
1785 + bigFiberGlassFrameSmallSidePart_XSize * 0.5);
1786 bigFiberGlassFrameSmallSidePart_pos->
SetDy((bigFiberGlassFrameUpperPart_YSize - bigFiberGlassFrameLowerPart_YSize)
1788 bigFiberGlassFrameSmallSidePart_pos->
SetDz(0.0);
1792 bigFiberGlassFrameBigSidePart_pos->
SetName(
TString(
"bigFiberGlassFrameBigSidePart_pos") +=
1794 bigFiberGlassFrameBigSidePart_pos->
SetDx(
1795 -(bigEpoxideInnerLayer_XSize * 0.5 + bigFiberGlassFrameBigSidePart_XSize * 0.5));
1796 bigFiberGlassFrameBigSidePart_pos->
SetDy((bigFiberGlassFrameUpperPart_YSize - bigFiberGlassFrameLowerPart_YSize)
1798 bigFiberGlassFrameBigSidePart_pos->
SetDz(0.0);
1804 TString expression =
"bigFiberGlassFrameLowerPartS";
1806 expression +=
":bigFiberGlassFrameLowerPart_pos";
1808 expression +=
"+bigFiberGlassFrameUpperPartS";
1810 expression +=
":bigFiberGlassFrameUpperPart_pos";
1812 expression +=
"+bigFiberGlassFrameSmallSidePartS";
1814 expression +=
":bigFiberGlassFrameSmallSidePart_pos";
1816 expression +=
"+bigFiberGlassFrameBigSidePartS";
1818 expression +=
":bigFiberGlassFrameBigSidePart_pos";
1821 bigFiberGlassFrameS->
MakeNode(expression);
1830 if (bigFiberGlassFrameV_medium) {
1831 bigFiberGlassFrameV->
SetMedium(bigFiberGlassFrameV_medium);
1833 Fatal(
"Main",
"Invalid medium for bigFiberGlassFrameV!");
1842 bigFiberGlassFrame_transf[0]->
SetDx(backCover_dXshift);
1843 bigFiberGlassFrame_transf[0]->
SetDy(backCover_dYshift);
1844 bigFiberGlassFrame_transf[0]->
SetDz(bigFiberGlassFrameLowerPart_ZSize * 0.5 + backCover_dZshift);
1846 frames->
AddNode(bigFiberGlassFrameV, 0, bigFiberGlassFrame_transf[0]);
1850 Double_t bigGlueLayer_XSize = 75.3;
1851 Double_t bigGlueLayer_YSize = 48.5;
1852 Double_t bigGlueLayer_ZSize = 0.005 + 0.005;
1856 bigGlueLayer_YSize * 0.5, bigGlueLayer_ZSize * 0.5);
1863 if (bigGlueLayerV_medium) {
1864 bigGlueLayerV->
SetMedium(bigGlueLayerV_medium);
1866 Fatal(
"Main",
"Invalid medium for bigGlueLayerV!");
1875 bigGlueLayer_transf[0]->
SetDx(-2.95 );
1876 bigGlueLayer_transf[0]->
SetDy(+1.95 );
1877 bigGlueLayer_transf[0]->
SetDz(bigGlueLayer_ZSize * 0.5 + bigEpoxideOuterLayer_ZSize + bigHoneyCombLayer_ZSize
1878 + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
1880 frames->
AddNode(bigGlueLayerV, 0, bigGlueLayer_transf[0]);
1884 Double_t bigPolyamideLayer_XSize = 75.3;
1885 Double_t bigPolyamideLayer_YSize = 48.5;
1886 Double_t bigPolyamideLayer_ZSize = 0.02 * 0.5;
1890 bigPolyamideLayer_YSize * 0.5, bigPolyamideLayer_ZSize * 0.5);
1897 if (bigPolyamideLayerV_medium) {
1898 bigPolyamideLayerV->
SetMedium(bigPolyamideLayerV_medium);
1900 Fatal(
"Main",
"Invalid medium for bigPolyamideLayerV!");
1909 bigPolyamideLayer_transf[0]->
SetDx(-2.95 );
1910 bigPolyamideLayer_transf[0]->
SetDy(+1.95 );
1911 bigPolyamideLayer_transf[0]->
SetDz(bigPolyamideLayer_ZSize * 0.5 + bigGlueLayer_ZSize + bigEpoxideOuterLayer_ZSize
1912 + bigHoneyCombLayer_ZSize + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
1914 frames->
AddNode(bigPolyamideLayerV, 0, bigPolyamideLayer_transf[0]);
1918 Double_t bigCopperLayer_XSize = 75.3;
1919 Double_t bigCopperLayer_YSize = 48.5;
1920 Double_t bigCopperLayer_ZSize = 0.0035 + 0.0061 * 0.5 ;
1924 bigCopperLayer_YSize * 0.5, bigCopperLayer_ZSize * 0.5);
1931 if (bigCopperLayerV_medium) {
1932 bigCopperLayerV->
SetMedium(bigCopperLayerV_medium);
1934 Fatal(
"Main",
"Invalid medium for bigCopperLayerV!");
1943 bigCopperLayer_transf[0]->
SetDx(-2.95 );
1944 bigCopperLayer_transf[0]->
SetDy(+1.95 );
1945 bigCopperLayer_transf[0]->
SetDz(bigCopperLayer_ZSize * 0.5 + bigPolyamideLayer_ZSize + bigGlueLayer_ZSize
1946 + bigEpoxideOuterLayer_ZSize + bigHoneyCombLayer_ZSize + bigEpoxideInnerLayer_ZSize
1947 + backCover_dZshift);
1949 frames->
AddNode(bigCopperLayerV, 0, bigCopperLayer_transf[0]);
1955 Double_t bigSidePlate_YSize = 27.6;
1960 bigSidePlate_YSize * 0.5, bigSidePlate_ZSize * 0.5);
1967 if (bigSidePlateV_medium) {
1968 bigSidePlateV->
SetMedium(bigSidePlateV_medium);
1970 Fatal(
"Main",
"Invalid medium for bigSidePlateV!");
1979 bigSidePlate_transf[0]->
SetDx(-(backFiberGlassCover_XSize - frontFiberGlassCover_XSize * 0.5)
1980 - bigSidePlate_XSize * 0.5 + 3.0 );
1981 bigSidePlate_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + bigSidePlate_YSize * 0.5);
1982 bigSidePlate_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - bigSidePlate_ZSize * 0.5);
1984 frames->
AddNode(bigSidePlateV, 0, bigSidePlate_transf[0]);
1988 Double_t bigSideSupport_XSize = 3.2;
1989 Double_t bigSideSupport_YSize = 26;
1990 Double_t bigSideSupport_ZSize = 0.6;
1994 bigSideSupport_YSize * 0.5, bigSideSupport_ZSize * 0.5);
2001 if (bigSideSupportV_medium) {
2002 bigSideSupportV->
SetMedium(bigSideSupportV_medium);
2004 Fatal(
"Main",
"Invalid medium for bigSideSupportV!");
2013 bigSideSupport_transf[0]->
SetDx(-(backFiberGlassCover_XSize - frontFiberGlassCover_XSize * 0.5)
2014 - bigSideSupport_XSize * 0.5);
2015 bigSideSupport_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + bigSideSupport_YSize * 0.5 + 1.6 );
2016 bigSideSupport_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - bigSidePlate_ZSize
2017 - bigSideSupport_ZSize * 0.5);
2019 frames->
AddNode(bigSideSupportV, 0, bigSideSupport_transf[0]);
2023 Double_t smallSidePlate_XSize = 4.2;
2024 Double_t smallSidePlate_YSize = 3.7;
2025 Double_t smallSidePlate_ZSize = 0.3;
2029 smallSidePlate_YSize * 0.5, smallSidePlate_ZSize * 0.5);
2036 if (smallSidePlateV_medium) {
2037 smallSidePlateV->
SetMedium(smallSidePlateV_medium);
2039 Fatal(
"Main",
"Invalid medium for smallSidePlateV!");
2048 smallSidePlate_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - smallSidePlate_XSize * 0.5 + 2.2 );
2049 smallSidePlate_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + smallSidePlate_YSize * 0.5 + 0.2 );
2050 smallSidePlate_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - smallSidePlate_ZSize * 0.5);
2052 frames->
AddNode(smallSidePlateV, 0, smallSidePlate_transf[0]);
2056 Double_t smallSideSupport_XSize = 4.0;
2057 Double_t smallSideSupport_YSize = 2.4;
2058 Double_t smallSideSupport_ZSize = 0.6;
2062 smallSideSupport_YSize * 0.5, smallSideSupport_ZSize * 0.5);
2069 if (smallSideSupportV_medium) {
2070 smallSideSupportV->
SetMedium(smallSideSupportV_medium);
2072 Fatal(
"Main",
"Invalid medium for smallSideSupportV!");
2081 smallSideSupport_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - smallSideSupport_XSize * 0.5 + 3.3 );
2082 smallSideSupport_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + smallSideSupport_YSize * 0.5);
2083 smallSideSupport_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - bigSidePlate_ZSize
2084 - bigSideSupport_ZSize * 0.5);
2086 frames->
AddNode(smallSideSupportV, 0, smallSideSupport_transf[0]);
2090 Double_t sideAmplifierBlock_XSize = 0.3;
2091 Double_t sideAmplifierBlock_YSize = 24.825;
2092 Double_t sideAmplifierBlock_ZSize = 8.41;
2096 sideAmplifierBlock_YSize * 0.5, sideAmplifierBlock_ZSize * 0.5);
2103 if (sideAmplifierBlockV_medium) {
2104 sideAmplifierBlockV->
SetMedium(sideAmplifierBlockV_medium);
2106 Fatal(
"Main",
"Invalid medium for sideAmplifierBlockV!");
2115 sideAmplifierBlock_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideAmplifierBlock_XSize * 0.5
2117 sideAmplifierBlock_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideAmplifierBlock_YSize * 0.5
2119 sideAmplifierBlock_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideAmplifierBlock_ZSize * 0.5);
2121 frames->
AddNode(sideAmplifierBlockV, 0, sideAmplifierBlock_transf[0]);
2125 Double_t upperAmplifierBlockOutPart_XSize = 65.6;
2126 Double_t upperAmplifierBlockOutPart_YSize = 0.3;
2127 Double_t upperAmplifierBlockOutPart_ZSize = 8.41;
2129 Double_t upperAmplifierBlockInLeftPart_XSize = 29.3;
2130 Double_t upperAmplifierBlockInLeftPart_YSize = 0.3;
2131 Double_t upperAmplifierBlockInLeftPart_ZSize = 8.41;
2133 Double_t upperAmplifierBlockInRightPart_XSize = 26.0;
2134 Double_t upperAmplifierBlockInRightPart_YSize = 0.3;
2135 Double_t upperAmplifierBlockInRightPart_ZSize = 8.41;
2137 TGeoShape* upperAmplifierBlockOutPartS =
2139 upperAmplifierBlockOutPart_XSize * 0.5, upperAmplifierBlockOutPart_YSize * 0.5,
2140 upperAmplifierBlockOutPart_ZSize * 0.5);
2141 TGeoShape* upperAmplifierBlockInLeftPartS =
2143 upperAmplifierBlockInLeftPart_XSize * 0.5, upperAmplifierBlockInLeftPart_YSize * 0.5,
2144 upperAmplifierBlockInLeftPart_ZSize * 0.5);
2145 TGeoShape* upperAmplifierBlockInRightPartS =
2147 upperAmplifierBlockInRightPart_XSize * 0.5, upperAmplifierBlockInRightPart_YSize * 0.5,
2148 upperAmplifierBlockInRightPart_ZSize * 0.5);
2151 TString(
"upperAmplifierBlockOutPartV") +=
TString(
"_") + frames->
GetName(), upperAmplifierBlockOutPartS);
2153 TString(
"upperAmplifierBlockInLeftPartV") +=
TString(
"_") + frames->
GetName(), upperAmplifierBlockInLeftPartS);
2154 TGeoVolume* upperAmplifierBlockInRightPartV =
2156 upperAmplifierBlockInRightPartS);
2160 if (upperAmplifierBlockOutPartV_medium) {
2161 upperAmplifierBlockOutPartV->
SetMedium(upperAmplifierBlockOutPartV_medium);
2162 upperAmplifierBlockInLeftPartV->
SetMedium(upperAmplifierBlockOutPartV_medium);
2163 upperAmplifierBlockInRightPartV->
SetMedium(upperAmplifierBlockOutPartV_medium);
2165 Fatal(
"Main",
"Invalid medium for upperAmplifierBlock!");
2178 upperAmplifierBlock_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperAmplifierBlockOutPart_XSize * 0.5
2180 upperAmplifierBlock_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperAmplifierBlockOutPart_YSize * 0.5
2182 upperAmplifierBlock_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5
2183 - upperAmplifierBlockOutPart_ZSize * 0.5);
2186 upperAmplifierBlock_transf[1]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperAmplifierBlockInLeftPart_XSize * 0.5
2188 upperAmplifierBlock_transf[1]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperAmplifierBlockInLeftPart_YSize * 0.5
2190 upperAmplifierBlock_transf[1]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5
2191 - upperAmplifierBlockInLeftPart_ZSize * 0.5);
2194 upperAmplifierBlock_transf[2]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperAmplifierBlockInLeftPart_XSize
2195 - upperAmplifierBlockInRightPart_XSize * 0.5 - 7.6 );
2196 upperAmplifierBlock_transf[2]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperAmplifierBlockInRightPart_YSize * 0.5
2198 upperAmplifierBlock_transf[2]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5
2199 - upperAmplifierBlockInRightPart_ZSize * 0.5);
2201 frames->
AddNode(upperAmplifierBlockOutPartV, 0, upperAmplifierBlock_transf[0]);
2202 frames->
AddNode(upperAmplifierBlockInLeftPartV, 0, upperAmplifierBlock_transf[1]);
2203 frames->
AddNode(upperAmplifierBlockInRightPartV, 0, upperAmplifierBlock_transf[2]);
2212 sidePCB_YSize * 0.5, sidePCB_ZSize * 0.5);
2218 if (sidePCBV_medium) {
2221 Fatal(
"Main",
"Invalid medium for sidePCBV!");
2230 sidePCB_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sidePCB_XSize * 0.5 - 0.45 );
2231 sidePCB_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sidePCB_YSize * 0.5 + 2.5 );
2232 sidePCB_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sidePCB_ZSize * 0.5 - 4.4 );
2234 frames->
AddNode(sidePCBV, 0, sidePCB_transf[0]);
2243 upperPCB_YSize * 0.5, upperPCB_ZSize * 0.5);
2249 if (upperPCBV_medium) {
2252 Fatal(
"Main",
"Invalid medium for upperPCBV!");
2261 upperPCB_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperPCB_XSize * 0.5 - 1.7 );
2262 upperPCB_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperPCB_YSize * 0.5 + 0.1 );
2263 upperPCB_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperPCB_ZSize * 0.5 - 4.4 );
2265 frames->
AddNode(upperPCBV, 0, upperPCB_transf[0]);
2269 Double_t sideBottomSmallLeg_XSize = 2.0;
2270 Double_t sideBottomSmallLeg_YSize = 0.46;
2271 Double_t sideBottomSmallLeg_ZSize = 1.9;
2273 Double_t sideBottomBigLeg_XSize = 5.4;
2274 Double_t sideBottomBigLeg_YSize = 0.46;
2275 Double_t sideBottomBigLeg_ZSize = 3.2;
2279 sideBottomSmallLeg_YSize * 0.5, sideBottomSmallLeg_ZSize * 0.5);
2282 sideBottomBigLeg_YSize * 0.5, sideBottomBigLeg_ZSize * 0.5);
2291 if (sideBottomLeg_medium) {
2292 sideBottomSmallLegV->
SetMedium(sideBottomLeg_medium);
2293 sideBottomBigLegV->
SetMedium(sideBottomLeg_medium);
2295 Fatal(
"Main",
"Invalid medium for sideBottomLegV!");
2306 sideBottomSmallLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideBottomSmallLeg_XSize * 0.5
2308 sideBottomSmallLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideBottomSmallLeg_YSize * 0.5
2310 sideBottomSmallLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideBottomSmallLeg_ZSize * 0.5
2311 - bigSidePlate_ZSize);
2316 sideBottomBigLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 + sideBottomBigLeg_XSize * 0.5
2317 - sideBottomSmallLeg_XSize - 2.9 );
2318 sideBottomBigLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideBottomBigLeg_YSize * 0.5
2320 sideBottomBigLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideBottomBigLeg_ZSize * 0.5
2321 - bigSidePlate_ZSize - sideBottomSmallLeg_ZSize);
2323 frames->
AddNode(sideBottomSmallLegV, 0, sideBottomSmallLeg_transf[0]);
2324 frames->
AddNode(sideBottomBigLegV, 0, sideBottomBigLeg_transf[0]);
2328 Double_t sideTopSmallLeg_XSize = 2.0;
2329 Double_t sideTopSmallLeg_YSize = 0.56;
2330 Double_t sideTopSmallLeg_ZSize = 2.24;
2332 Double_t sideTopBigLeg_XSize = 4.3;
2333 Double_t sideTopBigLeg_YSize = 0.56;
2334 Double_t sideTopBigLeg_ZSize = 2.8;
2338 sideTopSmallLeg_YSize * 0.5, sideTopSmallLeg_ZSize * 0.5);
2341 sideTopBigLeg_YSize * 0.5, sideTopBigLeg_ZSize * 0.5);
2350 if (sideTopLeg_medium) {
2351 sideTopSmallLegV->
SetMedium(sideTopLeg_medium);
2352 sideTopBigLegV->
SetMedium(sideTopLeg_medium);
2354 Fatal(
"Main",
"Invalid medium for sideTopLegV!");
2365 sideTopSmallLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideTopSmallLeg_XSize * 0.5 - 2.9 );
2366 sideTopSmallLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideTopSmallLeg_YSize * 0.5 + 27.23 );
2367 sideTopSmallLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideTopSmallLeg_ZSize * 0.5
2368 - bigSidePlate_ZSize);
2373 sideTopBigLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 + sideTopBigLeg_XSize * 0.5 - sideTopSmallLeg_XSize
2375 sideTopBigLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideTopBigLeg_YSize * 0.5 + 27.23 );
2376 sideTopBigLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideTopBigLeg_ZSize * 0.5
2377 - bigSidePlate_ZSize - sideTopSmallLeg_ZSize);
2379 frames->
AddNode(sideTopSmallLegV, 0, sideTopSmallLeg_transf[0]);
2380 frames->
AddNode(sideTopBigLegV, 0, sideTopBigLeg_transf[0]);
2384 Double_t sideLongStick_XSize = 0.6;
2385 Double_t sideLongStick_YSize = 25.72;
2386 Double_t sideLongStick_ZSize = 1.2;
2388 Double_t sideShortStick_XSize = 0.6;
2389 Double_t sideShortStick_YSize = 9.6;
2390 Double_t sideShortStick_ZSize = 1.2;
2394 sideLongStick_YSize * 0.5, sideLongStick_ZSize * 0.5);
2397 sideShortStick_YSize * 0.5, sideShortStick_ZSize * 0.5);
2406 if (sideStick_medium) {
2407 sideLongStickV->
SetMedium(sideStick_medium);
2408 sideShortStickV->
SetMedium(sideStick_medium);
2410 Fatal(
"Main",
"Invalid medium for sideTopLegV!");
2421 sideLongStick_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - 0.9 );
2422 sideLongStick_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideLongStick_YSize * 0.5 + 1.51 );
2423 sideLongStick_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideLongStick_ZSize * 0.5
2424 - bigSidePlate_ZSize - sideTopSmallLeg_ZSize - sideTopBigLeg_ZSize + 0.04 );
2429 sideShortStick_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - 0.9 );
2430 sideShortStick_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideShortStick_YSize * 0.5 + sideLongStick_YSize
2432 sideShortStick_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideShortStick_ZSize * 0.5
2433 - bigSidePlate_ZSize - sideTopSmallLeg_ZSize - sideTopBigLeg_ZSize
2436 frames->
AddNode(sideLongStickV, 0, sideLongStick_transf[0]);
2437 frames->
AddNode(sideShortStickV, 0, sideShortStick_transf[0]);
2447 sideFunnyBox_YSize * 0.5, sideFunnyBox_ZSize * 0.5);
2454 if (sideFunnyBoxV_medium) {
2455 sideFunnyBoxV->
SetMedium(sideFunnyBoxV_medium);
2457 Fatal(
"Main",
"Invalid medium for sideFunnyBoxV!");
2466 sideFunnyBox_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5);
2467 sideFunnyBox_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideFunnyBox_YSize * 0.5 + sideBottomBigLeg_YSize
2469 sideFunnyBox_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideShortStick_ZSize * 0.5
2470 - bigSidePlate_ZSize - sideBottomSmallLeg_ZSize - sideBottomBigLeg_ZSize);
2472 frames->
AddNode(sideFunnyBoxV, 0, sideFunnyBox_transf[0]);
2476 Double_t upperPlatform_XSize = 2.2;
2477 Double_t upperPlatform_YSize = 3.7;
2478 Double_t upperPlatform_ZSize = 0.2;
2482 upperPlatform_YSize * 0.5, upperPlatform_ZSize * 0.5);
2489 if (upperPlatformV_medium) {
2490 upperPlatformV->
SetMedium(upperPlatformV_medium);
2492 Fatal(
"Main",
"Invalid medium for upperPlatformV!");
2501 upperPlatform_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - upperPlatform_XSize * 0.5 - 0.8 );
2502 upperPlatform_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperPlatform_YSize * 0.5 + 0.2 );
2503 upperPlatform_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperPlatform_ZSize * 0.5);
2505 frames->
AddNode(upperPlatformV, 0, upperPlatform_transf[0]);
2509 Double_t frontLeftLeg_XSize = 0.53;
2515 frontLeftLeg_YSize * 0.5, frontLeftLeg_ZSize * 0.5);
2522 if (frontLeftLegV_medium) {
2523 frontLeftLegV->
SetMedium(frontLeftLegV_medium);
2525 Fatal(
"Main",
"Invalid medium for frontLeftLegV!");
2534 frontLeftLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - frontLeftLeg_XSize * 0.5 - 1.97 );
2535 frontLeftLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontLeftLeg_YSize * 0.5 + 0.4 );
2536 frontLeftLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperPlatform_ZSize
2537 - frontLeftLeg_ZSize * 0.5);
2539 frames->
AddNode(frontLeftLegV, 0, frontLeftLeg_transf[0]);
2543 Double_t frontRightLeg_XSize = 0.55;
2544 Double_t frontRightLeg_YSize = 2.5;
2545 Double_t frontRightLeg_ZSize = 6.4;
2549 frontRightLeg_YSize * 0.5, frontRightLeg_ZSize * 0.5);
2556 if (frontRightLegV_medium) {
2557 frontRightLegV->
SetMedium(frontRightLegV_medium);
2559 Fatal(
"Main",
"Invalid medium for frontRightLegV!");
2568 frontRightLeg_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontRightLeg_XSize * 0.5 - 1.82 );
2569 frontRightLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontRightLeg_YSize * 0.5 + 0.4 );
2570 frontRightLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - smallSidePlate_ZSize
2571 - frontRightLeg_ZSize * 0.5);
2573 frames->
AddNode(frontRightLegV, 0, frontRightLeg_transf[0]);
2577 Double_t frontCenterLowLeg_XSize = 1.3;
2578 Double_t frontCenterLowLeg_YSize = 0.54;
2579 Double_t frontCenterLowLeg_ZSize = 6.875;
2581 Double_t frontCenterUpLeg_XSize = 0.75;
2582 Double_t frontCenterUpLeg_YSize = 1.9;
2583 Double_t frontCenterUpLeg_ZSize = 6.875;
2587 frontCenterLowLeg_YSize * 0.5, frontCenterLowLeg_ZSize * 0.5);
2590 frontCenterUpLeg_YSize * 0.5, frontCenterUpLeg_ZSize * 0.5);
2599 if (frontCenterLeg_medium) {
2600 frontCenterLowLegV->
SetMedium(frontCenterLeg_medium);
2601 frontCenterUpLegV->
SetMedium(frontCenterLeg_medium);
2603 Fatal(
"Main",
"Invalid medium for frontCenterLeg!");
2614 frontCenterLowLeg_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontCenterLowLeg_XSize * 0.5
2616 frontCenterLowLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontCenterLowLeg_YSize * 0.5
2618 frontCenterLowLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontCenterLowLeg_ZSize * 0.5);
2623 frontCenterUpLeg_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontCenterUpLeg_XSize * 0.5 - 36.1 );
2624 frontCenterUpLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontCenterUpLeg_YSize * 0.5
2625 + frontCenterLowLeg_YSize + 0.46 );
2626 frontCenterUpLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontCenterUpLeg_ZSize * 0.5);
2628 frames->
AddNode(frontCenterLowLegV, 0, frontCenterLowLeg_transf[0]);
2629 frames->
AddNode(frontCenterUpLegV, 0, frontCenterUpLeg_transf[0]);
2633 Double_t upperRightPlank_XSize = 34.49;
2634 Double_t upperRightPlank_YSize = 0.6;
2635 Double_t upperRightPlank_ZSize = 1.2;
2637 Double_t upperLeftPlank_XSize = 33.73;
2638 Double_t upperLeftPlank_YSize = 0.6;
2639 Double_t upperLeftPlank_ZSize = 1.2;
2643 upperRightPlank_YSize * 0.5, upperRightPlank_ZSize * 0.5);
2646 upperLeftPlank_YSize * 0.5, upperLeftPlank_ZSize * 0.5);
2655 if (upperPlank_medium) {
2656 upperRightPlankV->
SetMedium(upperPlank_medium);
2657 upperLeftPlankV->
SetMedium(upperPlank_medium);
2659 Fatal(
"Main",
"Invalid medium for upperPlankV!");
2670 upperRightPlank_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperRightPlank_XSize * 0.5 - 36.88 );
2671 upperRightPlank_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperRightPlank_YSize * 0.5 + 2.291 );
2672 upperRightPlank_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperRightPlank_ZSize * 0.5
2678 upperLeftPlank_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperLeftPlank_XSize * 0.5 - 2.37 );
2679 upperLeftPlank_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperLeftPlank_YSize * 0.5 + 2.291 );
2680 upperLeftPlank_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperLeftPlank_ZSize * 0.5
2683 frames->
AddNode(upperRightPlankV, 0, upperRightPlank_transf[0]);
2684 frames->
AddNode(upperLeftPlankV, 0, upperLeftPlank_transf[0]);
2688 Double_t sideChannelBar_XSize = 1.5;
2689 Double_t sideChannelBar_YSize = 40.0;
2690 Double_t sideChannelBar_ZSize = 0.38;
2694 sideChannelBar_YSize * 0.5, sideChannelBar_ZSize * 0.5);
2701 if (sideChannelBarV_medium) {
2702 sideChannelBarV->
SetMedium(sideChannelBarV_medium);
2704 Fatal(
"Main",
"Invalid medium for sideChannelBarV!");
2713 sideChannelBar_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideChannelBar_XSize * 0.5 + 2.0 );
2714 sideChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideChannelBar_YSize * 0.5 + 1.05 );
2715 sideChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideChannelBar_ZSize * 0.5
2718 frames->
AddNode(sideChannelBarV, 0, sideChannelBar_transf[0]);
2722 Double_t frontFunnyChannelBar_XSize = 2.82;
2723 Double_t frontFunnyChannelBar_YSize = 2.5;
2724 Double_t frontFunnyChannelBar_ZSize = 0.47;
2727 TString(
"frontFunnyChannelBarS") +=
TString(
"_") + frames->
GetName(), frontFunnyChannelBar_XSize * 0.5,
2728 frontFunnyChannelBar_YSize * 0.5, frontFunnyChannelBar_ZSize * 0.5);
2735 if (frontFunnyChannelBarV_medium) {
2736 frontFunnyChannelBarV->
SetMedium(frontFunnyChannelBarV_medium);
2738 Fatal(
"Main",
"Invalid medium for frontFunnyChannelBarV!");
2747 frontFunnyChannelBar_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - frontFunnyChannelBar_XSize * 0.5
2749 frontFunnyChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + frontFunnyChannelBar_YSize * 0.5
2751 frontFunnyChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontFunnyChannelBar_ZSize * 0.5
2754 frames->
AddNode(frontFunnyChannelBarV, 0, frontFunnyChannelBar_transf[0]);
2758 Double_t frontRightChannelBar_XSize = 34.23;
2759 Double_t frontRightChannelBar_YSize = 2.5;
2760 Double_t frontRightChannelBar_ZSize = 0.47;
2762 Double_t frontLeftChannelBar_XSize = 33.47;
2763 Double_t frontLeftChannelBar_YSize = 2.5;
2764 Double_t frontLeftChannelBar_ZSize = 0.47;
2767 TString(
"frontRightChannelBarS") +=
TString(
"_") + frames->
GetName(), frontRightChannelBar_XSize * 0.5,
2768 frontRightChannelBar_YSize * 0.5, frontRightChannelBar_ZSize * 0.5);
2771 frontLeftChannelBar_XSize * 0.5, frontLeftChannelBar_YSize * 0.5, frontLeftChannelBar_ZSize * 0.5);
2780 if (frontChannel_medium) {
2781 frontRightChannelBarV->
SetMedium(frontChannel_medium);
2782 frontLeftChannelBarV->
SetMedium(frontChannel_medium);
2784 Fatal(
"Main",
"Invalid medium for frontChannelBarV!");
2795 frontRightChannelBar_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontRightChannelBar_XSize * 0.5
2797 frontRightChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + frontRightChannelBar_YSize * 0.5
2799 frontRightChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontRightChannelBar_ZSize * 0.5
2805 frontLeftChannelBar_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontLeftChannelBar_XSize * 0.5
2807 frontLeftChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + frontLeftChannelBar_YSize * 0.5
2809 frontLeftChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontLeftChannelBar_ZSize * 0.5
2812 frames->
AddNode(frontRightChannelBarV, 0, frontRightChannelBar_transf[0]);
2813 frames->
AddNode(frontLeftChannelBarV, 0, frontLeftChannelBar_transf[0]);
2871 Double_t layerFront_XShift = -0.375;
2876 Double_t layerBack_XShift = -0.445;
2880 Double_t copperLayer_ZSize = 0.00655;
2881 Double_t copperLayerHole_Radius = 6.0;
2886 layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
2889 layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
2893 copperLayer_ZSize * 0.5 + 0.01);
2895 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2898 copperLayerFrontHole_pos->
SetName(
"copperLayerFrontHole_pos");
2901 copperLayerFrontHole_pos->
SetDz(0.0);
2905 copperLayerBackHole_pos->
SetName(
"copperLayerBackHole_pos");
2908 copperLayerBackHole_pos->
SetDz(0.0);
2914 TString expression =
"copperLayerFrontBlankS";
2916 expression +=
"-copperLayerFrontHoleS";
2918 expression +=
":copperLayerFrontHole_pos";
2920 copperLayerFrontS->
MakeNode(expression);
2927 TString expression =
"copperLayerBackBlankS";
2929 expression +=
"-copperLayerBackHoleS";
2931 expression +=
":copperLayerBackHole_pos";
2933 copperLayerBackS->
MakeNode(expression);
2944 if (copperLayerV_medium) {
2945 copperLayerFrontV->
SetMedium(copperLayerV_medium);
2946 copperLayerBackV->
SetMedium(copperLayerV_medium);
2948 Fatal(
"Main",
"Invalid medium for copperLayerV!");
2959 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2960 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2966 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2967 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2970 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
2971 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
2976 Double_t glueLayerHole_Radius = 6.0;
2981 layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
2983 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
2986 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2988 glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2991 glueLayerFrontHole_pos->
SetName(
"glueLayerFrontHole_pos");
2994 glueLayerFrontHole_pos->
SetDz(0.0);
2998 glueLayerBackHole_pos->
SetName(
"glueLayerBackHole_pos");
3001 glueLayerBackHole_pos->
SetDz(0.0);
3007 TString expression =
"glueLayerFrontBlankS";
3009 expression +=
"-glueLayerFrontHoleS";
3011 expression +=
":glueLayerFrontHole_pos";
3013 glueLayerFrontS->
MakeNode(expression);
3020 TString expression =
"glueLayerBackBlankS";
3022 expression +=
"-glueLayerBackHoleS";
3024 expression +=
":glueLayerBackHole_pos";
3026 glueLayerBackS->
MakeNode(expression);
3037 if (glueLayerV_medium) {
3038 glueLayerFrontV->
SetMedium(glueLayerV_medium);
3039 glueLayerBackV->
SetMedium(glueLayerV_medium);
3041 Fatal(
"Main",
"Invalid medium for glueLayerV!");
3052 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3053 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3059 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3060 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3063 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
3064 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
3068 Double_t epoxideLayer_ZSize = 0.105;
3069 Double_t epoxideLayerHole_Radius = 6.0;
3074 layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
3077 layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
3081 epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
3084 epoxideLayer_ZSize * 0.5 + 0.01);
3087 epoxideLayerFrontHole_pos->
SetName(
"epoxideLayerFrontHole_pos");
3090 epoxideLayerFrontHole_pos->
SetDz(0.0);
3094 epoxideLayerBackHole_pos->
SetName(
"epoxideLayerBackHole_pos");
3097 epoxideLayerBackHole_pos->
SetDz(0.0);
3103 TString expression =
"epoxideLayerFrontBlankS";
3105 expression +=
"-epoxideLayerFrontHoleS";
3107 expression +=
":epoxideLayerFrontHole_pos";
3109 epoxideLayerFrontS->
MakeNode(expression);
3116 TString expression =
"epoxideLayerBackBlankS";
3118 expression +=
"-epoxideLayerBackHoleS";
3120 expression +=
":epoxideLayerBackHole_pos";
3122 epoxideLayerBackS->
MakeNode(expression);
3133 if (epoxideLayerV_medium) {
3134 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
3135 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
3137 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
3148 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3149 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3151 + epoxideLayer_ZSize * 0.5);
3156 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3157 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3159 - epoxideLayer_ZSize * 0.5);
3161 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
3162 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
3166 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
3167 Double_t honeycombLayerHole_Radius = 6.0;
3172 layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
3175 layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
3179 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
3182 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
3185 honeycombLayerFrontHole_pos->
SetName(
"honeycombLayerFrontHole_pos");
3188 honeycombLayerFrontHole_pos->
SetDz(0.0);
3192 honeycombLayerBackHole_pos->
SetName(
"honeycombLayerBackHole_pos");
3195 honeycombLayerBackHole_pos->
SetDz(0.0);
3201 TString expression =
"honeycombLayerFrontBlankS";
3203 expression +=
"-honeycombLayerFrontHoleS";
3205 expression +=
":honeycombLayerFrontHole_pos";
3207 honeycombLayerFrontS->
MakeNode(expression);
3214 TString expression =
"honeycombLayerBackBlankS";
3216 expression +=
"-honeycombLayerBackHoleS";
3218 expression +=
":honeycombLayerBackHole_pos";
3220 honeycombLayerBackS->
MakeNode(expression);
3231 if (honeycombLayerV_medium) {
3232 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
3233 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
3235 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
3246 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3247 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3249 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
3254 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3255 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3257 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
3259 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
3260 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
3264 Double_t polyamideLayer_ZSize = 0.0125;
3265 Double_t polyamideLayerHole_Radius = 6.0;
3270 layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
3273 layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
3277 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
3280 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
3283 polyamideLayerFrontHole_pos->
SetName(
"polyamideLayerFrontHole_pos");
3286 polyamideLayerFrontHole_pos->
SetDz(0.0);
3290 polyamideLayerBackHole_pos->
SetName(
"polyamideLayerBackHole_pos");
3293 polyamideLayerBackHole_pos->
SetDz(0.0);
3299 TString expression =
"polyamideLayerFrontBlankS";
3301 expression +=
"-polyamideLayerFrontHoleS";
3303 expression +=
":polyamideLayerFrontHole_pos";
3305 polyamideLayerFrontS->
MakeNode(expression);
3312 TString expression =
"polyamideLayerBackBlankS";
3314 expression +=
"-polyamideLayerBackHoleS";
3316 expression +=
":polyamideLayerBackHole_pos";
3318 polyamideLayerBackS->
MakeNode(expression);
3329 if (polyamideLayerV_medium) {
3330 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
3331 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
3333 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
3344 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3345 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3347 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
3352 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3353 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3355 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
3357 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
3358 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
3434 Double_t backLowerEpoxideFrame_XSize = 161.42;
3435 Double_t backLowerEpoxideFrame_YSize = 2.2;
3436 Double_t backLowerEpoxideFrame_ZSize = 1.6;
3438 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
3439 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
3440 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
3444 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
3445 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
3447 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
3448 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3451 backLowerEpoxideFrameHalf_pos1->
SetName(
"backLowerEpoxideFrameHalf1_pos1");
3452 backLowerEpoxideFrameHalf_pos1->
SetDx(
3453 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3454 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3455 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3459 backLowerEpoxideFrameHalf_pos2->
SetName(
"backLowerEpoxideFrameHalf1_pos2");
3460 backLowerEpoxideFrameHalf_pos2->
SetDx(
3461 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3462 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3463 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3467 backLowerEpoxideFrameArch_pos->
SetName(
"backLowerEpoxideFrameArch_pos");
3468 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
3469 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
3470 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
3476 TString expression =
"backLowerEpoxideFrameHalfS";
3478 expression +=
":backLowerEpoxideFrameHalf1_pos1";
3479 expression +=
"+backLowerEpoxideFrameHalfS";
3481 expression +=
":backLowerEpoxideFrameHalf1_pos2";
3482 expression +=
"+backLowerEpoxideFrameArchS";
3484 expression +=
":backLowerEpoxideFrameArch_pos";
3486 backLowerEpoxideFrameS->
MakeNode(expression);
3495 if (backLowerEpoxideFrameV_medium) {
3496 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
3498 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
3507 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3511 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
3515 Double_t frontLowerEpoxideFrame_XSize = 161.7;
3516 Double_t frontLowerEpoxideFrame_YSize = 2.2;
3517 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
3519 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
3520 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
3521 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
3523 TGeoShape* frontLowerEpoxideFrameHalfS =
3525 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
3526 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
3528 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
3529 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3532 frontLowerEpoxideFrameHalf_pos1->
SetName(
"frontLowerEpoxideFrameHalf1_pos1");
3533 frontLowerEpoxideFrameHalf_pos1->
SetDx(
3534 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3535 + frontLowerEpoxideFrameArch_Rmin));
3536 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3537 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3541 frontLowerEpoxideFrameHalf_pos2->
SetName(
"frontLowerEpoxideFrameHalf1_pos2");
3542 frontLowerEpoxideFrameHalf_pos2->
SetDx(
3543 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3544 + frontLowerEpoxideFrameArch_Rmin));
3545 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3546 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3550 frontLowerEpoxideFrameArch_pos->
SetName(
"frontLowerEpoxideFrameArch_pos");
3551 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
3552 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
3553 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
3559 TString expression =
"frontLowerEpoxideFrameHalfS";
3561 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
3562 expression +=
"+frontLowerEpoxideFrameHalfS";
3564 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
3565 expression +=
"+frontLowerEpoxideFrameArchS";
3567 expression +=
":frontLowerEpoxideFrameArch_pos";
3569 frontLowerEpoxideFrameS->
MakeNode(expression);
3578 if (frontLowerEpoxideFrameV_medium) {
3579 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
3581 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
3590 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3594 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
3598 Double_t backSideEpoxideFramePart_XSize = 9.2;
3599 Double_t backSideEpoxideFramePart_YSize = 52.6;
3600 Double_t backSideEpoxideFramePart_ZSize = 1.6;
3602 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
3605 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
3606 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
3609 backSideEpoxideFramePart_pos1->
SetName(
"backSideEpoxideFramePart_pos1");
3610 backSideEpoxideFramePart_pos1->
SetDx(
3611 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3612 backSideEpoxideFramePart_pos1->
SetDy(0.0);
3613 backSideEpoxideFramePart_pos1->
SetDz(0.0);
3617 backSideEpoxideFramePart_pos2->
SetName(
"backSideEpoxideFramePart_pos2");
3618 backSideEpoxideFramePart_pos2->
SetDx(
3619 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3620 backSideEpoxideFramePart_pos2->
SetDy(0.0);
3621 backSideEpoxideFramePart_pos2->
SetDz(0.0);
3627 TString expression =
"backSideEpoxideFramePartS";
3629 expression +=
":backSideEpoxideFramePart_pos1";
3630 expression +=
"+backSideEpoxideFramePartS";
3632 expression +=
":backSideEpoxideFramePart_pos2";
3634 backSideEpoxideFrameS->
MakeNode(expression);
3643 if (backSideEpoxideFrameV_medium) {
3644 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
3646 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
3655 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
3657 - frontLowerEpoxideFrame_YSize + 0.2 );
3660 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
3664 Double_t backUpperEpoxideFrame_XSize = 161.42;
3665 Double_t backUpperEpoxideFrame_YSize = 6.2;
3666 Double_t backUpperEpoxideFrame_ZSize = 1.6;
3669 new TGeoBBox(
"backUpperEpoxideFrameS", backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5,
3670 backUpperEpoxideFrame_ZSize * 0.5);
3677 if (backUpperEpoxideFrameV_medium) {
3678 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
3680 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
3689 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3694 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
3698 Double_t frontSideEpoxideFramePart_XSize = 3.5;
3699 Double_t frontSideEpoxideFramePart_YSize = 49.9;
3700 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
3702 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
3706 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
3707 frontSideEpoxideFramePart_ZSize * 0.5);
3710 frontSideEpoxideFramePart_pos1->
SetName(
"frontSideEpoxideFramePart_pos1");
3711 frontSideEpoxideFramePart_pos1->
SetDx(
3712 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3713 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
3714 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
3718 frontSideEpoxideFramePart_pos2->
SetName(
"frontSideEpoxideFramePart_pos2");
3719 frontSideEpoxideFramePart_pos2->
SetDx(
3720 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3721 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
3722 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
3728 TString expression =
"frontSideEpoxideFramePartS";
3730 expression +=
":frontSideEpoxideFramePart_pos1";
3731 expression +=
"+frontSideEpoxideFramePartS";
3733 expression +=
":frontSideEpoxideFramePart_pos2";
3735 frontSideEpoxideFrameS->
MakeNode(expression);
3744 if (frontSideEpoxideFrameV_medium) {
3745 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
3747 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
3756 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
3758 - frontLowerEpoxideFrame_YSize + 0.2 );
3761 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
3765 Double_t frontUpperEpoxideFrame_XSize = 161.7;
3766 Double_t frontUpperEpoxideFrame_YSize = 3.5;
3767 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
3770 new TGeoBBox(
"frontUpperEpoxideFrameS", frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5,
3771 frontUpperEpoxideFrame_ZSize * 0.5);
3778 if (frontUpperEpoxideFrameV_medium) {
3779 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
3781 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
3790 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3795 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
3799 Double_t alumCableSupportPart_XSize = 3.0;
3800 Double_t alumCableSupportPart_YSize = 41.3;
3801 Double_t alumCableSupportPart_ZSize = 0.2;
3803 Double_t alumCableSupport_XDistBetweenParts = 164.82;
3806 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
3807 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
3810 alumCableSupportPart_pos1->
SetName(
"alumCableSupportPart_pos1");
3811 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3812 alumCableSupportPart_pos1->
SetDy(0.0);
3813 alumCableSupportPart_pos1->
SetDz(0.0);
3817 alumCableSupportPart_pos2->
SetName(
"alumCableSupportPart_pos2");
3818 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3819 alumCableSupportPart_pos2->
SetDy(0.0);
3820 alumCableSupportPart_pos2->
SetDz(0.0);
3826 TString expression =
"alumCableSupportPartS";
3828 expression +=
":alumCableSupportPart_pos1";
3829 expression +=
"+alumCableSupportPartS";
3831 expression +=
":alumCableSupportPart_pos2";
3833 alumCableSupportS->
MakeNode(expression);
3842 if (alumCableSupportV_medium) {
3843 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
3845 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
3854 alumCableSupport_transf[0]->
SetDx(0.0);
3856 - frontLowerEpoxideFrame_YSize + 0.2 );
3858 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3860 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
3864 Double_t amplifierUpperBlockPart1_XSize = 161.44;
3865 Double_t amplifierUpperBlockPart1_YSize = 0.6;
3866 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
3868 Double_t amplifierUpperBlockPart2_XSize = 161.16;
3869 Double_t amplifierUpperBlockPart2_YSize = 0.6;
3870 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
3873 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
3874 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
3876 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
3877 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
3880 amplifierUpperBlockPart1_pos->
SetName(
"amplifierUpperBlockPart1_pos");
3881 amplifierUpperBlockPart1_pos->
SetDx(0.0);
3882 amplifierUpperBlockPart1_pos->
SetDy(0.0);
3883 amplifierUpperBlockPart1_pos->
SetDz(0.0);
3887 amplifierUpperBlockPart2_pos->
SetName(
"amplifierUpperBlockPart2_pos");
3888 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
3889 amplifierUpperBlockPart2_pos->
SetDy(
3890 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
3891 amplifierUpperBlockPart2_pos->
SetDz(0.0);
3897 TString expression =
"amplifierUpperBlockPart1S";
3899 expression +=
":amplifierUpperBlockPart1_pos";
3900 expression +=
"+amplifierUpperBlockPart1S";
3902 expression +=
":amplifierUpperBlockPart2_pos";
3904 amplifierUpperBlockS->
MakeNode(expression);
3913 if (amplifierUpperBlockV_medium) {
3914 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
3916 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
3925 amplifierUpperBlock_transf[0]->
SetDx(0.0);
3930 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
3934 Double_t amplifierSideBlockPartBig_XSize = 0.6;
3935 Double_t amplifierSideBlockPartBig_YSize = 33.9;
3936 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
3938 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
3939 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
3940 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
3944 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
3945 amplifierSideBlockPartBig_ZSize * 0.5);
3946 TGeoShape* amplifierSideBlockPartSmallS =
3948 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
3949 amplifierSideBlockPartSmall_ZSize * 0.5);
3952 amplifierSideBlockPartBig_pos->
SetName(
"amplifierSideBlockPartBig_pos");
3953 amplifierSideBlockPartBig_pos->
SetDx(0.0);
3954 amplifierSideBlockPartBig_pos->
SetDy(0.0);
3955 amplifierSideBlockPartBig_pos->
SetDz(0.0);
3959 amplifierSideBlockPartSmall_pos->
SetName(
"amplifierSideBlockPartSmall_pos");
3960 amplifierSideBlockPartSmall_pos->
SetDx(
3961 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
3962 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
3963 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
3969 TString expression =
"amplifierSideBlockPartBigS";
3971 expression +=
":amplifierSideBlockPartBig_pos";
3972 expression +=
"+amplifierSideBlockPartSmallS";
3974 expression +=
":amplifierSideBlockPartSmall_pos";
3976 amplifierSideBlockS->
MakeNode(expression);
3985 if (amplifierSideBlockV_medium) {
3986 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
3988 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
3997 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
3998 amplifierSideBlock_transf[0]->
SetDy(-5.5);
4002 amplifierSideBlock_transf[1]->
RotateY(180.0);
4003 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
4004 amplifierSideBlock_transf[1]->
SetDy(-5.5);
4007 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
4008 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
4016 TGeoShape* upperPcbS =
new TGeoBBox(
"upperPcbS", upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
4022 if (upperPcbV_medium) {
4025 Fatal(
"Main",
"Invalid medium for upperPcbV!");
4034 upperPcb_transf[0]->
SetDx(+0.1 );
4035 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
4037 - frontSideEpoxideFramePart_ZSize);
4039 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
4044 Double_t sidePcbPart_YSize = 35.05;
4048 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
4051 sidePcbPart_pos1->
SetName(
"sidePcbPart_pos1");
4052 sidePcbPart_pos1->
SetDx(0.0);
4053 sidePcbPart_pos1->
SetDy(0.0);
4054 sidePcbPart_pos1->
SetDz(0.0);
4058 sidePcbPart_pos2->
SetName(
"sidePcbPart_pos2");
4059 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
4060 sidePcbPart_pos2->
SetDy(0.0);
4061 sidePcbPart_pos2->
SetDz(0.0);
4067 TString expression =
"sidePcbPartS";
4069 expression +=
":sidePcbPart_pos1";
4070 expression +=
"+sidePcbPartS";
4072 expression +=
":sidePcbPart_pos2";
4082 if (sidePcbV_medium) {
4085 Fatal(
"Main",
"Invalid medium for sidePcbV!");
4094 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
4095 sidePcb_transf[0]->
SetDy(-6.8 );
4097 + frontSideEpoxideFramePart_ZSize + 1.0 ));
4100 sidePcb_transf[1]->
RotateY(180.0);
4101 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
4102 sidePcb_transf[1]->
SetDy(-6.8 );
4104 + frontSideEpoxideFramePart_ZSize + 1.0 ));
4106 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
4107 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
4111 Double_t alumSideSupport_XSize = 4.8;
4112 Double_t alumSideSupport_YSize = 52.6;
4113 Double_t alumSideSupport_ZSize = 0.4;
4115 TGeoShape* alumSideSupportS =
new TGeoBBox(
"alumSideSupportS", alumSideSupport_XSize * 0.5,
4116 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
4123 if (alumSideSupportV_medium) {
4124 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
4126 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
4135 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
4136 alumSideSupport_transf[0]->
SetDy(+1.8);
4140 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
4141 alumSideSupport_transf[1]->
SetDy(+1.8 );
4144 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
4145 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
4154 new TGeoBBox(
"boschShapeS", boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
4160 if (boschShapeV_medium) {
4161 boschShapeV->
SetMedium(boschShapeV_medium);
4163 Fatal(
"Main",
"Invalid medium for boschShapeV!");
4172 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
4173 boschShape_transf[0]->
SetDy(+1.8 );
4177 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
4178 boschShape_transf[1]->
SetDy(+1.8 );
4181 frames->
AddNode(boschShapeV, 0, boschShape_transf[0]);
4182 frames->
AddNode(boschShapeV, 1, boschShape_transf[1]);
4186 Double_t lowerFiberGlassBlock_XSize = 165.1;
4187 Double_t lowerFiberGlassBlock_YSize = 1.75;
4188 Double_t lowerFiberGlassBlock_ZSize = 0.9;
4190 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
4191 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
4192 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
4196 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
4197 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
4199 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
4200 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
4203 lowerFiberGlassBlockHalf_pos1->
SetName(
"lowerFiberGlassBlockHalf_pos1");
4204 lowerFiberGlassBlockHalf_pos1->
SetDx(
4205 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4206 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4207 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
4211 lowerFiberGlassBlockHalf_pos2->
SetName(
"lowerFiberGlassBlockHalf_pos2");
4212 lowerFiberGlassBlockHalf_pos2->
SetDx(
4213 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4214 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4215 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
4219 lowerFiberGlassBlockArch_pos->
SetName(
"lowerFiberGlassBlockArch_pos");
4220 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
4221 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
4222 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
4228 TString expression =
"lowerFiberGlassBlockHalfS";
4230 expression +=
":lowerFiberGlassBlockHalf_pos1";
4231 expression +=
"+lowerFiberGlassBlockHalfS";
4233 expression +=
":lowerFiberGlassBlockHalf_pos2";
4234 expression +=
"+lowerFiberGlassBlockArchS";
4236 expression +=
":lowerFiberGlassBlockArch_pos";
4238 lowerFiberGlassBlockS->
MakeNode(expression);
4247 if (lowerFiberGlassBlockV_medium) {
4248 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
4250 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
4259 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
4261 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
4263 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
4267 Double_t sideFiberGlassBlockPart_XSize = 1.45;
4268 Double_t sideFiberGlassBlockPart_YSize = 49.4;
4269 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
4272 new TGeoBBox(
"sideFiberGlassBlockS", sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5,
4273 sideFiberGlassBlockPart_ZSize * 0.5);
4280 if (sideFiberGlassBlockV_medium) {
4281 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
4283 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
4292 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4293 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
4294 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4297 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4298 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
4299 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
4301 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
4302 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
4306 Double_t upperFiberGlassBlock_XSize = 165.1;
4307 Double_t upperFiberGlassBlock_YSize = 1.45;
4308 Double_t upperFiberGlassBlock_ZSize = 0.89;
4310 TGeoShape* upperFiberGlassBlockS =
new TGeoBBox(
"upperFiberGlassBlockS", upperFiberGlassBlock_XSize * 0.5,
4311 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
4318 if (upperFiberGlassBlockV_medium) {
4319 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
4321 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
4330 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
4331 upperFiberGlassBlock_transf[0]->
SetDy(
4332 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
4333 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4335 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
4339 Double_t upperBrasslayer_XSize = 165.1;
4340 Double_t upperBrasslayer_YSize = 1.45;
4341 Double_t upperBrasslayer_ZSize = 0.005;
4343 Double_t sideBrasslayer_XSize = 1.45;
4344 Double_t sideBrasslayer_YSize = 49.4;
4345 Double_t sideBrasslayer_ZSize = 0.005;
4347 TGeoShape* upperBrasslayerS =
new TGeoBBox(
"upperBrasslayerS", upperBrasslayer_XSize * 0.5,
4348 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
4349 TGeoShape* sideBrasslayerS =
new TGeoBBox(
"sideBrasslayerS", sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5,
4350 sideBrasslayer_ZSize * 0.5);
4359 if (upperBrasslayerV_medium) {
4360 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4361 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4363 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
4374 upperBrasslayer_transf[0]->
SetDx(0.0);
4375 upperBrasslayer_transf[0]->
SetDy(
4376 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
4382 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4383 sideBrasslayer_transf[0]->
SetDy(+0.45 );
4387 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4388 sideBrasslayer_transf[1]->
SetDy(+0.45 );
4391 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
4393 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
4394 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
4398 Double_t upperSteellayer_XSize = 165.1;
4399 Double_t upperSteellayer_YSize = 1.45;
4400 Double_t upperSteellayer_ZSize = 0.005;
4402 Double_t sideSteellayer_XSize = 1.45;
4403 Double_t sideSteellayer_YSize = 49.4;
4404 Double_t sideSteellayer_ZSize = 0.005;
4406 TGeoShape* upperSteellayerS =
new TGeoBBox(
"upperSteellayerS", upperSteellayer_XSize * 0.5,
4407 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
4408 TGeoShape* sideSteellayerS =
new TGeoBBox(
"sideSteellayerS", sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5,
4409 sideSteellayer_ZSize * 0.5);
4418 if (upperSteellayerV_medium) {
4419 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
4420 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
4422 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
4433 upperSteellayer_transf[0]->
SetDx(0.0);
4434 upperSteellayer_transf[0]->
SetDy(
4435 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
4441 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4442 sideSteellayer_transf[0]->
SetDy(+0.45 );
4446 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4447 sideSteellayer_transf[1]->
SetDy(+0.45 );
4450 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
4452 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
4453 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);