1210 Double_t centerFiberGlassFrameSidePart_XSize = 1.45;
1211 Double_t centerFiberGlassFrameSidePart_YSize = 44.6;
1212 Double_t centerFiberGlassFrameSidePart_ZSize = 0.89;
1214 Double_t centerFiberGlassFrameLongPart_XSize = 66.5;
1215 Double_t centerFiberGlassFrameLongPart_YSize = 1.45;
1216 Double_t centerFiberGlassFrameLongPart_ZSize = 0.89;
1218 Double_t distanceBetweenFiberGlassFrameSideParts = 66.5;
1219 Double_t distanceBetweenFiberGlassFrameLongParts = 41.7;
1221 TGeoShape* centerFiberGlassFrameSidePartS =
1223 centerFiberGlassFrameSidePart_XSize * 0.5, centerFiberGlassFrameSidePart_YSize * 0.5,
1224 centerFiberGlassFrameSidePart_ZSize * 0.5);
1225 TGeoShape* centerFiberGlassFrameLongPartS =
1227 centerFiberGlassFrameLongPart_XSize * 0.5, centerFiberGlassFrameLongPart_YSize * 0.5,
1228 centerFiberGlassFrameLongPart_ZSize * 0.5);
1231 centerFiberGlassFrameSidePart_pos1->
SetName(
TString(
"centerFiberGlassFrameSidePart_pos1") +=
1233 centerFiberGlassFrameSidePart_pos1->
SetDx(
1234 +(distanceBetweenFiberGlassFrameSideParts + centerFiberGlassFrameSidePart_XSize) * 0.5);
1235 centerFiberGlassFrameSidePart_pos1->
SetDy(0.0);
1236 centerFiberGlassFrameSidePart_pos1->
SetDz(0.0);
1240 centerFiberGlassFrameSidePart_pos2->
SetName(
TString(
"centerFiberGlassFrameSidePart_pos2") +=
1242 centerFiberGlassFrameSidePart_pos2->
SetDx(
1243 -(distanceBetweenFiberGlassFrameSideParts + centerFiberGlassFrameSidePart_XSize) * 0.5);
1244 centerFiberGlassFrameSidePart_pos2->
SetDy(0.0);
1245 centerFiberGlassFrameSidePart_pos2->
SetDz(0.0);
1249 centerFiberGlassFrameLongPart_top->
SetName(
TString(
"centerFiberGlassFrameLongPart_top") +=
1251 centerFiberGlassFrameLongPart_top->
SetDx(0.0);
1252 centerFiberGlassFrameLongPart_top->
SetDy(
1253 +(distanceBetweenFiberGlassFrameLongParts + centerFiberGlassFrameLongPart_YSize) * 0.5);
1254 centerFiberGlassFrameLongPart_top->
SetDz(0.0);
1258 centerFiberGlassFrameLongPart_bottom->
SetName(
TString(
"centerFiberGlassFrameLongPart_bottom") +=
1260 centerFiberGlassFrameLongPart_bottom->
SetDx(0.0);
1261 centerFiberGlassFrameLongPart_bottom->
SetDy(
1262 -(distanceBetweenFiberGlassFrameLongParts + centerFiberGlassFrameLongPart_YSize) * 0.5);
1263 centerFiberGlassFrameLongPart_bottom->
SetDz(0.0);
1269 TString expression =
"centerFiberGlassFrameSidePartS";
1271 expression +=
":centerFiberGlassFrameSidePart_pos1";
1273 expression +=
"+centerFiberGlassFrameSidePartS";
1275 expression +=
":centerFiberGlassFrameSidePart_pos2";
1277 expression +=
"+centerFiberGlassFrameLongPartS";
1279 expression +=
":centerFiberGlassFrameLongPart_top";
1281 expression +=
"+centerFiberGlassFrameLongPartS";
1283 expression +=
":centerFiberGlassFrameLongPart_bottom";
1286 centerFiberGlassFrameS->
MakeNode(expression);
1295 if (centerFiberGlassFrameV_medium) {
1296 centerFiberGlassFrameV->
SetMedium(centerFiberGlassFrameV_medium);
1298 Fatal(
"Main",
"Invalid medium for centerFiberGlassFrameV!");
1307 centerFiberGlassFrame_transf[0]->
SetDx(0.0);
1308 centerFiberGlassFrame_transf[0]->
SetDy(0.0);
1309 centerFiberGlassFrame_transf[0]->
SetDz(0.0);
1311 frames->
AddNode(centerFiberGlassFrameV, 0, centerFiberGlassFrame_transf[0]);
1315 Double_t centerBrassFrameSidePart_XSize = 1.45;
1316 Double_t centerBrassFrameSidePart_YSize = 44.6;
1317 Double_t centerBrassFrameSidePart_ZSize = 0.005;
1319 Double_t centerBrassFrameLongPart_XSize = 66.5;
1320 Double_t centerBrassFrameLongPart_YSize = 1.45;
1321 Double_t centerBrassFrameLongPart_ZSize = 0.005;
1323 Double_t distanceBetweenBrassFrameSideParts = 66.5;
1324 Double_t distanceBetweenBrassFrameLongParts = 41.7;
1327 TString(
"centerBrassFrameSidePartS") +=
TString(
"_") + frames->
GetName(), centerBrassFrameSidePart_XSize * 0.5,
1328 centerBrassFrameSidePart_YSize * 0.5, centerBrassFrameSidePart_ZSize * 0.5);
1330 TString(
"centerBrassFrameLongPartS") +=
TString(
"_") + frames->
GetName(), centerBrassFrameLongPart_XSize * 0.5,
1331 centerBrassFrameLongPart_YSize * 0.5, centerBrassFrameLongPart_ZSize * 0.5);
1334 centerBrassFrameSidePart_pos1->
SetName(
TString(
"centerBrassFrameSidePart_pos1") +=
1336 centerBrassFrameSidePart_pos1->
SetDx(+(distanceBetweenBrassFrameSideParts + centerBrassFrameSidePart_XSize) * 0.5);
1337 centerBrassFrameSidePart_pos1->
SetDy(0.0);
1338 centerBrassFrameSidePart_pos1->
SetDz(0.0);
1342 centerBrassFrameSidePart_pos2->
SetName(
TString(
"centerBrassFrameSidePart_pos2") +=
1344 centerBrassFrameSidePart_pos2->
SetDx(-(distanceBetweenBrassFrameSideParts + centerBrassFrameSidePart_XSize) * 0.5);
1345 centerBrassFrameSidePart_pos2->
SetDy(0.0);
1346 centerBrassFrameSidePart_pos2->
SetDz(0.0);
1351 centerBrassFrameLongPart_top->
SetDx(0.0);
1352 centerBrassFrameLongPart_top->
SetDy(+(distanceBetweenBrassFrameLongParts + centerBrassFrameLongPart_YSize) * 0.5);
1353 centerBrassFrameLongPart_top->
SetDz(0.0);
1357 centerBrassFrameLongPart_bottom->
SetName(
TString(
"centerBrassFrameLongPart_bottom") +=
1359 centerBrassFrameLongPart_bottom->
SetDx(0.0);
1360 centerBrassFrameLongPart_bottom->
SetDy(-(distanceBetweenBrassFrameLongParts + centerBrassFrameLongPart_YSize)
1362 centerBrassFrameLongPart_bottom->
SetDz(0.0);
1368 TString expression =
"centerBrassFrameSidePartS";
1370 expression +=
":centerBrassFrameSidePart_pos1";
1372 expression +=
"+centerBrassFrameSidePartS";
1374 expression +=
":centerBrassFrameSidePart_pos2";
1376 expression +=
"+centerBrassFrameLongPartS";
1378 expression +=
":centerBrassFrameLongPart_top";
1380 expression +=
"+centerBrassFrameLongPartS";
1382 expression +=
":centerBrassFrameLongPart_bottom";
1385 centerBrassFrameS->
MakeNode(expression);
1394 if (centerBrassFrameV_medium) {
1395 centerBrassFrameV->
SetMedium(centerBrassFrameV_medium);
1397 Fatal(
"Main",
"Invalid medium for centerBrassFrameV!");
1406 centerBrassFrame_transf[0]->
SetDx(0.0);
1407 centerBrassFrame_transf[0]->
SetDy(0.0);
1408 centerBrassFrame_transf[0]->
SetDz(
1409 -(centerFiberGlassFrameSidePart_ZSize * 0.5 + centerBrassFrameSidePart_ZSize * 0.5));
1411 frames->
AddNode(centerBrassFrameV, 0, centerBrassFrame_transf[0]);
1415 Double_t centerSteelFrameSidePart_XSize = 1.45;
1416 Double_t centerSteelFrameSidePart_YSize = 44.6;
1417 Double_t centerSteelFrameSidePart_ZSize = 0.005;
1419 Double_t centerSteelFrameLongPart_XSize = 66.5;
1420 Double_t centerSteelFrameLongPart_YSize = 1.45;
1421 Double_t centerSteelFrameLongPart_ZSize = 0.005;
1423 Double_t distanceBetweenSteelFrameSideParts = 66.5;
1424 Double_t distanceBetweenSteelFrameLongParts = 41.7;
1427 TString(
"centerSteelFrameSidePartS") +=
TString(
"_") + frames->
GetName(), centerSteelFrameSidePart_XSize * 0.5,
1428 centerSteelFrameSidePart_YSize * 0.5, centerSteelFrameSidePart_ZSize * 0.5);
1430 TString(
"centerSteelFrameLongPartS") +=
TString(
"_") + frames->
GetName(), centerSteelFrameLongPart_XSize * 0.5,
1431 centerSteelFrameLongPart_YSize * 0.5, centerSteelFrameLongPart_ZSize * 0.5);
1434 centerSteelFrameSidePart_pos1->
SetName(
TString(
"centerSteelFrameSidePart_pos1") +=
1436 centerSteelFrameSidePart_pos1->
SetDx(+(distanceBetweenSteelFrameSideParts + centerSteelFrameSidePart_XSize) * 0.5);
1437 centerSteelFrameSidePart_pos1->
SetDy(0.0);
1438 centerSteelFrameSidePart_pos1->
SetDz(0.0);
1442 centerSteelFrameSidePart_pos2->
SetName(
TString(
"centerSteelFrameSidePart_pos2") +=
1444 centerSteelFrameSidePart_pos2->
SetDx(-(distanceBetweenSteelFrameSideParts + centerSteelFrameSidePart_XSize) * 0.5);
1445 centerSteelFrameSidePart_pos2->
SetDy(0.0);
1446 centerSteelFrameSidePart_pos2->
SetDz(0.0);
1451 centerSteelFrameLongPart_top->
SetDx(0.0);
1452 centerSteelFrameLongPart_top->
SetDy(+(distanceBetweenSteelFrameLongParts + centerSteelFrameLongPart_YSize) * 0.5);
1453 centerSteelFrameLongPart_top->
SetDz(0.0);
1457 centerSteelFrameLongPart_bottom->
SetName(
TString(
"centerSteelFrameLongPart_bottom") +=
1459 centerSteelFrameLongPart_bottom->
SetDx(0.0);
1460 centerSteelFrameLongPart_bottom->
SetDy(-(distanceBetweenSteelFrameLongParts + centerSteelFrameLongPart_YSize)
1462 centerSteelFrameLongPart_bottom->
SetDz(0.0);
1468 TString expression =
"centerSteelFrameSidePartS";
1470 expression +=
":centerSteelFrameSidePart_pos1";
1472 expression +=
"+centerSteelFrameSidePartS";
1474 expression +=
":centerSteelFrameSidePart_pos2";
1476 expression +=
"+centerSteelFrameLongPartS";
1478 expression +=
":centerSteelFrameLongPart_top";
1480 expression +=
"+centerSteelFrameLongPartS";
1482 expression +=
":centerSteelFrameLongPart_bottom";
1485 centerSteelFrameS->
MakeNode(expression);
1494 if (centerSteelFrameV_medium) {
1495 centerSteelFrameV->
SetMedium(centerSteelFrameV_medium);
1497 Fatal(
"Main",
"Invalid medium for centerSteelFrameV!");
1506 centerSteelFrame_transf[0]->
SetDx(0.0);
1507 centerSteelFrame_transf[0]->
SetDy(0.0);
1508 centerSteelFrame_transf[0]->
SetDz(-(centerFiberGlassFrameSidePart_ZSize * 0.5 + centerSteelFrameSidePart_ZSize
1509 + centerSteelFrameSidePart_ZSize * 0.5));
1511 frames->
AddNode(centerSteelFrameV, 0, centerSteelFrame_transf[0]);
1515 Double_t upperFiberGlassSideBlock_XSize = 3.3;
1516 Double_t upperFiberGlassSideBlock_YSize = 16.8;
1517 Double_t upperFiberGlassSideBlock_ZSize = 1.6;
1520 TString(
"upperFiberGlassSideBlockS") +=
TString(
"_") + frames->
GetName(), upperFiberGlassSideBlock_XSize * 0.5,
1521 upperFiberGlassSideBlock_YSize * 0.5, upperFiberGlassSideBlock_ZSize * 0.5);
1524 TString(
"upperFiberGlassSideBlockV") +=
TString(
"_") + frames->
GetName(), upperFiberGlassSideBlockS);
1528 if (upperFiberGlassSideBlockV_medium) {
1529 upperFiberGlassSideBlockV->
SetMedium(upperFiberGlassSideBlockV_medium);
1531 Fatal(
"Main",
"Invalid medium for upperFiberGlassSideBlockV!");
1540 upperFiberGlassSideBlock_transf[0]->
SetDx(-(distanceBetweenFiberGlassFrameSideParts * 0.5
1541 + centerFiberGlassFrameSidePart_XSize
1542 + upperFiberGlassSideBlock_XSize * 0.5));
1543 upperFiberGlassSideBlock_transf[0]->
SetDy(
1544 +(centerFiberGlassFrameSidePart_YSize * 0.5 - upperFiberGlassSideBlock_YSize * 0.5));
1545 upperFiberGlassSideBlock_transf[0]->
SetDz(
1546 -(upperFiberGlassSideBlock_ZSize * 0.5 - centerFiberGlassFrameSidePart_ZSize * 0.5));
1548 frames->
AddNode(upperFiberGlassSideBlockV, 0, upperFiberGlassSideBlock_transf[0]);
1552 Double_t frontFiberGlassCover_XSize = 69.4;
1553 Double_t frontFiberGlassCover_YSize = 44.6;
1554 Double_t frontFiberGlassCover_ZSize = 0.692;
1557 Double_t frontCover_dYshift = +0.1 * 0.5 ;
1558 Double_t frontCover_dZshift = -centerFiberGlassFrameSidePart_ZSize * 0.5 - centerSteelFrameSidePart_ZSize
1559 - centerSteelFrameSidePart_ZSize;
1562 Double_t smallEpoxideInnerLayer_XSize = 65.6;
1563 Double_t smallEpoxideInnerLayer_YSize = 41.6;
1564 Double_t smallEpoxideInnerLayer_ZSize = 0.05 + 0.01 * 0.5;
1567 TString(
"smallEpoxideInnerLayerS") +=
TString(
"_") + frames->
GetName(), smallEpoxideInnerLayer_XSize * 0.5,
1568 smallEpoxideInnerLayer_YSize * 0.5, smallEpoxideInnerLayer_ZSize * 0.5);
1575 if (smallEpoxideInnerLayerV_medium) {
1576 smallEpoxideInnerLayerV->
SetMedium(smallEpoxideInnerLayerV_medium);
1578 Fatal(
"Main",
"Invalid medium for smallEpoxideInnerLayerV!");
1587 smallEpoxideInnerLayer_transf[0]->
SetDx(frontCover_dXshift);
1588 smallEpoxideInnerLayer_transf[0]->
SetDy(frontCover_dYshift);
1589 smallEpoxideInnerLayer_transf[0]->
SetDz(-smallEpoxideInnerLayer_ZSize * 0.5 + frontCover_dZshift);
1591 frames->
AddNode(smallEpoxideInnerLayerV, 0, smallEpoxideInnerLayer_transf[0]);
1595 Double_t smallHoneyCombLayer_XSize = 65.6;
1596 Double_t smallHoneyCombLayer_YSize = 41.6;
1597 Double_t smallHoneyCombLayer_ZSize = 0.592;
1601 smallHoneyCombLayer_XSize * 0.5, smallHoneyCombLayer_YSize * 0.5, smallHoneyCombLayer_ZSize * 0.5);
1608 if (smallHoneyCombLayerV_medium) {
1609 smallHoneyCombLayerV->
SetMedium(smallHoneyCombLayerV_medium);
1611 Fatal(
"Main",
"Invalid medium for smallHoneyCombLayerV!");
1620 smallHoneyCombLayer_transf[0]->
SetDx(frontCover_dXshift);
1621 smallHoneyCombLayer_transf[0]->
SetDy(frontCover_dYshift);
1622 smallHoneyCombLayer_transf[0]->
SetDz(-smallHoneyCombLayer_ZSize * 0.5 - smallEpoxideInnerLayer_ZSize
1623 + frontCover_dZshift);
1625 frames->
AddNode(smallHoneyCombLayerV, 0, smallHoneyCombLayer_transf[0]);
1629 Double_t smallEpoxideOuterLayer_XSize = 65.6;
1630 Double_t smallEpoxideOuterLayer_YSize = 41.6;
1631 Double_t smallEpoxideOuterLayer_ZSize = 0.05;
1634 TString(
"smallEpoxideOuterLayerS") +=
TString(
"_") + frames->
GetName(), smallEpoxideOuterLayer_XSize * 0.5,
1635 smallEpoxideOuterLayer_YSize * 0.5, smallEpoxideOuterLayer_ZSize * 0.5);
1642 if (smallEpoxideOuterLayerV_medium) {
1643 smallEpoxideOuterLayerV->
SetMedium(smallEpoxideOuterLayerV_medium);
1645 Fatal(
"Main",
"Invalid medium for smallEpoxideOuterLayerV!");
1654 smallEpoxideOuterLayer_transf[0]->
SetDx(frontCover_dXshift);
1655 smallEpoxideOuterLayer_transf[0]->
SetDy(frontCover_dYshift);
1656 smallEpoxideOuterLayer_transf[0]->
SetDz(-smallEpoxideOuterLayer_ZSize * 0.5 - smallHoneyCombLayer_ZSize
1657 - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1659 frames->
AddNode(smallEpoxideOuterLayerV, 0, smallEpoxideOuterLayer_transf[0]);
1663 Double_t smallFiberGlassFrameLowerPart_XSize = 65.6;
1664 Double_t smallFiberGlassFrameLowerPart_YSize = 1.55;
1665 Double_t smallFiberGlassFrameLowerPart_ZSize = 0.692;
1667 Double_t smallFiberGlassFrameUpperPart_XSize = 65.6;
1668 Double_t smallFiberGlassFrameUpperPart_YSize = 1.45;
1669 Double_t smallFiberGlassFrameUpperPart_ZSize = 0.692;
1671 Double_t smallFiberGlassFrameSidePart_XSize = 1.9;
1672 Double_t smallFiberGlassFrameSidePart_YSize = 44.6;
1673 Double_t smallFiberGlassFrameSidePart_ZSize = 0.692;
1675 TGeoShape* smallFiberGlassFrameLowerPartS =
1677 smallFiberGlassFrameLowerPart_XSize * 0.5, smallFiberGlassFrameLowerPart_YSize * 0.5,
1678 smallFiberGlassFrameLowerPart_ZSize * 0.5);
1679 TGeoShape* smallFiberGlassFrameUpperPartS =
1681 smallFiberGlassFrameUpperPart_XSize * 0.5, smallFiberGlassFrameUpperPart_YSize * 0.5,
1682 smallFiberGlassFrameUpperPart_ZSize * 0.5);
1683 TGeoShape* smallFiberGlassFrameSidePartS =
1685 smallFiberGlassFrameSidePart_XSize * 0.5, smallFiberGlassFrameSidePart_YSize * 0.5,
1686 smallFiberGlassFrameSidePart_ZSize * 0.5);
1689 smallFiberGlassFrameLowerPart_pos->
SetName(
TString(
"smallFiberGlassFrameLowerPart_pos") +=
1691 smallFiberGlassFrameLowerPart_pos->
SetDx(0.0);
1692 smallFiberGlassFrameLowerPart_pos->
SetDy(-smallEpoxideInnerLayer_YSize * 0.5
1693 - smallFiberGlassFrameLowerPart_YSize * 0.5);
1694 smallFiberGlassFrameLowerPart_pos->
SetDz(0.0);
1698 smallFiberGlassFrameUpperPart_pos->
SetName(
TString(
"smallFiberGlassFrameUpperPart_pos") +=
1700 smallFiberGlassFrameUpperPart_pos->
SetDx(0.0);
1701 smallFiberGlassFrameUpperPart_pos->
SetDy(smallEpoxideInnerLayer_YSize * 0.5
1702 + smallFiberGlassFrameUpperPart_YSize * 0.5);
1703 smallFiberGlassFrameUpperPart_pos->
SetDz(0.0);
1707 smallFiberGlassFrameSidePart_pos1->
SetName(
TString(
"smallFiberGlassFrameSidePart_pos1") +=
1709 smallFiberGlassFrameSidePart_pos1->
SetDx(smallEpoxideInnerLayer_XSize * 0.5
1710 + smallFiberGlassFrameSidePart_XSize * 0.5);
1711 smallFiberGlassFrameSidePart_pos1->
SetDy((smallFiberGlassFrameUpperPart_YSize - smallFiberGlassFrameLowerPart_YSize)
1713 smallFiberGlassFrameSidePart_pos1->
SetDz(0.0);
1717 smallFiberGlassFrameSidePart_pos2->
SetName(
TString(
"smallFiberGlassFrameSidePart_pos2") +=
1719 smallFiberGlassFrameSidePart_pos2->
SetDx(
1720 -(smallEpoxideInnerLayer_XSize * 0.5 + smallFiberGlassFrameSidePart_XSize * 0.5));
1721 smallFiberGlassFrameSidePart_pos2->
SetDy((smallFiberGlassFrameUpperPart_YSize - smallFiberGlassFrameLowerPart_YSize)
1723 smallFiberGlassFrameSidePart_pos2->
SetDz(0.0);
1729 TString expression =
"smallFiberGlassFrameLowerPartS";
1731 expression +=
":smallFiberGlassFrameLowerPart_pos";
1733 expression +=
"+smallFiberGlassFrameUpperPartS";
1735 expression +=
":smallFiberGlassFrameUpperPart_pos";
1737 expression +=
"+smallFiberGlassFrameSidePartS";
1739 expression +=
":smallFiberGlassFrameSidePart_pos1";
1741 expression +=
"+smallFiberGlassFrameSidePartS";
1743 expression +=
":smallFiberGlassFrameSidePart_pos2";
1746 smallFiberGlassFrameS->
MakeNode(expression);
1755 if (smallFiberGlassFrameV_medium) {
1756 smallFiberGlassFrameV->
SetMedium(smallFiberGlassFrameV_medium);
1758 Fatal(
"Main",
"Invalid medium for smallFiberGlassFrameV!");
1767 smallFiberGlassFrame_transf[0]->
SetDx(frontCover_dXshift);
1768 smallFiberGlassFrame_transf[0]->
SetDy(frontCover_dYshift);
1769 smallFiberGlassFrame_transf[0]->
SetDz(-smallFiberGlassFrameLowerPart_ZSize * 0.5 + frontCover_dZshift);
1771 frames->
AddNode(smallFiberGlassFrameV, 0, smallFiberGlassFrame_transf[0]);
1775 Double_t smallGlueLayer_XSize = 69.4;
1776 Double_t smallGlueLayer_YSize = 44.6;
1777 Double_t smallGlueLayer_ZSize = 0.005 + 0.005;
1781 smallGlueLayer_YSize * 0.5, smallGlueLayer_ZSize * 0.5);
1788 if (smallGlueLayerV_medium) {
1789 smallGlueLayerV->
SetMedium(smallGlueLayerV_medium);
1791 Fatal(
"Main",
"Invalid medium for smallGlueLayerV!");
1800 smallGlueLayer_transf[0]->
SetDx(0.0);
1801 smallGlueLayer_transf[0]->
SetDy(0.0);
1802 smallGlueLayer_transf[0]->
SetDz(-smallGlueLayer_ZSize * 0.5 - smallEpoxideOuterLayer_ZSize
1803 - smallHoneyCombLayer_ZSize - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1805 frames->
AddNode(smallGlueLayerV, 0, smallGlueLayer_transf[0]);
1809 Double_t smallPolyamideLayer_XSize = 69.4;
1810 Double_t smallPolyamideLayer_YSize = 44.6;
1811 Double_t smallPolyamideLayer_ZSize = 0.02 * 0.5;
1815 smallPolyamideLayer_XSize * 0.5, smallPolyamideLayer_YSize * 0.5, smallPolyamideLayer_ZSize * 0.5);
1822 if (smallPolyamideLayerV_medium) {
1823 smallPolyamideLayerV->
SetMedium(smallPolyamideLayerV_medium);
1825 Fatal(
"Main",
"Invalid medium for smallPolyamideLayerV!");
1834 smallPolyamideLayer_transf[0]->
SetDx(0.0);
1835 smallPolyamideLayer_transf[0]->
SetDy(0.0);
1836 smallPolyamideLayer_transf[0]->
SetDz(-smallPolyamideLayer_ZSize * 0.5 - smallGlueLayer_ZSize
1837 - smallEpoxideOuterLayer_ZSize - smallHoneyCombLayer_ZSize
1838 - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1840 frames->
AddNode(smallPolyamideLayerV, 0, smallPolyamideLayer_transf[0]);
1844 Double_t smallCopperLayer_XSize = 69.4;
1845 Double_t smallCopperLayer_YSize = 44.6;
1846 Double_t smallCopperLayer_ZSize = 0.0035 + 0.0061 * 0.5 ;
1850 smallCopperLayer_YSize * 0.5, smallCopperLayer_ZSize * 0.5);
1857 if (smallCopperLayerV_medium) {
1858 smallCopperLayerV->
SetMedium(smallCopperLayerV_medium);
1860 Fatal(
"Main",
"Invalid medium for smallCopperLayerV!");
1869 smallCopperLayer_transf[0]->
SetDx(0.0);
1870 smallCopperLayer_transf[0]->
SetDy(0.0);
1871 smallCopperLayer_transf[0]->
SetDz(-smallCopperLayer_ZSize * 0.5 - smallPolyamideLayer_ZSize - smallGlueLayer_ZSize
1872 - smallEpoxideOuterLayer_ZSize - smallHoneyCombLayer_ZSize
1873 - smallEpoxideInnerLayer_ZSize + frontCover_dZshift);
1875 frames->
AddNode(smallCopperLayerV, 0, smallCopperLayer_transf[0]);
1880 Double_t backFiberGlassCover_XSize = 75.3;
1881 Double_t backFiberGlassCover_YSize = 48.5;
1882 Double_t backFiberGlassCover_ZSize = 0.662;
1884 Double_t backCover_dXshift = -0.075 ;
1885 Double_t backCover_dYshift = -0.125 ;
1886 Double_t backCover_dZshift = centerFiberGlassFrameSidePart_ZSize * 0.5 + 0.005;
1889 Double_t bigEpoxideInnerLayer_XSize = 65.95;
1890 Double_t bigEpoxideInnerLayer_YSize = 40.85;
1891 Double_t bigEpoxideInnerLayer_ZSize = 0.05 + 0.01 * 0.5;
1894 TString(
"bigEpoxideInnerLayerS") +=
TString(
"_") + frames->
GetName(), bigEpoxideInnerLayer_XSize * 0.5,
1895 bigEpoxideInnerLayer_YSize * 0.5, bigEpoxideInnerLayer_ZSize * 0.5);
1902 if (bigEpoxideInnerLayerV_medium) {
1903 bigEpoxideInnerLayerV->
SetMedium(bigEpoxideInnerLayerV_medium);
1905 Fatal(
"Main",
"Invalid medium for bigEpoxideInnerLayerV!");
1914 bigEpoxideInnerLayer_transf[0]->
SetDx(backCover_dXshift);
1915 bigEpoxideInnerLayer_transf[0]->
SetDy(backCover_dYshift);
1916 bigEpoxideInnerLayer_transf[0]->
SetDz(bigEpoxideInnerLayer_ZSize * 0.5 + backCover_dZshift);
1918 frames->
AddNode(bigEpoxideInnerLayerV, 0, bigEpoxideInnerLayer_transf[0]);
1922 Double_t bigHoneyCombLayer_XSize = 65.95;
1923 Double_t bigHoneyCombLayer_YSize = 40.85;
1924 Double_t bigHoneyCombLayer_ZSize = 0.562;
1928 bigHoneyCombLayer_YSize * 0.5, bigHoneyCombLayer_ZSize * 0.5);
1935 if (bigHoneyCombLayerV_medium) {
1936 bigHoneyCombLayerV->
SetMedium(bigHoneyCombLayerV_medium);
1938 Fatal(
"Main",
"Invalid medium for bigHoneyCombLayerV!");
1947 bigHoneyCombLayer_transf[0]->
SetDx(backCover_dXshift);
1948 bigHoneyCombLayer_transf[0]->
SetDy(backCover_dYshift);
1949 bigHoneyCombLayer_transf[0]->
SetDz(bigHoneyCombLayer_ZSize * 0.5 + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
1951 frames->
AddNode(bigHoneyCombLayerV, 0, bigHoneyCombLayer_transf[0]);
1955 Double_t bigEpoxideOuterLayer_XSize = 65.95;
1956 Double_t bigEpoxideOuterLayer_YSize = 40.85;
1957 Double_t bigEpoxideOuterLayer_ZSize = 0.05;
1960 TString(
"bigEpoxideOuterLayerS") +=
TString(
"_") + frames->
GetName(), bigEpoxideOuterLayer_XSize * 0.5,
1961 bigEpoxideOuterLayer_YSize * 0.5, bigEpoxideOuterLayer_ZSize * 0.5);
1968 if (bigEpoxideOuterLayerV_medium) {
1969 bigEpoxideOuterLayerV->
SetMedium(bigEpoxideOuterLayerV_medium);
1971 Fatal(
"Main",
"Invalid medium for bigEpoxideOuterLayerV!");
1980 bigEpoxideOuterLayer_transf[0]->
SetDx(backCover_dXshift);
1981 bigEpoxideOuterLayer_transf[0]->
SetDy(backCover_dYshift);
1982 bigEpoxideOuterLayer_transf[0]->
SetDz(bigEpoxideOuterLayer_ZSize * 0.5 + bigHoneyCombLayer_ZSize
1983 + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
1985 frames->
AddNode(bigEpoxideOuterLayerV, 0, bigEpoxideOuterLayer_transf[0]);
1989 Double_t bigFiberGlassFrameLowerPart_XSize = 65.95;
1990 Double_t bigFiberGlassFrameLowerPart_YSize = 1.75;
1991 Double_t bigFiberGlassFrameLowerPart_ZSize = 0.662;
1993 Double_t bigFiberGlassFrameUpperPart_XSize = 65.95;
1994 Double_t bigFiberGlassFrameUpperPart_YSize = 5.9;
1995 Double_t bigFiberGlassFrameUpperPart_ZSize = 0.662;
1997 Double_t bigFiberGlassFrameSmallSidePart_XSize = 1.8;
1998 Double_t bigFiberGlassFrameSmallSidePart_YSize = 48.5;
1999 Double_t bigFiberGlassFrameSmallSidePart_ZSize = 0.662;
2001 Double_t bigFiberGlassFrameBigSidePart_XSize = 7.55;
2002 Double_t bigFiberGlassFrameBigSidePart_YSize = 48.5;
2003 Double_t bigFiberGlassFrameBigSidePart_ZSize = 0.662;
2005 TGeoShape* bigFiberGlassFrameLowerPartS =
2007 bigFiberGlassFrameLowerPart_XSize * 0.5, bigFiberGlassFrameLowerPart_YSize * 0.5,
2008 bigFiberGlassFrameLowerPart_ZSize * 0.5);
2009 TGeoShape* bigFiberGlassFrameUpperPartS =
2011 bigFiberGlassFrameUpperPart_XSize * 0.5, bigFiberGlassFrameUpperPart_YSize * 0.5,
2012 bigFiberGlassFrameUpperPart_ZSize * 0.5);
2013 TGeoShape* bigFiberGlassFrameSmallSidePartS =
2015 bigFiberGlassFrameSmallSidePart_XSize * 0.5, bigFiberGlassFrameSmallSidePart_YSize * 0.5,
2016 bigFiberGlassFrameSmallSidePart_ZSize * 0.5);
2017 TGeoShape* bigFiberGlassFrameBigSidePartS =
2019 bigFiberGlassFrameBigSidePart_XSize * 0.5, bigFiberGlassFrameBigSidePart_YSize * 0.5,
2020 bigFiberGlassFrameBigSidePart_ZSize * 0.5);
2023 bigFiberGlassFrameLowerPart_pos->
SetName(
TString(
"bigFiberGlassFrameLowerPart_pos") +=
2025 bigFiberGlassFrameLowerPart_pos->
SetDx(0.0);
2026 bigFiberGlassFrameLowerPart_pos->
SetDy(-bigEpoxideInnerLayer_YSize * 0.5 - bigFiberGlassFrameLowerPart_YSize * 0.5);
2027 bigFiberGlassFrameLowerPart_pos->
SetDz(0.0);
2031 bigFiberGlassFrameUpperPart_pos->
SetName(
TString(
"bigFiberGlassFrameUpperPart_pos") +=
2033 bigFiberGlassFrameUpperPart_pos->
SetDx(0.0);
2034 bigFiberGlassFrameUpperPart_pos->
SetDy(bigEpoxideInnerLayer_YSize * 0.5 + bigFiberGlassFrameUpperPart_YSize * 0.5);
2035 bigFiberGlassFrameUpperPart_pos->
SetDz(0.0);
2039 bigFiberGlassFrameSmallSidePart_pos->
SetName(
TString(
"bigFiberGlassFrameSmallSidePart_pos") +=
2041 bigFiberGlassFrameSmallSidePart_pos->
SetDx(bigEpoxideInnerLayer_XSize * 0.5
2042 + bigFiberGlassFrameSmallSidePart_XSize * 0.5);
2043 bigFiberGlassFrameSmallSidePart_pos->
SetDy((bigFiberGlassFrameUpperPart_YSize - bigFiberGlassFrameLowerPart_YSize)
2045 bigFiberGlassFrameSmallSidePart_pos->
SetDz(0.0);
2049 bigFiberGlassFrameBigSidePart_pos->
SetName(
TString(
"bigFiberGlassFrameBigSidePart_pos") +=
2051 bigFiberGlassFrameBigSidePart_pos->
SetDx(
2052 -(bigEpoxideInnerLayer_XSize * 0.5 + bigFiberGlassFrameBigSidePart_XSize * 0.5));
2053 bigFiberGlassFrameBigSidePart_pos->
SetDy((bigFiberGlassFrameUpperPart_YSize - bigFiberGlassFrameLowerPart_YSize)
2055 bigFiberGlassFrameBigSidePart_pos->
SetDz(0.0);
2061 TString expression =
"bigFiberGlassFrameLowerPartS";
2063 expression +=
":bigFiberGlassFrameLowerPart_pos";
2065 expression +=
"+bigFiberGlassFrameUpperPartS";
2067 expression +=
":bigFiberGlassFrameUpperPart_pos";
2069 expression +=
"+bigFiberGlassFrameSmallSidePartS";
2071 expression +=
":bigFiberGlassFrameSmallSidePart_pos";
2073 expression +=
"+bigFiberGlassFrameBigSidePartS";
2075 expression +=
":bigFiberGlassFrameBigSidePart_pos";
2078 bigFiberGlassFrameS->
MakeNode(expression);
2087 if (bigFiberGlassFrameV_medium) {
2088 bigFiberGlassFrameV->
SetMedium(bigFiberGlassFrameV_medium);
2090 Fatal(
"Main",
"Invalid medium for bigFiberGlassFrameV!");
2099 bigFiberGlassFrame_transf[0]->
SetDx(backCover_dXshift);
2100 bigFiberGlassFrame_transf[0]->
SetDy(backCover_dYshift);
2101 bigFiberGlassFrame_transf[0]->
SetDz(bigFiberGlassFrameLowerPart_ZSize * 0.5 + backCover_dZshift);
2103 frames->
AddNode(bigFiberGlassFrameV, 0, bigFiberGlassFrame_transf[0]);
2107 Double_t bigGlueLayer_XSize = 75.3;
2108 Double_t bigGlueLayer_YSize = 48.5;
2109 Double_t bigGlueLayer_ZSize = 0.005 + 0.005;
2113 bigGlueLayer_YSize * 0.5, bigGlueLayer_ZSize * 0.5);
2120 if (bigGlueLayerV_medium) {
2121 bigGlueLayerV->
SetMedium(bigGlueLayerV_medium);
2123 Fatal(
"Main",
"Invalid medium for bigGlueLayerV!");
2132 bigGlueLayer_transf[0]->
SetDx(-2.95 );
2133 bigGlueLayer_transf[0]->
SetDy(+1.95 );
2134 bigGlueLayer_transf[0]->
SetDz(bigGlueLayer_ZSize * 0.5 + bigEpoxideOuterLayer_ZSize + bigHoneyCombLayer_ZSize
2135 + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
2137 frames->
AddNode(bigGlueLayerV, 0, bigGlueLayer_transf[0]);
2141 Double_t bigPolyamideLayer_XSize = 75.3;
2142 Double_t bigPolyamideLayer_YSize = 48.5;
2143 Double_t bigPolyamideLayer_ZSize = 0.02 * 0.5;
2147 bigPolyamideLayer_YSize * 0.5, bigPolyamideLayer_ZSize * 0.5);
2154 if (bigPolyamideLayerV_medium) {
2155 bigPolyamideLayerV->
SetMedium(bigPolyamideLayerV_medium);
2157 Fatal(
"Main",
"Invalid medium for bigPolyamideLayerV!");
2166 bigPolyamideLayer_transf[0]->
SetDx(-2.95 );
2167 bigPolyamideLayer_transf[0]->
SetDy(+1.95 );
2168 bigPolyamideLayer_transf[0]->
SetDz(bigPolyamideLayer_ZSize * 0.5 + bigGlueLayer_ZSize + bigEpoxideOuterLayer_ZSize
2169 + bigHoneyCombLayer_ZSize + bigEpoxideInnerLayer_ZSize + backCover_dZshift);
2171 frames->
AddNode(bigPolyamideLayerV, 0, bigPolyamideLayer_transf[0]);
2175 Double_t bigCopperLayer_XSize = 75.3;
2176 Double_t bigCopperLayer_YSize = 48.5;
2177 Double_t bigCopperLayer_ZSize = 0.0035 + 0.0061 * 0.5 ;
2181 bigCopperLayer_YSize * 0.5, bigCopperLayer_ZSize * 0.5);
2188 if (bigCopperLayerV_medium) {
2189 bigCopperLayerV->
SetMedium(bigCopperLayerV_medium);
2191 Fatal(
"Main",
"Invalid medium for bigCopperLayerV!");
2200 bigCopperLayer_transf[0]->
SetDx(-2.95 );
2201 bigCopperLayer_transf[0]->
SetDy(+1.95 );
2202 bigCopperLayer_transf[0]->
SetDz(bigCopperLayer_ZSize * 0.5 + bigPolyamideLayer_ZSize + bigGlueLayer_ZSize
2203 + bigEpoxideOuterLayer_ZSize + bigHoneyCombLayer_ZSize + bigEpoxideInnerLayer_ZSize
2204 + backCover_dZshift);
2206 frames->
AddNode(bigCopperLayerV, 0, bigCopperLayer_transf[0]);
2212 Double_t bigSidePlate_YSize = 27.6;
2217 bigSidePlate_YSize * 0.5, bigSidePlate_ZSize * 0.5);
2224 if (bigSidePlateV_medium) {
2225 bigSidePlateV->
SetMedium(bigSidePlateV_medium);
2227 Fatal(
"Main",
"Invalid medium for bigSidePlateV!");
2236 bigSidePlate_transf[0]->
SetDx(-(backFiberGlassCover_XSize - frontFiberGlassCover_XSize * 0.5)
2237 - bigSidePlate_XSize * 0.5 + 3.0 );
2238 bigSidePlate_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + bigSidePlate_YSize * 0.5);
2239 bigSidePlate_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - bigSidePlate_ZSize * 0.5);
2241 frames->
AddNode(bigSidePlateV, 0, bigSidePlate_transf[0]);
2245 Double_t bigSideSupport_XSize = 3.2;
2246 Double_t bigSideSupport_YSize = 26;
2247 Double_t bigSideSupport_ZSize = 0.6;
2251 bigSideSupport_YSize * 0.5, bigSideSupport_ZSize * 0.5);
2258 if (bigSideSupportV_medium) {
2259 bigSideSupportV->
SetMedium(bigSideSupportV_medium);
2261 Fatal(
"Main",
"Invalid medium for bigSideSupportV!");
2270 bigSideSupport_transf[0]->
SetDx(-(backFiberGlassCover_XSize - frontFiberGlassCover_XSize * 0.5)
2271 - bigSideSupport_XSize * 0.5);
2272 bigSideSupport_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + bigSideSupport_YSize * 0.5 + 1.6 );
2273 bigSideSupport_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - bigSidePlate_ZSize
2274 - bigSideSupport_ZSize * 0.5);
2276 frames->
AddNode(bigSideSupportV, 0, bigSideSupport_transf[0]);
2280 Double_t smallSidePlate_XSize = 4.2;
2281 Double_t smallSidePlate_YSize = 3.7;
2282 Double_t smallSidePlate_ZSize = 0.3;
2286 smallSidePlate_YSize * 0.5, smallSidePlate_ZSize * 0.5);
2293 if (smallSidePlateV_medium) {
2294 smallSidePlateV->
SetMedium(smallSidePlateV_medium);
2296 Fatal(
"Main",
"Invalid medium for smallSidePlateV!");
2305 smallSidePlate_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - smallSidePlate_XSize * 0.5 + 2.2 );
2306 smallSidePlate_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + smallSidePlate_YSize * 0.5 + 0.2 );
2307 smallSidePlate_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - smallSidePlate_ZSize * 0.5);
2309 frames->
AddNode(smallSidePlateV, 0, smallSidePlate_transf[0]);
2313 Double_t smallSideSupport_XSize = 4.0;
2314 Double_t smallSideSupport_YSize = 2.4;
2315 Double_t smallSideSupport_ZSize = 0.6;
2319 smallSideSupport_YSize * 0.5, smallSideSupport_ZSize * 0.5);
2326 if (smallSideSupportV_medium) {
2327 smallSideSupportV->
SetMedium(smallSideSupportV_medium);
2329 Fatal(
"Main",
"Invalid medium for smallSideSupportV!");
2338 smallSideSupport_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - smallSideSupport_XSize * 0.5 + 3.3 );
2339 smallSideSupport_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + smallSideSupport_YSize * 0.5);
2340 smallSideSupport_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - bigSidePlate_ZSize
2341 - bigSideSupport_ZSize * 0.5);
2343 frames->
AddNode(smallSideSupportV, 0, smallSideSupport_transf[0]);
2347 Double_t sideAmplifierBlock_XSize = 0.3;
2348 Double_t sideAmplifierBlock_YSize = 24.825;
2349 Double_t sideAmplifierBlock_ZSize = 8.41;
2353 sideAmplifierBlock_YSize * 0.5, sideAmplifierBlock_ZSize * 0.5);
2360 if (sideAmplifierBlockV_medium) {
2361 sideAmplifierBlockV->
SetMedium(sideAmplifierBlockV_medium);
2363 Fatal(
"Main",
"Invalid medium for sideAmplifierBlockV!");
2372 sideAmplifierBlock_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideAmplifierBlock_XSize * 0.5
2374 sideAmplifierBlock_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideAmplifierBlock_YSize * 0.5
2376 sideAmplifierBlock_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideAmplifierBlock_ZSize * 0.5);
2378 frames->
AddNode(sideAmplifierBlockV, 0, sideAmplifierBlock_transf[0]);
2382 Double_t upperAmplifierBlockOutPart_XSize = 65.6;
2383 Double_t upperAmplifierBlockOutPart_YSize = 0.3;
2384 Double_t upperAmplifierBlockOutPart_ZSize = 8.41;
2386 Double_t upperAmplifierBlockInLeftPart_XSize = 29.3;
2387 Double_t upperAmplifierBlockInLeftPart_YSize = 0.3;
2388 Double_t upperAmplifierBlockInLeftPart_ZSize = 8.41;
2390 Double_t upperAmplifierBlockInRightPart_XSize = 26.0;
2391 Double_t upperAmplifierBlockInRightPart_YSize = 0.3;
2392 Double_t upperAmplifierBlockInRightPart_ZSize = 8.41;
2394 TGeoShape* upperAmplifierBlockOutPartS =
2396 upperAmplifierBlockOutPart_XSize * 0.5, upperAmplifierBlockOutPart_YSize * 0.5,
2397 upperAmplifierBlockOutPart_ZSize * 0.5);
2398 TGeoShape* upperAmplifierBlockInLeftPartS =
2400 upperAmplifierBlockInLeftPart_XSize * 0.5, upperAmplifierBlockInLeftPart_YSize * 0.5,
2401 upperAmplifierBlockInLeftPart_ZSize * 0.5);
2402 TGeoShape* upperAmplifierBlockInRightPartS =
2404 upperAmplifierBlockInRightPart_XSize * 0.5, upperAmplifierBlockInRightPart_YSize * 0.5,
2405 upperAmplifierBlockInRightPart_ZSize * 0.5);
2408 TString(
"upperAmplifierBlockOutPartV") +=
TString(
"_") + frames->
GetName(), upperAmplifierBlockOutPartS);
2410 TString(
"upperAmplifierBlockInLeftPartV") +=
TString(
"_") + frames->
GetName(), upperAmplifierBlockInLeftPartS);
2411 TGeoVolume* upperAmplifierBlockInRightPartV =
2413 upperAmplifierBlockInRightPartS);
2417 if (upperAmplifierBlockOutPartV_medium) {
2418 upperAmplifierBlockOutPartV->
SetMedium(upperAmplifierBlockOutPartV_medium);
2419 upperAmplifierBlockInLeftPartV->
SetMedium(upperAmplifierBlockOutPartV_medium);
2420 upperAmplifierBlockInRightPartV->
SetMedium(upperAmplifierBlockOutPartV_medium);
2422 Fatal(
"Main",
"Invalid medium for upperAmplifierBlock!");
2435 upperAmplifierBlock_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperAmplifierBlockOutPart_XSize * 0.5
2437 upperAmplifierBlock_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperAmplifierBlockOutPart_YSize * 0.5
2439 upperAmplifierBlock_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5
2440 - upperAmplifierBlockOutPart_ZSize * 0.5);
2443 upperAmplifierBlock_transf[1]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperAmplifierBlockInLeftPart_XSize * 0.5
2445 upperAmplifierBlock_transf[1]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperAmplifierBlockInLeftPart_YSize * 0.5
2447 upperAmplifierBlock_transf[1]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5
2448 - upperAmplifierBlockInLeftPart_ZSize * 0.5);
2451 upperAmplifierBlock_transf[2]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperAmplifierBlockInLeftPart_XSize
2452 - upperAmplifierBlockInRightPart_XSize * 0.5 - 7.6 );
2453 upperAmplifierBlock_transf[2]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperAmplifierBlockInRightPart_YSize * 0.5
2455 upperAmplifierBlock_transf[2]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5
2456 - upperAmplifierBlockInRightPart_ZSize * 0.5);
2458 frames->
AddNode(upperAmplifierBlockOutPartV, 0, upperAmplifierBlock_transf[0]);
2459 frames->
AddNode(upperAmplifierBlockInLeftPartV, 0, upperAmplifierBlock_transf[1]);
2460 frames->
AddNode(upperAmplifierBlockInRightPartV, 0, upperAmplifierBlock_transf[2]);
2469 sidePCB_YSize * 0.5, sidePCB_ZSize * 0.5);
2475 if (sidePCBV_medium) {
2478 Fatal(
"Main",
"Invalid medium for sidePCBV!");
2487 sidePCB_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sidePCB_XSize * 0.5 - 0.45 );
2488 sidePCB_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sidePCB_YSize * 0.5 + 2.5 );
2489 sidePCB_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sidePCB_ZSize * 0.5 - 4.4 );
2491 frames->
AddNode(sidePCBV, 0, sidePCB_transf[0]);
2500 upperPCB_YSize * 0.5, upperPCB_ZSize * 0.5);
2506 if (upperPCBV_medium) {
2509 Fatal(
"Main",
"Invalid medium for upperPCBV!");
2518 upperPCB_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperPCB_XSize * 0.5 - 1.7 );
2519 upperPCB_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperPCB_YSize * 0.5 + 0.1 );
2520 upperPCB_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperPCB_ZSize * 0.5 - 4.4 );
2522 frames->
AddNode(upperPCBV, 0, upperPCB_transf[0]);
2526 Double_t sideBottomSmallLeg_XSize = 2.0;
2527 Double_t sideBottomSmallLeg_YSize = 0.46;
2528 Double_t sideBottomSmallLeg_ZSize = 1.9;
2530 Double_t sideBottomBigLeg_XSize = 5.4;
2531 Double_t sideBottomBigLeg_YSize = 0.46;
2532 Double_t sideBottomBigLeg_ZSize = 3.2;
2536 sideBottomSmallLeg_YSize * 0.5, sideBottomSmallLeg_ZSize * 0.5);
2539 sideBottomBigLeg_YSize * 0.5, sideBottomBigLeg_ZSize * 0.5);
2548 if (sideBottomLeg_medium) {
2549 sideBottomSmallLegV->
SetMedium(sideBottomLeg_medium);
2550 sideBottomBigLegV->
SetMedium(sideBottomLeg_medium);
2552 Fatal(
"Main",
"Invalid medium for sideBottomLegV!");
2563 sideBottomSmallLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideBottomSmallLeg_XSize * 0.5
2565 sideBottomSmallLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideBottomSmallLeg_YSize * 0.5
2567 sideBottomSmallLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideBottomSmallLeg_ZSize * 0.5
2568 - bigSidePlate_ZSize);
2573 sideBottomBigLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 + sideBottomBigLeg_XSize * 0.5
2574 - sideBottomSmallLeg_XSize - 2.9 );
2575 sideBottomBigLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideBottomBigLeg_YSize * 0.5
2577 sideBottomBigLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideBottomBigLeg_ZSize * 0.5
2578 - bigSidePlate_ZSize - sideBottomSmallLeg_ZSize);
2580 frames->
AddNode(sideBottomSmallLegV, 0, sideBottomSmallLeg_transf[0]);
2581 frames->
AddNode(sideBottomBigLegV, 0, sideBottomBigLeg_transf[0]);
2585 Double_t sideTopSmallLeg_XSize = 2.0;
2586 Double_t sideTopSmallLeg_YSize = 0.56;
2587 Double_t sideTopSmallLeg_ZSize = 2.24;
2589 Double_t sideTopBigLeg_XSize = 4.3;
2590 Double_t sideTopBigLeg_YSize = 0.56;
2591 Double_t sideTopBigLeg_ZSize = 2.8;
2595 sideTopSmallLeg_YSize * 0.5, sideTopSmallLeg_ZSize * 0.5);
2598 sideTopBigLeg_YSize * 0.5, sideTopBigLeg_ZSize * 0.5);
2607 if (sideTopLeg_medium) {
2608 sideTopSmallLegV->
SetMedium(sideTopLeg_medium);
2609 sideTopBigLegV->
SetMedium(sideTopLeg_medium);
2611 Fatal(
"Main",
"Invalid medium for sideTopLegV!");
2622 sideTopSmallLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideTopSmallLeg_XSize * 0.5 - 2.9 );
2623 sideTopSmallLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideTopSmallLeg_YSize * 0.5 + 27.23 );
2624 sideTopSmallLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideTopSmallLeg_ZSize * 0.5
2625 - bigSidePlate_ZSize);
2630 sideTopBigLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 + sideTopBigLeg_XSize * 0.5 - sideTopSmallLeg_XSize
2632 sideTopBigLeg_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideTopBigLeg_YSize * 0.5 + 27.23 );
2633 sideTopBigLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideTopBigLeg_ZSize * 0.5
2634 - bigSidePlate_ZSize - sideTopSmallLeg_ZSize);
2636 frames->
AddNode(sideTopSmallLegV, 0, sideTopSmallLeg_transf[0]);
2637 frames->
AddNode(sideTopBigLegV, 0, sideTopBigLeg_transf[0]);
2641 Double_t sideLongStick_XSize = 0.6;
2642 Double_t sideLongStick_YSize = 25.72;
2643 Double_t sideLongStick_ZSize = 1.2;
2645 Double_t sideShortStick_XSize = 0.6;
2646 Double_t sideShortStick_YSize = 9.6;
2647 Double_t sideShortStick_ZSize = 1.2;
2651 sideLongStick_YSize * 0.5, sideLongStick_ZSize * 0.5);
2654 sideShortStick_YSize * 0.5, sideShortStick_ZSize * 0.5);
2663 if (sideStick_medium) {
2664 sideLongStickV->
SetMedium(sideStick_medium);
2665 sideShortStickV->
SetMedium(sideStick_medium);
2667 Fatal(
"Main",
"Invalid medium for sideTopLegV!");
2678 sideLongStick_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - 0.9 );
2679 sideLongStick_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideLongStick_YSize * 0.5 + 1.51 );
2680 sideLongStick_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideLongStick_ZSize * 0.5
2681 - bigSidePlate_ZSize - sideTopSmallLeg_ZSize - sideTopBigLeg_ZSize + 0.04 );
2686 sideShortStick_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - 0.9 );
2687 sideShortStick_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideShortStick_YSize * 0.5 + sideLongStick_YSize
2689 sideShortStick_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideShortStick_ZSize * 0.5
2690 - bigSidePlate_ZSize - sideTopSmallLeg_ZSize - sideTopBigLeg_ZSize
2693 frames->
AddNode(sideLongStickV, 0, sideLongStick_transf[0]);
2694 frames->
AddNode(sideShortStickV, 0, sideShortStick_transf[0]);
2704 sideFunnyBox_YSize * 0.5, sideFunnyBox_ZSize * 0.5);
2711 if (sideFunnyBoxV_medium) {
2712 sideFunnyBoxV->
SetMedium(sideFunnyBoxV_medium);
2714 Fatal(
"Main",
"Invalid medium for sideFunnyBoxV!");
2723 sideFunnyBox_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5);
2724 sideFunnyBox_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideFunnyBox_YSize * 0.5 + sideBottomBigLeg_YSize
2726 sideFunnyBox_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideShortStick_ZSize * 0.5
2727 - bigSidePlate_ZSize - sideBottomSmallLeg_ZSize - sideBottomBigLeg_ZSize);
2729 frames->
AddNode(sideFunnyBoxV, 0, sideFunnyBox_transf[0]);
2733 Double_t upperPlatform_XSize = 2.2;
2734 Double_t upperPlatform_YSize = 3.7;
2735 Double_t upperPlatform_ZSize = 0.2;
2739 upperPlatform_YSize * 0.5, upperPlatform_ZSize * 0.5);
2746 if (upperPlatformV_medium) {
2747 upperPlatformV->
SetMedium(upperPlatformV_medium);
2749 Fatal(
"Main",
"Invalid medium for upperPlatformV!");
2758 upperPlatform_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - upperPlatform_XSize * 0.5 - 0.8 );
2759 upperPlatform_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperPlatform_YSize * 0.5 + 0.2 );
2760 upperPlatform_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperPlatform_ZSize * 0.5);
2762 frames->
AddNode(upperPlatformV, 0, upperPlatform_transf[0]);
2766 Double_t frontLeftLeg_XSize = 0.53;
2772 frontLeftLeg_YSize * 0.5, frontLeftLeg_ZSize * 0.5);
2779 if (frontLeftLegV_medium) {
2780 frontLeftLegV->
SetMedium(frontLeftLegV_medium);
2782 Fatal(
"Main",
"Invalid medium for frontLeftLegV!");
2791 frontLeftLeg_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - frontLeftLeg_XSize * 0.5 - 1.97 );
2792 frontLeftLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontLeftLeg_YSize * 0.5 + 0.4 );
2793 frontLeftLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperPlatform_ZSize
2794 - frontLeftLeg_ZSize * 0.5);
2796 frames->
AddNode(frontLeftLegV, 0, frontLeftLeg_transf[0]);
2800 Double_t frontRightLeg_XSize = 0.55;
2801 Double_t frontRightLeg_YSize = 2.5;
2802 Double_t frontRightLeg_ZSize = 6.4;
2806 frontRightLeg_YSize * 0.5, frontRightLeg_ZSize * 0.5);
2813 if (frontRightLegV_medium) {
2814 frontRightLegV->
SetMedium(frontRightLegV_medium);
2816 Fatal(
"Main",
"Invalid medium for frontRightLegV!");
2825 frontRightLeg_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontRightLeg_XSize * 0.5 - 1.82 );
2826 frontRightLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontRightLeg_YSize * 0.5 + 0.4 );
2827 frontRightLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - smallSidePlate_ZSize
2828 - frontRightLeg_ZSize * 0.5);
2830 frames->
AddNode(frontRightLegV, 0, frontRightLeg_transf[0]);
2834 Double_t frontCenterLowLeg_XSize = 1.3;
2835 Double_t frontCenterLowLeg_YSize = 0.54;
2836 Double_t frontCenterLowLeg_ZSize = 6.875;
2838 Double_t frontCenterUpLeg_XSize = 0.75;
2839 Double_t frontCenterUpLeg_YSize = 1.9;
2840 Double_t frontCenterUpLeg_ZSize = 6.875;
2844 frontCenterLowLeg_YSize * 0.5, frontCenterLowLeg_ZSize * 0.5);
2847 frontCenterUpLeg_YSize * 0.5, frontCenterUpLeg_ZSize * 0.5);
2856 if (frontCenterLeg_medium) {
2857 frontCenterLowLegV->
SetMedium(frontCenterLeg_medium);
2858 frontCenterUpLegV->
SetMedium(frontCenterLeg_medium);
2860 Fatal(
"Main",
"Invalid medium for frontCenterLeg!");
2871 frontCenterLowLeg_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontCenterLowLeg_XSize * 0.5
2873 frontCenterLowLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontCenterLowLeg_YSize * 0.5
2875 frontCenterLowLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontCenterLowLeg_ZSize * 0.5);
2880 frontCenterUpLeg_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontCenterUpLeg_XSize * 0.5 - 36.1 );
2881 frontCenterUpLeg_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + frontCenterUpLeg_YSize * 0.5
2882 + frontCenterLowLeg_YSize + 0.46 );
2883 frontCenterUpLeg_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontCenterUpLeg_ZSize * 0.5);
2885 frames->
AddNode(frontCenterLowLegV, 0, frontCenterLowLeg_transf[0]);
2886 frames->
AddNode(frontCenterUpLegV, 0, frontCenterUpLeg_transf[0]);
2890 Double_t upperRightPlank_XSize = 34.49;
2891 Double_t upperRightPlank_YSize = 0.6;
2892 Double_t upperRightPlank_ZSize = 1.2;
2894 Double_t upperLeftPlank_XSize = 33.73;
2895 Double_t upperLeftPlank_YSize = 0.6;
2896 Double_t upperLeftPlank_ZSize = 1.2;
2900 upperRightPlank_YSize * 0.5, upperRightPlank_ZSize * 0.5);
2903 upperLeftPlank_YSize * 0.5, upperLeftPlank_ZSize * 0.5);
2912 if (upperPlank_medium) {
2913 upperRightPlankV->
SetMedium(upperPlank_medium);
2914 upperLeftPlankV->
SetMedium(upperPlank_medium);
2916 Fatal(
"Main",
"Invalid medium for upperPlankV!");
2927 upperRightPlank_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperRightPlank_XSize * 0.5 - 36.88 );
2928 upperRightPlank_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperRightPlank_YSize * 0.5 + 2.291 );
2929 upperRightPlank_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperRightPlank_ZSize * 0.5
2935 upperLeftPlank_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - upperLeftPlank_XSize * 0.5 - 2.37 );
2936 upperLeftPlank_transf[0]->
SetDy(frontFiberGlassCover_YSize * 0.5 + upperLeftPlank_YSize * 0.5 + 2.291 );
2937 upperLeftPlank_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - upperLeftPlank_ZSize * 0.5
2940 frames->
AddNode(upperRightPlankV, 0, upperRightPlank_transf[0]);
2941 frames->
AddNode(upperLeftPlankV, 0, upperLeftPlank_transf[0]);
2945 Double_t sideChannelBar_XSize = 1.5;
2946 Double_t sideChannelBar_YSize = 40.0;
2947 Double_t sideChannelBar_ZSize = 0.38;
2951 sideChannelBar_YSize * 0.5, sideChannelBar_ZSize * 0.5);
2958 if (sideChannelBarV_medium) {
2959 sideChannelBarV->
SetMedium(sideChannelBarV_medium);
2961 Fatal(
"Main",
"Invalid medium for sideChannelBarV!");
2970 sideChannelBar_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - sideChannelBar_XSize * 0.5 + 2.0 );
2971 sideChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + sideChannelBar_YSize * 0.5 + 1.05 );
2972 sideChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - sideChannelBar_ZSize * 0.5
2975 frames->
AddNode(sideChannelBarV, 0, sideChannelBar_transf[0]);
2979 Double_t frontFunnyChannelBar_XSize = 2.82;
2980 Double_t frontFunnyChannelBar_YSize = 2.5;
2981 Double_t frontFunnyChannelBar_ZSize = 0.47;
2984 TString(
"frontFunnyChannelBarS") +=
TString(
"_") + frames->
GetName(), frontFunnyChannelBar_XSize * 0.5,
2985 frontFunnyChannelBar_YSize * 0.5, frontFunnyChannelBar_ZSize * 0.5);
2992 if (frontFunnyChannelBarV_medium) {
2993 frontFunnyChannelBarV->
SetMedium(frontFunnyChannelBarV_medium);
2995 Fatal(
"Main",
"Invalid medium for frontFunnyChannelBarV!");
3004 frontFunnyChannelBar_transf[0]->
SetDx(-frontFiberGlassCover_XSize * 0.5 - frontFunnyChannelBar_XSize * 0.5
3006 frontFunnyChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + frontFunnyChannelBar_YSize * 0.5
3008 frontFunnyChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontFunnyChannelBar_ZSize * 0.5
3011 frames->
AddNode(frontFunnyChannelBarV, 0, frontFunnyChannelBar_transf[0]);
3015 Double_t frontRightChannelBar_XSize = 34.23;
3016 Double_t frontRightChannelBar_YSize = 2.5;
3017 Double_t frontRightChannelBar_ZSize = 0.47;
3019 Double_t frontLeftChannelBar_XSize = 33.47;
3020 Double_t frontLeftChannelBar_YSize = 2.5;
3021 Double_t frontLeftChannelBar_ZSize = 0.47;
3024 TString(
"frontRightChannelBarS") +=
TString(
"_") + frames->
GetName(), frontRightChannelBar_XSize * 0.5,
3025 frontRightChannelBar_YSize * 0.5, frontRightChannelBar_ZSize * 0.5);
3028 frontLeftChannelBar_XSize * 0.5, frontLeftChannelBar_YSize * 0.5, frontLeftChannelBar_ZSize * 0.5);
3037 if (frontChannel_medium) {
3038 frontRightChannelBarV->
SetMedium(frontChannel_medium);
3039 frontLeftChannelBarV->
SetMedium(frontChannel_medium);
3041 Fatal(
"Main",
"Invalid medium for frontChannelBarV!");
3052 frontRightChannelBar_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontRightChannelBar_XSize * 0.5
3054 frontRightChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + frontRightChannelBar_YSize * 0.5
3056 frontRightChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontRightChannelBar_ZSize * 0.5
3062 frontLeftChannelBar_transf[0]->
SetDx(frontFiberGlassCover_XSize * 0.5 - frontLeftChannelBar_XSize * 0.5
3064 frontLeftChannelBar_transf[0]->
SetDy(-frontFiberGlassCover_YSize * 0.5 + frontLeftChannelBar_YSize * 0.5
3066 frontLeftChannelBar_transf[0]->
SetDz(centerFiberGlassFrameSidePart_ZSize * 0.5 - frontLeftChannelBar_ZSize * 0.5
3069 frames->
AddNode(frontRightChannelBarV, 0, frontRightChannelBar_transf[0]);
3070 frames->
AddNode(frontLeftChannelBarV, 0, frontLeftChannelBar_transf[0]);
3128 Double_t layerFront_XShift = -0.375;
3133 Double_t layerBack_XShift = -0.445;
3137 Double_t copperLayer_ZSize = 0.00655;
3138 Double_t copperLayerHole_Radius = 6.0;
3143 layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
3146 layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
3150 copperLayer_ZSize * 0.5 + 0.01);
3152 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
3155 copperLayerFrontHole_pos->
SetName(
"copperLayerFrontHole_pos");
3158 copperLayerFrontHole_pos->
SetDz(0.0);
3162 copperLayerBackHole_pos->
SetName(
"copperLayerBackHole_pos");
3165 copperLayerBackHole_pos->
SetDz(0.0);
3171 TString expression =
"copperLayerFrontBlankS";
3173 expression +=
"-copperLayerFrontHoleS";
3175 expression +=
":copperLayerFrontHole_pos";
3177 copperLayerFrontS->
MakeNode(expression);
3184 TString expression =
"copperLayerBackBlankS";
3186 expression +=
"-copperLayerBackHoleS";
3188 expression +=
":copperLayerBackHole_pos";
3190 copperLayerBackS->
MakeNode(expression);
3201 if (copperLayerV_medium) {
3202 copperLayerFrontV->
SetMedium(copperLayerV_medium);
3203 copperLayerBackV->
SetMedium(copperLayerV_medium);
3205 Fatal(
"Main",
"Invalid medium for copperLayerV!");
3216 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3217 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3223 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3224 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3227 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
3228 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
3233 Double_t glueLayerHole_Radius = 6.0;
3238 layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
3240 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
3243 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
3245 glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
3248 glueLayerFrontHole_pos->
SetName(
"glueLayerFrontHole_pos");
3251 glueLayerFrontHole_pos->
SetDz(0.0);
3255 glueLayerBackHole_pos->
SetName(
"glueLayerBackHole_pos");
3258 glueLayerBackHole_pos->
SetDz(0.0);
3264 TString expression =
"glueLayerFrontBlankS";
3266 expression +=
"-glueLayerFrontHoleS";
3268 expression +=
":glueLayerFrontHole_pos";
3270 glueLayerFrontS->
MakeNode(expression);
3277 TString expression =
"glueLayerBackBlankS";
3279 expression +=
"-glueLayerBackHoleS";
3281 expression +=
":glueLayerBackHole_pos";
3283 glueLayerBackS->
MakeNode(expression);
3294 if (glueLayerV_medium) {
3295 glueLayerFrontV->
SetMedium(glueLayerV_medium);
3296 glueLayerBackV->
SetMedium(glueLayerV_medium);
3298 Fatal(
"Main",
"Invalid medium for glueLayerV!");
3309 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3310 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3316 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3317 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3320 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
3321 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
3325 Double_t epoxideLayer_ZSize = 0.105;
3326 Double_t epoxideLayerHole_Radius = 6.0;
3331 layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
3334 layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
3338 epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
3341 epoxideLayer_ZSize * 0.5 + 0.01);
3344 epoxideLayerFrontHole_pos->
SetName(
"epoxideLayerFrontHole_pos");
3347 epoxideLayerFrontHole_pos->
SetDz(0.0);
3351 epoxideLayerBackHole_pos->
SetName(
"epoxideLayerBackHole_pos");
3354 epoxideLayerBackHole_pos->
SetDz(0.0);
3360 TString expression =
"epoxideLayerFrontBlankS";
3362 expression +=
"-epoxideLayerFrontHoleS";
3364 expression +=
":epoxideLayerFrontHole_pos";
3366 epoxideLayerFrontS->
MakeNode(expression);
3373 TString expression =
"epoxideLayerBackBlankS";
3375 expression +=
"-epoxideLayerBackHoleS";
3377 expression +=
":epoxideLayerBackHole_pos";
3379 epoxideLayerBackS->
MakeNode(expression);
3390 if (epoxideLayerV_medium) {
3391 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
3392 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
3394 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
3405 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3406 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3408 + epoxideLayer_ZSize * 0.5);
3413 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3414 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3416 - epoxideLayer_ZSize * 0.5);
3418 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
3419 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
3423 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
3424 Double_t honeycombLayerHole_Radius = 6.0;
3429 layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
3432 layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
3436 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
3439 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
3442 honeycombLayerFrontHole_pos->
SetName(
"honeycombLayerFrontHole_pos");
3445 honeycombLayerFrontHole_pos->
SetDz(0.0);
3449 honeycombLayerBackHole_pos->
SetName(
"honeycombLayerBackHole_pos");
3452 honeycombLayerBackHole_pos->
SetDz(0.0);
3458 TString expression =
"honeycombLayerFrontBlankS";
3460 expression +=
"-honeycombLayerFrontHoleS";
3462 expression +=
":honeycombLayerFrontHole_pos";
3464 honeycombLayerFrontS->
MakeNode(expression);
3471 TString expression =
"honeycombLayerBackBlankS";
3473 expression +=
"-honeycombLayerBackHoleS";
3475 expression +=
":honeycombLayerBackHole_pos";
3477 honeycombLayerBackS->
MakeNode(expression);
3488 if (honeycombLayerV_medium) {
3489 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
3490 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
3492 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
3503 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3504 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3506 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
3511 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3512 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3514 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
3516 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
3517 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
3521 Double_t polyamideLayer_ZSize = 0.0125;
3522 Double_t polyamideLayerHole_Radius = 6.0;
3527 layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
3530 layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
3534 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
3537 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
3540 polyamideLayerFrontHole_pos->
SetName(
"polyamideLayerFrontHole_pos");
3543 polyamideLayerFrontHole_pos->
SetDz(0.0);
3547 polyamideLayerBackHole_pos->
SetName(
"polyamideLayerBackHole_pos");
3550 polyamideLayerBackHole_pos->
SetDz(0.0);
3556 TString expression =
"polyamideLayerFrontBlankS";
3558 expression +=
"-polyamideLayerFrontHoleS";
3560 expression +=
":polyamideLayerFrontHole_pos";
3562 polyamideLayerFrontS->
MakeNode(expression);
3569 TString expression =
"polyamideLayerBackBlankS";
3571 expression +=
"-polyamideLayerBackHoleS";
3573 expression +=
":polyamideLayerBackHole_pos";
3575 polyamideLayerBackS->
MakeNode(expression);
3586 if (polyamideLayerV_medium) {
3587 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
3588 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
3590 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
3601 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3602 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3604 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
3609 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3610 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3612 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
3614 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
3615 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
3691 Double_t backLowerEpoxideFrame_XSize = 161.42;
3692 Double_t backLowerEpoxideFrame_YSize = 2.2;
3693 Double_t backLowerEpoxideFrame_ZSize = 1.6;
3695 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
3696 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
3697 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
3701 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
3702 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
3704 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
3705 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3708 backLowerEpoxideFrameHalf_pos1->
SetName(
"backLowerEpoxideFrameHalf1_pos1");
3709 backLowerEpoxideFrameHalf_pos1->
SetDx(
3710 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3711 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3712 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3716 backLowerEpoxideFrameHalf_pos2->
SetName(
"backLowerEpoxideFrameHalf1_pos2");
3717 backLowerEpoxideFrameHalf_pos2->
SetDx(
3718 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3719 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3720 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3724 backLowerEpoxideFrameArch_pos->
SetName(
"backLowerEpoxideFrameArch_pos");
3725 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
3726 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
3727 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
3733 TString expression =
"backLowerEpoxideFrameHalfS";
3735 expression +=
":backLowerEpoxideFrameHalf1_pos1";
3736 expression +=
"+backLowerEpoxideFrameHalfS";
3738 expression +=
":backLowerEpoxideFrameHalf1_pos2";
3739 expression +=
"+backLowerEpoxideFrameArchS";
3741 expression +=
":backLowerEpoxideFrameArch_pos";
3743 backLowerEpoxideFrameS->
MakeNode(expression);
3752 if (backLowerEpoxideFrameV_medium) {
3753 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
3755 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
3764 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3768 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
3772 Double_t frontLowerEpoxideFrame_XSize = 161.7;
3773 Double_t frontLowerEpoxideFrame_YSize = 2.2;
3774 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
3776 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
3777 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
3778 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
3780 TGeoShape* frontLowerEpoxideFrameHalfS =
3782 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
3783 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
3785 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
3786 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3789 frontLowerEpoxideFrameHalf_pos1->
SetName(
"frontLowerEpoxideFrameHalf1_pos1");
3790 frontLowerEpoxideFrameHalf_pos1->
SetDx(
3791 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3792 + frontLowerEpoxideFrameArch_Rmin));
3793 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3794 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3798 frontLowerEpoxideFrameHalf_pos2->
SetName(
"frontLowerEpoxideFrameHalf1_pos2");
3799 frontLowerEpoxideFrameHalf_pos2->
SetDx(
3800 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3801 + frontLowerEpoxideFrameArch_Rmin));
3802 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3803 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3807 frontLowerEpoxideFrameArch_pos->
SetName(
"frontLowerEpoxideFrameArch_pos");
3808 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
3809 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
3810 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
3816 TString expression =
"frontLowerEpoxideFrameHalfS";
3818 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
3819 expression +=
"+frontLowerEpoxideFrameHalfS";
3821 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
3822 expression +=
"+frontLowerEpoxideFrameArchS";
3824 expression +=
":frontLowerEpoxideFrameArch_pos";
3826 frontLowerEpoxideFrameS->
MakeNode(expression);
3835 if (frontLowerEpoxideFrameV_medium) {
3836 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
3838 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
3847 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3851 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
3855 Double_t backSideEpoxideFramePart_XSize = 9.2;
3856 Double_t backSideEpoxideFramePart_YSize = 52.6;
3857 Double_t backSideEpoxideFramePart_ZSize = 1.6;
3859 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
3862 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
3863 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
3866 backSideEpoxideFramePart_pos1->
SetName(
"backSideEpoxideFramePart_pos1");
3867 backSideEpoxideFramePart_pos1->
SetDx(
3868 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3869 backSideEpoxideFramePart_pos1->
SetDy(0.0);
3870 backSideEpoxideFramePart_pos1->
SetDz(0.0);
3874 backSideEpoxideFramePart_pos2->
SetName(
"backSideEpoxideFramePart_pos2");
3875 backSideEpoxideFramePart_pos2->
SetDx(
3876 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3877 backSideEpoxideFramePart_pos2->
SetDy(0.0);
3878 backSideEpoxideFramePart_pos2->
SetDz(0.0);
3884 TString expression =
"backSideEpoxideFramePartS";
3886 expression +=
":backSideEpoxideFramePart_pos1";
3887 expression +=
"+backSideEpoxideFramePartS";
3889 expression +=
":backSideEpoxideFramePart_pos2";
3891 backSideEpoxideFrameS->
MakeNode(expression);
3900 if (backSideEpoxideFrameV_medium) {
3901 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
3903 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
3912 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
3914 - frontLowerEpoxideFrame_YSize + 0.2 );
3917 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
3921 Double_t backUpperEpoxideFrame_XSize = 161.42;
3922 Double_t backUpperEpoxideFrame_YSize = 6.2;
3923 Double_t backUpperEpoxideFrame_ZSize = 1.6;
3926 new TGeoBBox(
"backUpperEpoxideFrameS", backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5,
3927 backUpperEpoxideFrame_ZSize * 0.5);
3934 if (backUpperEpoxideFrameV_medium) {
3935 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
3937 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
3946 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3951 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
3955 Double_t frontSideEpoxideFramePart_XSize = 3.5;
3956 Double_t frontSideEpoxideFramePart_YSize = 49.9;
3957 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
3959 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
3963 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
3964 frontSideEpoxideFramePart_ZSize * 0.5);
3967 frontSideEpoxideFramePart_pos1->
SetName(
"frontSideEpoxideFramePart_pos1");
3968 frontSideEpoxideFramePart_pos1->
SetDx(
3969 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3970 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
3971 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
3975 frontSideEpoxideFramePart_pos2->
SetName(
"frontSideEpoxideFramePart_pos2");
3976 frontSideEpoxideFramePart_pos2->
SetDx(
3977 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3978 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
3979 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
3985 TString expression =
"frontSideEpoxideFramePartS";
3987 expression +=
":frontSideEpoxideFramePart_pos1";
3988 expression +=
"+frontSideEpoxideFramePartS";
3990 expression +=
":frontSideEpoxideFramePart_pos2";
3992 frontSideEpoxideFrameS->
MakeNode(expression);
4001 if (frontSideEpoxideFrameV_medium) {
4002 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
4004 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
4013 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
4015 - frontLowerEpoxideFrame_YSize + 0.2 );
4018 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
4022 Double_t frontUpperEpoxideFrame_XSize = 161.7;
4023 Double_t frontUpperEpoxideFrame_YSize = 3.5;
4024 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
4027 new TGeoBBox(
"frontUpperEpoxideFrameS", frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5,
4028 frontUpperEpoxideFrame_ZSize * 0.5);
4035 if (frontUpperEpoxideFrameV_medium) {
4036 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
4038 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
4047 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
4052 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
4056 Double_t alumCableSupportPart_XSize = 3.0;
4057 Double_t alumCableSupportPart_YSize = 41.3;
4058 Double_t alumCableSupportPart_ZSize = 0.2;
4060 Double_t alumCableSupport_XDistBetweenParts = 164.82;
4063 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
4064 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
4067 alumCableSupportPart_pos1->
SetName(
"alumCableSupportPart_pos1");
4068 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
4069 alumCableSupportPart_pos1->
SetDy(0.0);
4070 alumCableSupportPart_pos1->
SetDz(0.0);
4074 alumCableSupportPart_pos2->
SetName(
"alumCableSupportPart_pos2");
4075 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
4076 alumCableSupportPart_pos2->
SetDy(0.0);
4077 alumCableSupportPart_pos2->
SetDz(0.0);
4083 TString expression =
"alumCableSupportPartS";
4085 expression +=
":alumCableSupportPart_pos1";
4086 expression +=
"+alumCableSupportPartS";
4088 expression +=
":alumCableSupportPart_pos2";
4090 alumCableSupportS->
MakeNode(expression);
4099 if (alumCableSupportV_medium) {
4100 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
4102 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
4111 alumCableSupport_transf[0]->
SetDx(0.0);
4113 - frontLowerEpoxideFrame_YSize + 0.2 );
4115 + frontSideEpoxideFramePart_ZSize + 1.0 ));
4117 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
4121 Double_t amplifierUpperBlockPart1_XSize = 161.44;
4122 Double_t amplifierUpperBlockPart1_YSize = 0.6;
4123 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
4125 Double_t amplifierUpperBlockPart2_XSize = 161.16;
4126 Double_t amplifierUpperBlockPart2_YSize = 0.6;
4127 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
4130 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
4131 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
4133 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
4134 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
4137 amplifierUpperBlockPart1_pos->
SetName(
"amplifierUpperBlockPart1_pos");
4138 amplifierUpperBlockPart1_pos->
SetDx(0.0);
4139 amplifierUpperBlockPart1_pos->
SetDy(0.0);
4140 amplifierUpperBlockPart1_pos->
SetDz(0.0);
4144 amplifierUpperBlockPart2_pos->
SetName(
"amplifierUpperBlockPart2_pos");
4145 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
4146 amplifierUpperBlockPart2_pos->
SetDy(
4147 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
4148 amplifierUpperBlockPart2_pos->
SetDz(0.0);
4154 TString expression =
"amplifierUpperBlockPart1S";
4156 expression +=
":amplifierUpperBlockPart1_pos";
4157 expression +=
"+amplifierUpperBlockPart1S";
4159 expression +=
":amplifierUpperBlockPart2_pos";
4161 amplifierUpperBlockS->
MakeNode(expression);
4170 if (amplifierUpperBlockV_medium) {
4171 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
4173 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
4182 amplifierUpperBlock_transf[0]->
SetDx(0.0);
4187 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
4191 Double_t amplifierSideBlockPartBig_XSize = 0.6;
4192 Double_t amplifierSideBlockPartBig_YSize = 33.9;
4193 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
4195 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
4196 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
4197 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
4201 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
4202 amplifierSideBlockPartBig_ZSize * 0.5);
4203 TGeoShape* amplifierSideBlockPartSmallS =
4205 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
4206 amplifierSideBlockPartSmall_ZSize * 0.5);
4209 amplifierSideBlockPartBig_pos->
SetName(
"amplifierSideBlockPartBig_pos");
4210 amplifierSideBlockPartBig_pos->
SetDx(0.0);
4211 amplifierSideBlockPartBig_pos->
SetDy(0.0);
4212 amplifierSideBlockPartBig_pos->
SetDz(0.0);
4216 amplifierSideBlockPartSmall_pos->
SetName(
"amplifierSideBlockPartSmall_pos");
4217 amplifierSideBlockPartSmall_pos->
SetDx(
4218 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
4219 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
4220 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
4226 TString expression =
"amplifierSideBlockPartBigS";
4228 expression +=
":amplifierSideBlockPartBig_pos";
4229 expression +=
"+amplifierSideBlockPartSmallS";
4231 expression +=
":amplifierSideBlockPartSmall_pos";
4233 amplifierSideBlockS->
MakeNode(expression);
4242 if (amplifierSideBlockV_medium) {
4243 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
4245 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
4254 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
4255 amplifierSideBlock_transf[0]->
SetDy(-5.5);
4259 amplifierSideBlock_transf[1]->
RotateY(180.0);
4260 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
4261 amplifierSideBlock_transf[1]->
SetDy(-5.5);
4264 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
4265 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
4273 TGeoShape* upperPcbS =
new TGeoBBox(
"upperPcbS", upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
4279 if (upperPcbV_medium) {
4282 Fatal(
"Main",
"Invalid medium for upperPcbV!");
4291 upperPcb_transf[0]->
SetDx(+0.1 );
4292 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
4294 - frontSideEpoxideFramePart_ZSize);
4296 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
4301 Double_t sidePcbPart_YSize = 35.05;
4305 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
4308 sidePcbPart_pos1->
SetName(
"sidePcbPart_pos1");
4309 sidePcbPart_pos1->
SetDx(0.0);
4310 sidePcbPart_pos1->
SetDy(0.0);
4311 sidePcbPart_pos1->
SetDz(0.0);
4315 sidePcbPart_pos2->
SetName(
"sidePcbPart_pos2");
4316 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
4317 sidePcbPart_pos2->
SetDy(0.0);
4318 sidePcbPart_pos2->
SetDz(0.0);
4324 TString expression =
"sidePcbPartS";
4326 expression +=
":sidePcbPart_pos1";
4327 expression +=
"+sidePcbPartS";
4329 expression +=
":sidePcbPart_pos2";
4339 if (sidePcbV_medium) {
4342 Fatal(
"Main",
"Invalid medium for sidePcbV!");
4351 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
4352 sidePcb_transf[0]->
SetDy(-6.8 );
4354 + frontSideEpoxideFramePart_ZSize + 1.0 ));
4357 sidePcb_transf[1]->
RotateY(180.0);
4358 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
4359 sidePcb_transf[1]->
SetDy(-6.8 );
4361 + frontSideEpoxideFramePart_ZSize + 1.0 ));
4363 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
4364 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
4368 Double_t alumSideSupport_XSize = 4.8;
4369 Double_t alumSideSupport_YSize = 52.6;
4370 Double_t alumSideSupport_ZSize = 0.4;
4372 TGeoShape* alumSideSupportS =
new TGeoBBox(
"alumSideSupportS", alumSideSupport_XSize * 0.5,
4373 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
4380 if (alumSideSupportV_medium) {
4381 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
4383 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
4392 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
4393 alumSideSupport_transf[0]->
SetDy(+1.8);
4397 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
4398 alumSideSupport_transf[1]->
SetDy(+1.8 );
4401 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
4402 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
4411 new TGeoBBox(
"boschShapeS", boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
4417 if (boschShapeV_medium) {
4418 boschShapeV->
SetMedium(boschShapeV_medium);
4420 Fatal(
"Main",
"Invalid medium for boschShapeV!");
4429 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
4430 boschShape_transf[0]->
SetDy(+1.8 );
4434 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
4435 boschShape_transf[1]->
SetDy(+1.8 );
4438 frames->
AddNode(boschShapeV, 0, boschShape_transf[0]);
4439 frames->
AddNode(boschShapeV, 1, boschShape_transf[1]);
4443 Double_t lowerFiberGlassBlock_XSize = 165.1;
4444 Double_t lowerFiberGlassBlock_YSize = 1.75;
4445 Double_t lowerFiberGlassBlock_ZSize = 0.9;
4447 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
4448 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
4449 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
4453 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
4454 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
4456 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
4457 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
4460 lowerFiberGlassBlockHalf_pos1->
SetName(
"lowerFiberGlassBlockHalf_pos1");
4461 lowerFiberGlassBlockHalf_pos1->
SetDx(
4462 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4463 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4464 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
4468 lowerFiberGlassBlockHalf_pos2->
SetName(
"lowerFiberGlassBlockHalf_pos2");
4469 lowerFiberGlassBlockHalf_pos2->
SetDx(
4470 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4471 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4472 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
4476 lowerFiberGlassBlockArch_pos->
SetName(
"lowerFiberGlassBlockArch_pos");
4477 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
4478 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
4479 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
4485 TString expression =
"lowerFiberGlassBlockHalfS";
4487 expression +=
":lowerFiberGlassBlockHalf_pos1";
4488 expression +=
"+lowerFiberGlassBlockHalfS";
4490 expression +=
":lowerFiberGlassBlockHalf_pos2";
4491 expression +=
"+lowerFiberGlassBlockArchS";
4493 expression +=
":lowerFiberGlassBlockArch_pos";
4495 lowerFiberGlassBlockS->
MakeNode(expression);
4504 if (lowerFiberGlassBlockV_medium) {
4505 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
4507 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
4516 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
4518 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
4520 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
4524 Double_t sideFiberGlassBlockPart_XSize = 1.45;
4525 Double_t sideFiberGlassBlockPart_YSize = 49.4;
4526 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
4529 new TGeoBBox(
"sideFiberGlassBlockS", sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5,
4530 sideFiberGlassBlockPart_ZSize * 0.5);
4537 if (sideFiberGlassBlockV_medium) {
4538 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
4540 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
4549 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4550 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
4551 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4554 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4555 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
4556 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
4558 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
4559 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
4563 Double_t upperFiberGlassBlock_XSize = 165.1;
4564 Double_t upperFiberGlassBlock_YSize = 1.45;
4565 Double_t upperFiberGlassBlock_ZSize = 0.89;
4567 TGeoShape* upperFiberGlassBlockS =
new TGeoBBox(
"upperFiberGlassBlockS", upperFiberGlassBlock_XSize * 0.5,
4568 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
4575 if (upperFiberGlassBlockV_medium) {
4576 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
4578 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
4587 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
4588 upperFiberGlassBlock_transf[0]->
SetDy(
4589 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
4590 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4592 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
4596 Double_t upperBrasslayer_XSize = 165.1;
4597 Double_t upperBrasslayer_YSize = 1.45;
4598 Double_t upperBrasslayer_ZSize = 0.005;
4600 Double_t sideBrasslayer_XSize = 1.45;
4601 Double_t sideBrasslayer_YSize = 49.4;
4602 Double_t sideBrasslayer_ZSize = 0.005;
4604 TGeoShape* upperBrasslayerS =
new TGeoBBox(
"upperBrasslayerS", upperBrasslayer_XSize * 0.5,
4605 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
4606 TGeoShape* sideBrasslayerS =
new TGeoBBox(
"sideBrasslayerS", sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5,
4607 sideBrasslayer_ZSize * 0.5);
4616 if (upperBrasslayerV_medium) {
4617 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4618 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4620 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
4631 upperBrasslayer_transf[0]->
SetDx(0.0);
4632 upperBrasslayer_transf[0]->
SetDy(
4633 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
4639 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4640 sideBrasslayer_transf[0]->
SetDy(+0.45 );
4644 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4645 sideBrasslayer_transf[1]->
SetDy(+0.45 );
4648 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
4650 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
4651 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
4655 Double_t upperSteellayer_XSize = 165.1;
4656 Double_t upperSteellayer_YSize = 1.45;
4657 Double_t upperSteellayer_ZSize = 0.005;
4659 Double_t sideSteellayer_XSize = 1.45;
4660 Double_t sideSteellayer_YSize = 49.4;
4661 Double_t sideSteellayer_ZSize = 0.005;
4663 TGeoShape* upperSteellayerS =
new TGeoBBox(
"upperSteellayerS", upperSteellayer_XSize * 0.5,
4664 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
4665 TGeoShape* sideSteellayerS =
new TGeoBBox(
"sideSteellayerS", sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5,
4666 sideSteellayer_ZSize * 0.5);
4675 if (upperSteellayerV_medium) {
4676 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
4677 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
4679 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
4690 upperSteellayer_transf[0]->
SetDx(0.0);
4691 upperSteellayer_transf[0]->
SetDy(
4692 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
4698 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4699 sideSteellayer_transf[0]->
SetDy(+0.45 );
4703 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4704 sideSteellayer_transf[1]->
SetDy(+0.45 );
4707 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
4709 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
4710 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);