885 switch (module_type) {
905 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
919 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
925 Error(
"CreateModule()",
"Incorrect module type selected!!!");
935 sensor_zone_upper_part_bevelS->
SetName(
TString(
"sensor_zone_upper_part_bevelS") +
TString(
"_") + module_name);
949 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
956 +
XModuleSize[module_size] * 0.5 - x_delta_bottom_BP,
958 Double_t y_pos_sensor_zone_bevel[5] = {
965 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
966 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefineSection(0, -
ZModuleSize[module_size] * 0.5);
967 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefineSection(1, +
ZModuleSize[module_size] * 0.5);
977 sensor_zone_lower_part_bevelS->
SetName(
TString(
"sensor_zone_lower_part_bevelS") +
TString(
"_") + module_name);
991 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
998 +
XModuleSize[module_size] * 0.5 - x_delta_bottom_BP,
1000 Double_t y_pos_sensor_zone_bevel[5] = {
1007 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
1008 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefineSection(0, -
ZModuleSize[module_size] * 0.5);
1009 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefineSection(1, +
ZModuleSize[module_size] * 0.5);
1020 TString(
"Sensor_zone_upper_part_rectV") +
TString(
"_") + module_name, sensor_zone_upper_part_rectS);
1024 TString(
"Sensor_zone_upper_part_bevelV") +
TString(
"_") + module_name, sensor_zone_upper_part_bevelS);
1028 TString(
"Sensor_zone_lower_part_rectV") +
TString(
"_") + module_name, sensor_zone_lower_part_rectS);
1032 TString(
"Sensor_zone_lower_part_bevelV") +
TString(
"_") + module_name, sensor_zone_lower_part_bevelS);
1036 if (silicon_medium) {
1038 sensor_zone_upper_part_rectV->
SetMedium(silicon_medium);
1039 sensor_zone_upper_part_bevelV->
SetMedium(silicon_medium);
1040 sensor_zone_lower_part_rectV->
SetMedium(silicon_medium);
1041 sensor_zone_lower_part_bevelV->
SetMedium(silicon_medium);
1043 Fatal(
"Main",
"Invalid medium for modules and sensor zones!");
1053 switch (module_type) {
1061 sensor_zone_upper_part_pos->
SetDy(
1064 sensor_zone_upper_part_pos->
SetDz(0.0);
1070 sensor_zone_lower_part_pos->
SetDy(
1073 sensor_zone_lower_part_pos->
SetDz(0.0);
1075 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
1076 moduleV->
AddNode(sensor_zone_lower_part_rectV, 0, sensor_zone_lower_part_pos);
1087 sensor_zone_upper_part_pos->
SetDz(0.0);
1089 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
1099 sensor_zone_upper_part_pos->
SetDy(
1102 sensor_zone_upper_part_pos->
SetDz(0.0);
1106 sensor_zone_lower_part_bevel_pos->
SetDx(0.0);
1110 sensor_zone_lower_part_bevel_pos->
SetDz(0.0);
1112 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
1113 moduleV->
AddNode(sensor_zone_lower_part_bevelV, 0, sensor_zone_lower_part_bevel_pos);
1121 sensor_zone_upper_part_pos->
SetDx(0);
1122 sensor_zone_upper_part_pos->
SetDy(0);
1123 sensor_zone_upper_part_pos->
SetDz(0.0);
1125 moduleV->
AddNode(sensor_zone_upper_part_bevelV, 0, sensor_zone_upper_part_pos);
1130 Error(
"CreateModule()",
"Incorrect module type selected!!!");
1150 switch (module_type) {
1158 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1159 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1164 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1165 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1170 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1181 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1183 ((
TGeoXtru*)frameS)->DefinePolygon(12, x_pos, y_pos);
1195 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1196 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1201 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1202 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1220 ((
TGeoXtru*)frameS)->DefinePolygon(12, x_pos, y_pos);
1232 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1233 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1238 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1239 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1244 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1256 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1258 ((
TGeoXtru*)frameS)->DefinePolygon(13, x_pos, y_pos);
1270 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1271 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1276 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1277 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1296 ((
TGeoXtru*)frameS)->DefinePolygon(13, x_pos, y_pos);
1302 Error(
"CreateModule()",
"Incorrect module type selected!!!");
1309 TString(
"window_rectS") += module_name, (
XModuleSize[module_size] - innerMargin * 2) * 0.5,
1323 Double_t x_delta_top_BP = innerMargin;
1327 Double_t y_delta_bottom_BP = innerMargin;
1328 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
1339 -
YModuleSize[module_size] * 0.25 + y_delta_top_BP};
1341 ((
TGeoXtru*)window_bevelS)->DefinePolygon(5, x_pos, y_pos);
1348 upper_window_frame_pos->
SetName(
TString(
"upper_window_frame_pos") + module_name);
1349 upper_window_frame_pos->
SetDx(0.0);
1353 upper_window_frame_pos->
SetDz(0.0);
1357 lower_window_frame_pos->
SetName(
TString(
"lower_window_frame_pos") + module_name);
1358 lower_window_frame_pos->
SetDx(0.0);
1362 lower_window_frame_pos->
SetDz(0.0);
1366 window_half_frame_pos->
SetName(
TString(
"window_half_frame_pos") + module_name);
1367 window_half_frame_pos->
SetDx(0.0);
1368 window_half_frame_pos->
SetDy(0.0);
1369 window_half_frame_pos->
SetDz(0.0);
1373 frame_with_windowsS->
SetName(
TString(
"frame_with_windowsS") + module_name);
1375 switch (module_type) {
1378 TString expression =
"(frameS";
1379 expression += module_name;
1380 expression +=
"-window_rectS";
1381 expression += module_name;
1382 expression +=
":upper_window_frame_pos";
1383 expression += module_name;
1384 expression +=
")-window_rectS";
1385 expression += module_name;
1386 expression +=
":lower_window_frame_pos";
1387 expression += module_name;
1388 frame_with_windowsS->
MakeNode(expression);
1394 TString expression =
"(frameS";
1395 expression += module_name;
1396 expression +=
")-window_rectS";
1397 expression += module_name;
1398 expression +=
":window_half_frame_pos";
1399 expression += module_name;
1400 frame_with_windowsS->
MakeNode(expression);
1406 TString expression =
"(frameS";
1407 expression += module_name;
1408 expression +=
"-window_rectS";
1409 expression += module_name;
1410 expression +=
":upper_window_frame_pos";
1411 expression += module_name;
1412 expression +=
")-window_bevelS";
1413 expression += module_name;
1414 expression +=
":lower_window_frame_pos";
1415 expression += module_name;
1416 frame_with_windowsS->
MakeNode(expression);
1422 TString expression =
"(frameS";
1423 expression += module_name;
1424 expression +=
")-window_bevelS";
1425 expression += module_name;
1426 expression +=
":window_half_frame_pos";
1427 expression += module_name;
1428 frame_with_windowsS->
MakeNode(expression);
1434 Error(
"CreateModule()",
"Incorrect module type selected!!!");
1444 if (carbon_medium) {
1447 Fatal(
"Main",
"Invalid medium for frameV!");
1468 Double_t half_plane_shift = z_ref_dist - ((1.37 + half_dist_mods) - 0.61) + (2.68 - (1.37 + half_dist_mods));
1470 cout <<
"standart: z_ref_dist = " << z_ref_dist <<
"\n";
1471 cout <<
"standart: half_plane_shift = " << half_plane_shift <<
"\n";
1475 if (current_station_num == 0)
1476 cut_from_height = 6.0;
1485 Double_t faceShield_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 8.6;
1486 Double_t faceShield_YSize = 14.74 - cut_from_height;
1493 Double_t x_pos[8] = {faceShield_XSize * 0.5,
1494 faceShield_XSize * 0.5,
1495 -faceShield_XSize * 0.5,
1496 -faceShield_XSize * 0.5,
1501 Double_t y_pos[8] = {-faceShield_YSize * 0.5, faceShield_YSize * 0.5, faceShield_YSize * 0.5,
1502 -faceShield_YSize * 0.5, -faceShield_YSize * 0.5, -3.8 + cut_from_height * 0.5,
1503 -3.8 + cut_from_height * 0.5, -faceShield_YSize * 0.5};
1504 ((
TGeoXtru*)faceShieldS)->DefinePolygon(8, x_pos, y_pos);
1505 ((
TGeoXtru*)faceShieldS)->DefineSection(0, -faceShield_ZSize * 0.5);
1506 ((
TGeoXtru*)faceShieldS)->DefineSection(1, +faceShield_ZSize * 0.5);
1513 if (faceShieldV_medium) {
1514 faceShieldV->
SetMedium(faceShieldV_medium);
1516 Fatal(
"Main",
"Invalid medium for faceShieldV!");
1525 faceShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
1526 faceShield_transf[0]->
SetDz(+half_dist_mods - 1.35
1527 - faceShield_ZSize * 0.5 + half_plane_shift);
1530 faceShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
1531 faceShield_transf[1]->
SetDz(+half_dist_mods + 1.35
1532 + faceShield_ZSize * 0.5 + half_plane_shift);
1535 faceShield_transf[2]->
RotateX(180.0);
1536 faceShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
1537 faceShield_transf[2]->
SetDz(+half_dist_mods - 1.35
1538 - faceShield_ZSize * 0.5 );
1541 faceShield_transf[3]->
RotateX(180.0);
1542 faceShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
1543 faceShield_transf[3]->
SetDz(+half_dist_mods + 1.35
1544 + faceShield_ZSize * 0.5 );
1546 frames->
AddNode(faceShieldV, 0, faceShield_transf[0]);
1547 frames->
AddNode(faceShieldV, 1, faceShield_transf[1]);
1548 frames->
AddNode(faceShieldV, 2, faceShield_transf[2]);
1549 frames->
AddNode(faceShieldV, 3, faceShield_transf[3]);
1554 Double_t sideShield_YSize = 15.2 - cut_from_height;
1558 sideShield_XSize * 0.5, sideShield_YSize * 0.5, sideShield_ZSize * 0.5);
1564 if (sideShieldV_medium) {
1565 sideShieldV->
SetMedium(sideShieldV_medium);
1567 Fatal(
"Main",
"Invalid medium for sideShieldV!");
1576 sideShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1577 sideShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
1578 sideShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
1581 sideShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1582 sideShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
1583 sideShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
1586 sideShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1587 sideShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
1588 sideShield_transf[2]->
SetDz(+half_dist_mods);
1591 sideShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1592 sideShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
1593 sideShield_transf[3]->
SetDz(+half_dist_mods);
1595 frames->
AddNode(sideShieldV, 0, sideShield_transf[0]);
1596 frames->
AddNode(sideShieldV, 1, sideShield_transf[1]);
1597 frames->
AddNode(sideShieldV, 2, sideShield_transf[2]);
1598 frames->
AddNode(sideShieldV, 3, sideShield_transf[3]);
1602 Double_t horizShield_XSize = faceShield_XSize * 0.5 - sideShield_XSize - 2.75 ;
1607 horizShield_XSize * 0.5, horizShield_YSize * 0.5, horizShield_ZSize * 0.5);
1613 if (horizShieldV_medium) {
1614 horizShieldV->
SetMedium(horizShieldV_medium);
1616 Fatal(
"Main",
"Invalid medium for horizShieldV!");
1625 horizShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1626 horizShield_transf[0]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
1627 horizShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
1630 horizShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1631 horizShield_transf[1]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
1632 horizShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
1635 horizShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1636 horizShield_transf[2]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
1637 horizShield_transf[2]->
SetDz(+half_dist_mods);
1640 horizShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1641 horizShield_transf[3]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
1642 horizShield_transf[3]->
SetDz(+half_dist_mods);
1644 frames->
AddNode(horizShieldV, 0, horizShield_transf[0]);
1645 frames->
AddNode(horizShieldV, 1, horizShield_transf[1]);
1646 frames->
AddNode(horizShieldV, 2, horizShield_transf[2]);
1647 frames->
AddNode(horizShieldV, 3, horizShield_transf[3]);
1651 Double_t plankShield_XSize = faceShield_XSize;
1656 plankShield_XSize * 0.5, plankShield_YSize * 0.5, plankShield_ZSize * 0.5);
1662 if (plankShieldV_medium) {
1663 plankShieldV->
SetMedium(plankShieldV_medium);
1665 Fatal(
"Main",
"Invalid medium for plankShieldV!");
1674 plankShield_transf[0]->
SetDx(0.0);
1675 plankShield_transf[0]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
1676 plankShield_transf[0]->
SetDz(+half_dist_mods
1677 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
1678 + half_plane_shift);
1681 plankShield_transf[1]->
SetDx(0.0);
1682 plankShield_transf[1]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
1683 plankShield_transf[1]->
SetDz(+half_dist_mods
1684 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
1685 + half_plane_shift);
1688 plankShield_transf[2]->
SetDx(0.0);
1689 plankShield_transf[2]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
1690 plankShield_transf[2]->
SetDz(+half_dist_mods
1691 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
1694 plankShield_transf[3]->
SetDx(0.0);
1695 plankShield_transf[3]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
1696 plankShield_transf[3]->
SetDz(+half_dist_mods
1697 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
1699 frames->
AddNode(plankShieldV, 0, plankShield_transf[0]);
1700 frames->
AddNode(plankShieldV, 1, plankShield_transf[1]);
1701 frames->
AddNode(plankShieldV, 2, plankShield_transf[2]);
1702 frames->
AddNode(plankShieldV, 3, plankShield_transf[3]);
1706 Double_t baseRailMainPart_XSize = faceShield_XSize + 3.4 * 2 ;
1707 Double_t baseRailMainPart_YSize = 5.0;
1708 Double_t baseRailMainPart_ZSize = 0.7;
1710 Double_t baseRailUpperPart_XSize = baseRailMainPart_XSize - 9.0 ;
1711 Double_t baseRailUpperPart_YSize = 1.0;
1712 Double_t baseRailUpperPart_ZSize = 0.3;
1714 Double_t baseRailLowerPart_XSize = baseRailMainPart_XSize - 8.8 ;
1715 Double_t baseRailLowerPart_YSize = 0.7;
1716 Double_t baseRailLowerPart_ZSize = 0.3;
1720 baseRailMainPart_YSize * 0.5, baseRailMainPart_ZSize * 0.5);
1723 baseRailUpperPart_YSize * 0.5, baseRailUpperPart_ZSize * 0.5);
1726 baseRailLowerPart_YSize * 0.5, baseRailLowerPart_ZSize * 0.5);
1730 baseRailMainPart_pos->
SetDx(0.0);
1731 baseRailMainPart_pos->
SetDy(0.0);
1732 baseRailMainPart_pos->
SetDz(0.0);
1737 baseRailUpperPart_pos->
SetDx(0.0);
1738 baseRailUpperPart_pos->
SetDy(+(baseRailMainPart_YSize * 0.5 + baseRailUpperPart_YSize * 0.5));
1739 baseRailUpperPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailUpperPart_ZSize * 0.5);
1744 baseRailLowerPart_pos->
SetDx(0.0);
1745 baseRailLowerPart_pos->
SetDy(-(baseRailMainPart_YSize * 0.5 + baseRailLowerPart_YSize * 0.5));
1746 baseRailLowerPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize * 0.5);
1752 TString expression =
"baseRailMainPartS";
1754 expression +=
":baseRailMainPart_pos";
1756 expression +=
"+baseRailUpperPartS";
1758 expression +=
":baseRailUpperPart_pos";
1760 expression +=
"+baseRailLowerPartS";
1762 expression +=
":baseRailLowerPart_pos";
1772 if (baseRailV_medium) {
1775 Fatal(
"Main",
"Invalid medium for baseRailV!");
1784 baseRail_transf[0]->
RotateY(180.0);
1785 baseRail_transf[0]->
SetDx(0.0);
1786 baseRail_transf[0]->
SetDy(+(14.5 + baseRailMainPart_YSize * 0.5 - cut_from_height));
1787 baseRail_transf[0]->
SetDz(
1789 + (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize)
1790 + half_plane_shift);
1794 baseRail_transf[1]->
RotateX(180.0);
1795 baseRail_transf[1]->
RotateY(180.0);
1796 baseRail_transf[1]->
SetDx(0.0);
1797 baseRail_transf[1]->
SetDy(-(14.5 + baseRailMainPart_YSize * 0.5 - cut_from_height));
1798 baseRail_transf[1]->
SetDz(
1800 - (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize)
1803 frames->
AddNode(baseRailV, 0, baseRail_transf[0]);
1804 frames->
AddNode(baseRailV, 1, baseRail_transf[1]);
1808 Double_t backRailMainPart_XSize = faceShield_XSize + -0.3 * 2 ;
1809 Double_t backRailMainPart_YSize = 3.0;
1810 Double_t backRailMainPart_ZSize = 0.9;
1812 Double_t backRailLowerPart_XSize = backRailMainPart_XSize - 1.4;
1813 Double_t backRailLowerPart_YSize = 0.7;
1814 Double_t backRailLowerPart_ZSize = 0.6;
1816 Double_t backRailSidePart_XSize = 1.2;
1817 Double_t backRailSidePart_YSize = 3.0;
1818 Double_t backRailSidePart_ZSize = 1.62;
1822 backRailMainPart_YSize * 0.5, backRailMainPart_ZSize * 0.5);
1825 backRailLowerPart_YSize * 0.5, backRailLowerPart_ZSize * 0.5);
1828 backRailSidePart_YSize * 0.5, backRailSidePart_ZSize * 0.5);
1832 backRailLowerPart_pos->
SetDx(0.0);
1833 backRailLowerPart_pos->
SetDy(-(backRailMainPart_YSize * 0.5 + backRailLowerPart_YSize * 0.5));
1834 backRailLowerPart_pos->
SetDz(backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize * 0.5);
1839 backRailSidePart1_pos->
SetDx(+(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
1840 backRailSidePart1_pos->
SetDy(0.0);
1841 backRailSidePart1_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
1846 backRailSidePart2_pos->
SetDx(-(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
1847 backRailSidePart2_pos->
SetDy(0.0);
1848 backRailSidePart2_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
1854 TString expression =
"backRailMainPartS";
1856 expression +=
"+backRailLowerPartS";
1858 expression +=
":backRailLowerPart_pos";
1860 expression +=
"+backRailSidePartS";
1862 expression +=
":backRailSidePart1_pos";
1864 expression +=
"+backRailSidePartS";
1866 expression +=
":backRailSidePart2_pos";
1876 if (backRailV_medium) {
1879 Fatal(
"Main",
"Invalid medium for backRailV!");
1888 backRail_transf[0]->
SetDx(0.0);
1889 backRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize * 0.5 - cut_from_height));
1890 backRail_transf[0]->
SetDz(+half_dist_mods
1891 - (1.35 + faceShield_ZSize
1892 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize))
1893 + half_plane_shift);
1896 backRail_transf[1]->
RotateX(180.0);
1897 backRail_transf[1]->
SetDx(0.0);
1898 backRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize * 0.5 - cut_from_height));
1899 backRail_transf[1]->
SetDz(+half_dist_mods
1900 + (1.35 + faceShield_ZSize
1901 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize)));
1903 frames->
AddNode(backRailV, 0, backRail_transf[0]);
1904 frames->
AddNode(backRailV, 1, backRail_transf[1]);
1908 Double_t holdBackRail_XSize = backRailMainPart_XSize;
1916 +0.0 , +0.1 , +holdBackRail_ZSize , +holdBackRail_ZSize , +0.0
1919 -holdBackRail_YSize ,
1920 -holdBackRail_YSize ,
1921 -holdBackRail_YSize * 0.5 ,
1925 ((
TGeoXtru*)holdBackRailS)->DefinePolygon(5, x_pos, y_pos);
1926 ((
TGeoXtru*)holdBackRailS)->DefineSection(0, -holdBackRail_XSize * 0.5);
1927 ((
TGeoXtru*)holdBackRailS)->DefineSection(1, +holdBackRail_XSize * 0.5);
1935 if (holdBackRailV_medium) {
1936 holdBackRailV->
SetMedium(holdBackRailV_medium);
1938 Fatal(
"Main",
"Invalid medium for holdBackRailV!");
1947 holdBackRail_transf[0]->
RotateY(90.0);
1948 holdBackRail_transf[0]->
SetDx(0.0);
1949 holdBackRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize - cut_from_height));
1950 holdBackRail_transf[0]->
SetDz(
1951 +half_dist_mods - (1.35 + faceShield_ZSize + plankShield_ZSize) + half_plane_shift);
1954 holdBackRail_transf[1]->
RotateY(90.0);
1955 holdBackRail_transf[1]->
RotateX(180.0);
1956 holdBackRail_transf[1]->
SetDx(0.0);
1957 holdBackRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize - cut_from_height));
1958 holdBackRail_transf[1]->
SetDz(+half_dist_mods
1959 + (1.35 + faceShield_ZSize + plankShield_ZSize));
1961 frames->
AddNode(holdBackRailV, 0, holdBackRail_transf[0]);
1962 frames->
AddNode(holdBackRailV, 1, holdBackRail_transf[1]);
1966 Double_t backPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 3.95 * 2 ;
1971 backPlane_XSize * 0.5, backPlane_YSize * 0.5, backPlane_ZSize * 0.5);
1977 if (backPlaneV_medium) {
1978 backPlaneV->
SetMedium(backPlaneV_medium);
1980 Fatal(
"Main",
"Invalid medium for backPlaneV!");
1989 backPlane_transf[0]->
SetDx(0.0);
1990 backPlane_transf[0]->
SetDy(+(16.75 + backPlane_YSize * 0.5 - cut_from_height));
1991 backPlane_transf[0]->
SetDz(+half_dist_mods
1992 - (1.35 + faceShield_ZSize + plankShield_ZSize
1993 + holdBackRail_ZSize + backPlane_ZSize * 0.5)
1994 + half_plane_shift);
1997 backPlane_transf[1]->
SetDx(0.0);
1998 backPlane_transf[1]->
SetDy(-(16.75 + backPlane_YSize * 0.5 - cut_from_height));
1999 backPlane_transf[1]->
SetDz(+half_dist_mods
2000 + (1.35 + faceShield_ZSize + plankShield_ZSize
2001 + holdBackRail_ZSize + backPlane_ZSize * 0.5));
2003 frames->
AddNode(backPlaneV, 0, backPlane_transf[0]);
2004 frames->
AddNode(backPlaneV, 1, backPlane_transf[1]);
2008 Double_t frontPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 1.8 * 2 ;
2013 frontPlane_XSize * 0.5, frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
2019 if (frontPlaneV_medium) {
2020 frontPlaneV->
SetMedium(frontPlaneV_medium);
2022 Fatal(
"Main",
"Invalid medium for frontPlaneV!");
2031 frontPlane_transf[0]->
SetDx(0.0);
2032 frontPlane_transf[0]->
SetDy(+(19.7 + frontPlane_YSize * 0.5 - cut_from_height));
2033 frontPlane_transf[0]->
SetDz(
2035 + (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5)
2036 + half_plane_shift);
2039 frontPlane_transf[1]->
SetDx(0.0);
2040 frontPlane_transf[1]->
SetDy(-(19.7 + frontPlane_YSize * 0.5 - cut_from_height));
2041 frontPlane_transf[1]->
SetDz(
2043 - (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5));
2045 frames->
AddNode(frontPlaneV, 0, frontPlane_transf[0]);
2046 frames->
AddNode(frontPlaneV, 1, frontPlane_transf[1]);
2050 Double_t frontPlaneWithWindow_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.0 * 2 ;
2051 Double_t frontPlaneWithWindow_YSize = 18.3;
2052 Double_t frontPlaneWithWindow_ZSize = 0.3;
2054 Double_t frontPlaneWindow_XSize = frontPlaneWithWindow_XSize - 3.0 * 2 ;
2055 Double_t frontPlaneWindow_YSize = 8.6;
2058 TString(
"frontPlaneWithWindowBlankS") +
TString(
"_") + frames->
GetName(), frontPlaneWithWindow_XSize * 0.5,
2059 frontPlaneWithWindow_YSize * 0.5, frontPlaneWithWindow_ZSize * 0.5);
2062 frontPlaneWindow_YSize * 0.5, (frontPlaneWithWindow_ZSize + 0.001) * 0.5);
2066 frontPlaneWindow_pos->
SetDx(0.0);
2067 frontPlaneWindow_pos->
SetDy(-2.85 );
2068 frontPlaneWindow_pos->
SetDz(0.0);
2074 TString expression =
"frontPlaneWithWindowBlankS";
2076 expression +=
"-frontPlaneWindowS";
2078 expression +=
":frontPlaneWindow_pos";
2080 frontPlaneWithWindowS->
MakeNode(expression);
2089 if (frontPlaneWithWindowV_medium) {
2090 frontPlaneWithWindowV->
SetMedium(frontPlaneWithWindowV_medium);
2092 Fatal(
"Main",
"Invalid medium for frontPlaneWithWindowV!");
2101 frontPlaneWithWindow_transf[0]->
SetDx(0.0);
2102 frontPlaneWithWindow_transf[0]->
SetDy(+(19.5 + frontPlaneWithWindow_YSize * 0.5 - cut_from_height));
2103 frontPlaneWithWindow_transf[0]->
SetDz(
2104 +half_dist_mods + (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5)
2105 + half_plane_shift);
2108 frontPlaneWithWindow_transf[1]->
RotateX(180.0);
2109 frontPlaneWithWindow_transf[1]->
SetDx(0.0);
2110 frontPlaneWithWindow_transf[1]->
SetDy(-(19.5 + frontPlaneWithWindow_YSize * 0.5 - cut_from_height));
2111 frontPlaneWithWindow_transf[1]->
SetDz(
2112 +half_dist_mods - (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5));
2114 frames->
AddNode(frontPlaneWithWindowV, 0, frontPlaneWithWindow_transf[0]);
2115 frames->
AddNode(frontPlaneWithWindowV, 1, frontPlaneWithWindow_transf[1]);
2119 Double_t pcb_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.865 ;
2124 frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
2133 Fatal(
"Main",
"Invalid medium for pcbV!");
2142 pcb_transf[0]->
SetDx(0.0);
2143 pcb_transf[0]->
SetDy(+(26.5 + pcb_YSize * 0.5 - cut_from_height));
2144 pcb_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2147 pcb_transf[1]->
SetDx(0.0);
2148 pcb_transf[1]->
SetDy(-(26.5 + pcb_YSize * 0.5 - cut_from_height));
2149 pcb_transf[1]->
SetDz(+half_dist_mods);
2151 frames->
AddNode(pcbV, 0, pcb_transf[0]);
2152 frames->
AddNode(pcbV, 1, pcb_transf[1]);
2156 Double_t upperSideShield_XSize = 4.4;
2157 Double_t upperSideShield_YSize = 12.3;
2158 Double_t upperSideShield_ZSize = 0.8;
2160 Double_t upperSideShieldCut_XSize = 0.9;
2161 Double_t upperSideShieldCut_YSize = 2.4;
2163 Double_t upperSideShieldWindow_XSize = 3.0;
2164 Double_t upperSideShieldWindow_YSize = 7.0;
2170 +upperSideShield_XSize * 0.5 ,
2171 +upperSideShield_XSize * 0.5 ,
2172 -upperSideShield_XSize * 0.5 ,
2173 -upperSideShield_XSize * 0.5 ,
2174 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize ,
2175 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize
2179 -upperSideShield_YSize * 0.5 ,
2180 +upperSideShield_YSize * 0.5 ,
2181 +upperSideShield_YSize * 0.5 ,
2182 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
2183 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
2184 -upperSideShield_YSize * 0.5
2187 ((
TGeoXtru*)upperSideShieldBlankS)->DefinePolygon(6, x_pos, y_pos);
2188 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(0, -upperSideShield_ZSize * 0.5);
2189 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(1, +upperSideShield_ZSize * 0.5);
2193 TString(
"upperSideShieldWindowS") +
TString(
"_") + frames->
GetName(), upperSideShieldWindow_XSize * 0.5,
2194 upperSideShieldWindow_YSize * 0.5, (upperSideShield_ZSize + 0.001) * 0.5);
2198 upperSideShieldWindow_pos->
SetDx(0.0);
2199 upperSideShieldWindow_pos->
SetDy(+1.65 );
2200 upperSideShieldWindow_pos->
SetDz(0.0);
2206 TString expression =
"upperSideShieldBlankS";
2208 expression +=
"-upperSideShieldWindowS";
2210 expression +=
":upperSideShieldWindow_pos";
2212 upperSideShieldWithWindowS->
MakeNode(expression);
2221 if (upperSideShieldV_medium) {
2222 upperSideShieldV->
SetMedium(upperSideShieldV_medium);
2224 Fatal(
"Main",
"Invalid medium for upperSideShieldV!");
2233 upperSideShield_transf[0]->
RotateY(90.0);
2234 upperSideShield_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2235 upperSideShield_transf[0]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2236 upperSideShield_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2239 upperSideShield_transf[1]->
RotateY(90.0);
2240 upperSideShield_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2241 upperSideShield_transf[1]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2242 upperSideShield_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2245 upperSideShield_transf[2]->
RotateY(-90.0);
2247 upperSideShield_transf[2]->
RotateX(180.0);
2248 upperSideShield_transf[2]->
RotateY(180.0);
2249 upperSideShield_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2250 upperSideShield_transf[2]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2251 upperSideShield_transf[2]->
SetDz(+half_dist_mods + 0.65 );
2254 upperSideShield_transf[3]->
RotateY(-90.0);
2256 upperSideShield_transf[3]->
RotateX(180.0);
2257 upperSideShield_transf[3]->
RotateY(180.0);
2258 upperSideShield_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2259 upperSideShield_transf[3]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2260 upperSideShield_transf[3]->
SetDz(+half_dist_mods + 0.65 );
2262 frames->
AddNode(upperSideShieldV, 0, upperSideShield_transf[0]);
2263 frames->
AddNode(upperSideShieldV, 1, upperSideShield_transf[1]);
2264 frames->
AddNode(upperSideShieldV, 2, upperSideShield_transf[2]);
2265 frames->
AddNode(upperSideShieldV, 3, upperSideShield_transf[3]);
2269 Double_t upperSideShieldCover_XSize = 4.4;
2270 Double_t upperSideShieldCover_YSize = 8.5;
2271 Double_t upperSideShieldCover_ZSize = 0.15;
2274 upperSideShieldCover_XSize * 0.5, upperSideShieldCover_YSize * 0.5,
2275 upperSideShieldCover_ZSize * 0.5);
2282 if (upperSideShieldCoverV_medium) {
2283 upperSideShieldCoverV->
SetMedium(upperSideShieldCoverV_medium);
2285 Fatal(
"Main",
"Invalid medium for upperSideShieldCoverV!");
2294 upperSideShieldCover_transf[0]->
RotateY(90.0);
2295 upperSideShieldCover_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2296 upperSideShieldCover_transf[0]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2297 upperSideShieldCover_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2300 upperSideShieldCover_transf[1]->
RotateY(90.0);
2301 upperSideShieldCover_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2302 upperSideShieldCover_transf[1]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2303 upperSideShieldCover_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2306 upperSideShieldCover_transf[2]->
RotateY(90.0);
2307 upperSideShieldCover_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2308 upperSideShieldCover_transf[2]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2309 upperSideShieldCover_transf[2]->
SetDz(+half_dist_mods + 0.65 );
2312 upperSideShieldCover_transf[3]->
RotateY(90.0);
2313 upperSideShieldCover_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2314 upperSideShieldCover_transf[3]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2315 upperSideShieldCover_transf[3]->
SetDz(+half_dist_mods + 0.65 );
2317 frames->
AddNode(upperSideShieldCoverV, 0, upperSideShieldCover_transf[0]);
2318 frames->
AddNode(upperSideShieldCoverV, 1, upperSideShieldCover_transf[1]);
2319 frames->
AddNode(upperSideShieldCoverV, 2, upperSideShieldCover_transf[2]);
2320 frames->
AddNode(upperSideShieldCoverV, 3, upperSideShieldCover_transf[3]);
2338 Double_t half_plane_shift = z_ref_dist - ((1.57 + half_dist_mods) - 0.61) + (2.68 - (1.57 + half_dist_mods));
2340 cout <<
"long: z_ref_dist = " << z_ref_dist <<
"\n";
2341 cout <<
"long: half_plane_shift = " << half_plane_shift <<
"\n";
2348 if (current_station_num == 0)
2349 add_to_height = -3.0;
2360 Double_t faceShield_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 8.6;
2361 Double_t faceShield_YSize = 14.74 + add_to_height;
2367 Double_t x_pos[8] = {faceShield_XSize * 0.5,
2368 faceShield_XSize * 0.5,
2369 -faceShield_XSize * 0.5,
2370 -faceShield_XSize * 0.5,
2375 Double_t y_pos[8] = {-faceShield_YSize * 0.5, faceShield_YSize * 0.5, faceShield_YSize * 0.5,
2376 -faceShield_YSize * 0.5, -faceShield_YSize * 0.5, -3.8 - add_to_height * 0.5,
2377 -3.8 - add_to_height * 0.5, -faceShield_YSize * 0.5};
2378 ((
TGeoXtru*)faceShieldS)->DefinePolygon(8, x_pos, y_pos);
2379 ((
TGeoXtru*)faceShieldS)->DefineSection(0, -faceShield_ZSize * 0.5);
2380 ((
TGeoXtru*)faceShieldS)->DefineSection(1, +faceShield_ZSize * 0.5);
2387 if (faceShieldV_medium) {
2388 faceShieldV->
SetMedium(faceShieldV_medium);
2390 Fatal(
"Main",
"Invalid medium for faceShieldV!");
2399 faceShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
2400 faceShield_transf[0]->
SetDz(+half_dist_mods - 1.35
2401 - faceShield_ZSize * 0.5 + half_plane_shift);
2404 faceShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
2405 faceShield_transf[1]->
SetDz(+half_dist_mods + 1.35
2406 + faceShield_ZSize * 0.5 + half_plane_shift);
2409 faceShield_transf[2]->
RotateX(180.0);
2410 faceShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
2411 faceShield_transf[2]->
SetDz(+half_dist_mods - 1.35
2412 - faceShield_ZSize * 0.5 );
2415 faceShield_transf[3]->
RotateX(180.0);
2416 faceShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
2417 faceShield_transf[3]->
SetDz(+half_dist_mods + 1.35
2418 + faceShield_ZSize * 0.5 );
2420 frames->
AddNode(faceShieldV, 0, faceShield_transf[0]);
2421 frames->
AddNode(faceShieldV, 1, faceShield_transf[1]);
2422 frames->
AddNode(faceShieldV, 2, faceShield_transf[2]);
2423 frames->
AddNode(faceShieldV, 3, faceShield_transf[3]);
2428 Double_t sideShield_YSize = 15.2 + add_to_height;
2432 sideShield_XSize * 0.5, sideShield_YSize * 0.5, sideShield_ZSize * 0.5);
2438 if (sideShieldV_medium) {
2439 sideShieldV->
SetMedium(sideShieldV_medium);
2441 Fatal(
"Main",
"Invalid medium for sideShieldV!");
2450 sideShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2451 sideShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
2452 sideShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2455 sideShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2456 sideShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
2457 sideShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
2460 sideShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2461 sideShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
2462 sideShield_transf[2]->
SetDz(+half_dist_mods);
2465 sideShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2466 sideShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
2467 sideShield_transf[3]->
SetDz(+half_dist_mods);
2469 frames->
AddNode(sideShieldV, 0, sideShield_transf[0]);
2470 frames->
AddNode(sideShieldV, 1, sideShield_transf[1]);
2471 frames->
AddNode(sideShieldV, 2, sideShield_transf[2]);
2472 frames->
AddNode(sideShieldV, 3, sideShield_transf[3]);
2476 Double_t horizShield_XSize = faceShield_XSize * 0.5 - sideShield_XSize - 2.75 ;
2481 horizShield_XSize * 0.5, horizShield_YSize * 0.5, horizShield_ZSize * 0.5);
2487 if (horizShieldV_medium) {
2488 horizShieldV->
SetMedium(horizShieldV_medium);
2490 Fatal(
"Main",
"Invalid medium for horizShieldV!");
2499 horizShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2500 horizShield_transf[0]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
2501 horizShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2504 horizShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2505 horizShield_transf[1]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
2506 horizShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
2509 horizShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2510 horizShield_transf[2]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
2511 horizShield_transf[2]->
SetDz(+half_dist_mods);
2514 horizShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2515 horizShield_transf[3]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
2516 horizShield_transf[3]->
SetDz(+half_dist_mods);
2518 frames->
AddNode(horizShieldV, 0, horizShield_transf[0]);
2519 frames->
AddNode(horizShieldV, 1, horizShield_transf[1]);
2520 frames->
AddNode(horizShieldV, 2, horizShield_transf[2]);
2521 frames->
AddNode(horizShieldV, 3, horizShield_transf[3]);
2525 Double_t plankShield_XSize = faceShield_XSize;
2530 plankShield_XSize * 0.5, plankShield_YSize * 0.5, plankShield_ZSize * 0.5);
2536 if (plankShieldV_medium) {
2537 plankShieldV->
SetMedium(plankShieldV_medium);
2539 Fatal(
"Main",
"Invalid medium for plankShieldV!");
2548 plankShield_transf[0]->
SetDx(0.0);
2549 plankShield_transf[0]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
2550 plankShield_transf[0]->
SetDz(+half_dist_mods
2551 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
2552 + half_plane_shift);
2555 plankShield_transf[1]->
SetDx(0.0);
2556 plankShield_transf[1]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
2557 plankShield_transf[1]->
SetDz(+half_dist_mods
2558 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
2559 + half_plane_shift);
2562 plankShield_transf[2]->
SetDx(0.0);
2563 plankShield_transf[2]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
2564 plankShield_transf[2]->
SetDz(+half_dist_mods
2565 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
2568 plankShield_transf[3]->
SetDx(0.0);
2569 plankShield_transf[3]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
2570 plankShield_transf[3]->
SetDz(+half_dist_mods
2571 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
2573 frames->
AddNode(plankShieldV, 0, plankShield_transf[0]);
2574 frames->
AddNode(plankShieldV, 1, plankShield_transf[1]);
2575 frames->
AddNode(plankShieldV, 2, plankShield_transf[2]);
2576 frames->
AddNode(plankShieldV, 3, plankShield_transf[3]);
2580 Double_t baseRailMainPart_XSize = faceShield_XSize + 3.4 * 2 ;
2581 Double_t baseRailMainPart_YSize = 5.0;
2582 Double_t baseRailMainPart_ZSize = 0.7;
2584 Double_t baseRailUpperPart_XSize = baseRailMainPart_XSize - 9.0 ;
2585 Double_t baseRailUpperPart_YSize = 1.0;
2586 Double_t baseRailUpperPart_ZSize = 0.3;
2588 Double_t baseRailLowerPart_XSize = baseRailMainPart_XSize - 8.8 ;
2589 Double_t baseRailLowerPart_YSize = 0.7;
2590 Double_t baseRailLowerPart_ZSize = 0.3;
2594 baseRailMainPart_YSize * 0.5, baseRailMainPart_ZSize * 0.5);
2597 baseRailUpperPart_YSize * 0.5, baseRailUpperPart_ZSize * 0.5);
2600 baseRailLowerPart_YSize * 0.5, baseRailLowerPart_ZSize * 0.5);
2604 baseRailMainPart_pos->
SetDx(0.0);
2605 baseRailMainPart_pos->
SetDy(0.0);
2606 baseRailMainPart_pos->
SetDz(0.0);
2611 baseRailUpperPart_pos->
SetDx(0.0);
2612 baseRailUpperPart_pos->
SetDy(+(baseRailMainPart_YSize * 0.5 + baseRailUpperPart_YSize * 0.5));
2613 baseRailUpperPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailUpperPart_ZSize * 0.5);
2618 baseRailLowerPart_pos->
SetDx(0.0);
2619 baseRailLowerPart_pos->
SetDy(-(baseRailMainPart_YSize * 0.5 + baseRailLowerPart_YSize * 0.5));
2620 baseRailLowerPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize * 0.5);
2626 TString expression =
"baseRailMainPartS";
2628 expression +=
":baseRailMainPart_pos";
2630 expression +=
"+baseRailUpperPartS";
2632 expression +=
":baseRailUpperPart_pos";
2634 expression +=
"+baseRailLowerPartS";
2636 expression +=
":baseRailLowerPart_pos";
2646 if (baseRailV_medium) {
2649 Fatal(
"Main",
"Invalid medium for baseRailV!");
2658 baseRail_transf[0]->
RotateY(180.0);
2659 baseRail_transf[0]->
SetDx(0.0);
2660 baseRail_transf[0]->
SetDy(+(14.5 + baseRailMainPart_YSize * 0.5 + add_to_height));
2661 baseRail_transf[0]->
SetDz(
2663 + (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize)
2664 + half_plane_shift);
2668 baseRail_transf[1]->
RotateX(180.0);
2669 baseRail_transf[1]->
RotateY(180.0);
2670 baseRail_transf[1]->
SetDx(0.0);
2671 baseRail_transf[1]->
SetDy(-(14.5 + baseRailMainPart_YSize * 0.5 + add_to_height));
2672 baseRail_transf[1]->
SetDz(+half_dist_mods
2673 - (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5
2674 - baseRailLowerPart_ZSize));
2676 frames->
AddNode(baseRailV, 0, baseRail_transf[0]);
2677 frames->
AddNode(baseRailV, 1, baseRail_transf[1]);
2681 Double_t backRailMainPart_XSize = faceShield_XSize + -0.3 * 2 ;
2682 Double_t backRailMainPart_YSize = 3.0;
2683 Double_t backRailMainPart_ZSize = 0.9;
2685 Double_t backRailLowerPart_XSize = backRailMainPart_XSize - 1.4;
2686 Double_t backRailLowerPart_YSize = 0.7;
2687 Double_t backRailLowerPart_ZSize = 0.6;
2689 Double_t backRailSidePart_XSize = 1.2;
2690 Double_t backRailSidePart_YSize = 3.0;
2691 Double_t backRailSidePart_ZSize = 1.62;
2695 backRailMainPart_YSize * 0.5, backRailMainPart_ZSize * 0.5);
2698 backRailLowerPart_YSize * 0.5, backRailLowerPart_ZSize * 0.5);
2701 backRailSidePart_YSize * 0.5, backRailSidePart_ZSize * 0.5);
2705 backRailLowerPart_pos->
SetDx(0.0);
2706 backRailLowerPart_pos->
SetDy(-(backRailMainPart_YSize * 0.5 + backRailLowerPart_YSize * 0.5));
2707 backRailLowerPart_pos->
SetDz(backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize * 0.5);
2712 backRailSidePart1_pos->
SetDx(+(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
2713 backRailSidePart1_pos->
SetDy(0.0);
2714 backRailSidePart1_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
2719 backRailSidePart2_pos->
SetDx(-(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
2720 backRailSidePart2_pos->
SetDy(0.0);
2721 backRailSidePart2_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
2727 TString expression =
"backRailMainPartS";
2729 expression +=
"+backRailLowerPartS";
2731 expression +=
":backRailLowerPart_pos";
2733 expression +=
"+backRailSidePartS";
2735 expression +=
":backRailSidePart1_pos";
2737 expression +=
"+backRailSidePartS";
2739 expression +=
":backRailSidePart2_pos";
2749 if (backRailV_medium) {
2752 Fatal(
"Main",
"Invalid medium for backRailV!");
2761 backRail_transf[0]->
SetDx(0.0);
2762 backRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize * 0.5 + add_to_height));
2763 backRail_transf[0]->
SetDz(+half_dist_mods
2764 - (1.35 + faceShield_ZSize
2765 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize))
2766 + half_plane_shift);
2769 backRail_transf[1]->
RotateX(180.0);
2770 backRail_transf[1]->
SetDx(0.0);
2771 backRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize * 0.5 + add_to_height));
2772 backRail_transf[1]->
SetDz(+half_dist_mods
2773 + (1.35 + faceShield_ZSize
2774 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize)));
2776 frames->
AddNode(backRailV, 0, backRail_transf[0]);
2777 frames->
AddNode(backRailV, 1, backRail_transf[1]);
2781 Double_t holdBackRail_XSize = backRailMainPart_XSize;
2789 +0.0 , +0.1 , +holdBackRail_ZSize , +holdBackRail_ZSize , +0.0
2792 -holdBackRail_YSize ,
2793 -holdBackRail_YSize ,
2794 -holdBackRail_YSize * 0.5 ,
2798 ((
TGeoXtru*)holdBackRailS)->DefinePolygon(5, x_pos, y_pos);
2799 ((
TGeoXtru*)holdBackRailS)->DefineSection(0, -holdBackRail_XSize * 0.5);
2800 ((
TGeoXtru*)holdBackRailS)->DefineSection(1, +holdBackRail_XSize * 0.5);
2808 if (holdBackRailV_medium) {
2809 holdBackRailV->
SetMedium(holdBackRailV_medium);
2811 Fatal(
"Main",
"Invalid medium for holdBackRailV!");
2820 holdBackRail_transf[0]->
RotateY(90.0);
2821 holdBackRail_transf[0]->
SetDx(0.0);
2822 holdBackRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize + add_to_height));
2823 holdBackRail_transf[0]->
SetDz(
2824 +half_dist_mods - (1.35 + faceShield_ZSize + plankShield_ZSize) + half_plane_shift);
2827 holdBackRail_transf[1]->
RotateY(90.0);
2828 holdBackRail_transf[1]->
RotateX(180.0);
2829 holdBackRail_transf[1]->
SetDx(0.0);
2830 holdBackRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize + add_to_height));
2831 holdBackRail_transf[1]->
SetDz(+half_dist_mods
2832 + (1.35 + faceShield_ZSize + plankShield_ZSize));
2834 frames->
AddNode(holdBackRailV, 0, holdBackRail_transf[0]);
2835 frames->
AddNode(holdBackRailV, 1, holdBackRail_transf[1]);
2839 Double_t backPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 3.95 * 2 ;
2844 backPlane_XSize * 0.5, backPlane_YSize * 0.5, backPlane_ZSize * 0.5);
2850 if (backPlaneV_medium) {
2851 backPlaneV->
SetMedium(backPlaneV_medium);
2853 Fatal(
"Main",
"Invalid medium for backPlaneV!");
2862 backPlane_transf[0]->
SetDx(0.0);
2863 backPlane_transf[0]->
SetDy(+(16.75 + backPlane_YSize * 0.5 + add_to_height));
2864 backPlane_transf[0]->
SetDz(+half_dist_mods
2865 - (1.35 + faceShield_ZSize + plankShield_ZSize
2866 + holdBackRail_ZSize + backPlane_ZSize * 0.5)
2867 + half_plane_shift);
2870 backPlane_transf[1]->
SetDx(0.0);
2871 backPlane_transf[1]->
SetDy(-(16.75 + backPlane_YSize * 0.5 + add_to_height));
2872 backPlane_transf[1]->
SetDz(+half_dist_mods
2873 + (1.35 + faceShield_ZSize + plankShield_ZSize
2874 + holdBackRail_ZSize + backPlane_ZSize * 0.5));
2876 frames->
AddNode(backPlaneV, 0, backPlane_transf[0]);
2877 frames->
AddNode(backPlaneV, 1, backPlane_transf[1]);
2881 Double_t frontPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 1.8 * 2 ;
2886 frontPlane_XSize * 0.5, frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
2892 if (frontPlaneV_medium) {
2893 frontPlaneV->
SetMedium(frontPlaneV_medium);
2895 Fatal(
"Main",
"Invalid medium for frontPlaneV!");
2904 frontPlane_transf[0]->
SetDx(0.0);
2905 frontPlane_transf[0]->
SetDy(+(19.7 + frontPlane_YSize * 0.5 + add_to_height));
2906 frontPlane_transf[0]->
SetDz(
2908 + (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5)
2909 + half_plane_shift);
2912 frontPlane_transf[1]->
SetDx(0.0);
2913 frontPlane_transf[1]->
SetDy(-(19.7 + frontPlane_YSize * 0.5 + add_to_height));
2914 frontPlane_transf[1]->
SetDz(
2916 - (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5));
2918 frames->
AddNode(frontPlaneV, 0, frontPlane_transf[0]);
2919 frames->
AddNode(frontPlaneV, 1, frontPlane_transf[1]);
2923 Double_t frontPlaneWithWindow_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.0 * 2 ;
2924 Double_t frontPlaneWithWindow_YSize = 18.3;
2925 Double_t frontPlaneWithWindow_ZSize = 0.3;
2927 Double_t frontPlaneWindow_XSize = frontPlaneWithWindow_XSize - 3.0 * 2 ;
2928 Double_t frontPlaneWindow_YSize = 8.6;
2931 TString(
"frontPlaneWithWindowBlankS") +
TString(
"_") + frames->
GetName(), frontPlaneWithWindow_XSize * 0.5,
2932 frontPlaneWithWindow_YSize * 0.5, frontPlaneWithWindow_ZSize * 0.5);
2935 frontPlaneWindow_YSize * 0.5, (frontPlaneWithWindow_ZSize + 0.001) * 0.5);
2939 frontPlaneWindow_pos->
SetDx(0.0);
2940 frontPlaneWindow_pos->
SetDy(-2.85 );
2941 frontPlaneWindow_pos->
SetDz(0.0);
2947 TString expression =
"frontPlaneWithWindowBlankS";
2949 expression +=
"-frontPlaneWindowS";
2951 expression +=
":frontPlaneWindow_pos";
2953 frontPlaneWithWindowS->
MakeNode(expression);
2962 if (frontPlaneWithWindowV_medium) {
2963 frontPlaneWithWindowV->
SetMedium(frontPlaneWithWindowV_medium);
2965 Fatal(
"Main",
"Invalid medium for frontPlaneWithWindowV!");
2974 frontPlaneWithWindow_transf[0]->
SetDx(0.0);
2975 frontPlaneWithWindow_transf[0]->
SetDy(+(19.5 + frontPlaneWithWindow_YSize * 0.5 + add_to_height));
2976 frontPlaneWithWindow_transf[0]->
SetDz(
2977 +half_dist_mods + (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5)
2978 + half_plane_shift);
2981 frontPlaneWithWindow_transf[1]->
RotateX(180.0);
2982 frontPlaneWithWindow_transf[1]->
SetDx(0.0);
2983 frontPlaneWithWindow_transf[1]->
SetDy(-(19.5 + frontPlaneWithWindow_YSize * 0.5 + add_to_height));
2984 frontPlaneWithWindow_transf[1]->
SetDz(
2985 +half_dist_mods - (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5));
2987 frames->
AddNode(frontPlaneWithWindowV, 0, frontPlaneWithWindow_transf[0]);
2988 frames->
AddNode(frontPlaneWithWindowV, 1, frontPlaneWithWindow_transf[1]);
2992 Double_t pcb_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.865 ;
2997 frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
3006 Fatal(
"Main",
"Invalid medium for pcbV!");
3015 pcb_transf[0]->
SetDx(0.0);
3016 pcb_transf[0]->
SetDy(+(26.5 + pcb_YSize * 0.5 + add_to_height));
3017 pcb_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
3020 pcb_transf[1]->
SetDx(0.0);
3021 pcb_transf[1]->
SetDy(-(26.5 + pcb_YSize * 0.5 + add_to_height));
3022 pcb_transf[1]->
SetDz(+half_dist_mods);
3024 frames->
AddNode(pcbV, 0, pcb_transf[0]);
3025 frames->
AddNode(pcbV, 1, pcb_transf[1]);
3029 Double_t upperSideShield_XSize = 4.4;
3030 Double_t upperSideShield_YSize = 12.3;
3031 Double_t upperSideShield_ZSize = 0.8;
3033 Double_t upperSideShieldCut_XSize = 0.9;
3034 Double_t upperSideShieldCut_YSize = 2.4;
3036 Double_t upperSideShieldWindow_XSize = 3.0;
3037 Double_t upperSideShieldWindow_YSize = 7.0;
3043 +upperSideShield_XSize * 0.5 ,
3044 +upperSideShield_XSize * 0.5 ,
3045 -upperSideShield_XSize * 0.5 ,
3046 -upperSideShield_XSize * 0.5 ,
3047 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize ,
3048 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize
3052 -upperSideShield_YSize * 0.5 ,
3053 +upperSideShield_YSize * 0.5 ,
3054 +upperSideShield_YSize * 0.5 ,
3055 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
3056 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
3057 -upperSideShield_YSize * 0.5
3060 ((
TGeoXtru*)upperSideShieldBlankS)->DefinePolygon(6, x_pos, y_pos);
3061 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(0, -upperSideShield_ZSize * 0.5);
3062 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(1, +upperSideShield_ZSize * 0.5);
3066 TString(
"upperSideShieldWindowS") +
TString(
"_") + frames->
GetName(), upperSideShieldWindow_XSize * 0.5,
3067 upperSideShieldWindow_YSize * 0.5, (upperSideShield_ZSize + 0.001) * 0.5);
3071 upperSideShieldWindow_pos->
SetDx(0.0);
3072 upperSideShieldWindow_pos->
SetDy(+1.65 );
3073 upperSideShieldWindow_pos->
SetDz(0.0);
3079 TString expression =
"upperSideShieldBlankS";
3081 expression +=
"-upperSideShieldWindowS";
3083 expression +=
":upperSideShieldWindow_pos";
3085 upperSideShieldWithWindowS->
MakeNode(expression);
3094 if (upperSideShieldV_medium) {
3095 upperSideShieldV->
SetMedium(upperSideShieldV_medium);
3097 Fatal(
"Main",
"Invalid medium for upperSideShieldV!");
3106 upperSideShield_transf[0]->
RotateY(90.0);
3107 upperSideShield_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
3108 upperSideShield_transf[0]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
3109 upperSideShield_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3112 upperSideShield_transf[1]->
RotateY(90.0);
3113 upperSideShield_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
3114 upperSideShield_transf[1]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
3115 upperSideShield_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3118 upperSideShield_transf[2]->
RotateY(-90.0);
3120 upperSideShield_transf[2]->
RotateX(180.0);
3121 upperSideShield_transf[2]->
RotateY(180.0);
3122 upperSideShield_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
3123 upperSideShield_transf[2]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
3124 upperSideShield_transf[2]->
SetDz(+half_dist_mods + 0.65 );
3127 upperSideShield_transf[3]->
RotateY(-90.0);
3129 upperSideShield_transf[3]->
RotateX(180.0);
3130 upperSideShield_transf[3]->
RotateY(180.0);
3131 upperSideShield_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
3132 upperSideShield_transf[3]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
3133 upperSideShield_transf[3]->
SetDz(+half_dist_mods + 0.65 );
3135 frames->
AddNode(upperSideShieldV, 0, upperSideShield_transf[0]);
3136 frames->
AddNode(upperSideShieldV, 1, upperSideShield_transf[1]);
3137 frames->
AddNode(upperSideShieldV, 2, upperSideShield_transf[2]);
3138 frames->
AddNode(upperSideShieldV, 3, upperSideShield_transf[3]);
3142 Double_t upperSideShieldCover_XSize = 4.4;
3143 Double_t upperSideShieldCover_YSize = 8.5;
3144 Double_t upperSideShieldCover_ZSize = 0.15;
3147 upperSideShieldCover_XSize * 0.5, upperSideShieldCover_YSize * 0.5,
3148 upperSideShieldCover_ZSize * 0.5);
3155 if (upperSideShieldCoverV_medium) {
3156 upperSideShieldCoverV->
SetMedium(upperSideShieldCoverV_medium);
3158 Fatal(
"Main",
"Invalid medium for upperSideShieldCoverV!");
3167 upperSideShieldCover_transf[0]->
RotateY(90.0);
3168 upperSideShieldCover_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3169 upperSideShieldCover_transf[0]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3170 upperSideShieldCover_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3173 upperSideShieldCover_transf[1]->
RotateY(90.0);
3174 upperSideShieldCover_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3175 upperSideShieldCover_transf[1]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3176 upperSideShieldCover_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3179 upperSideShieldCover_transf[2]->
RotateY(90.0);
3180 upperSideShieldCover_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3181 upperSideShieldCover_transf[2]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3182 upperSideShieldCover_transf[2]->
SetDz(+half_dist_mods + 0.65 );
3185 upperSideShieldCover_transf[3]->
RotateY(90.0);
3186 upperSideShieldCover_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3187 upperSideShieldCover_transf[3]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3188 upperSideShieldCover_transf[3]->
SetDz(+half_dist_mods + 0.65 );
3190 frames->
AddNode(upperSideShieldCoverV, 0, upperSideShieldCover_transf[0]);
3191 frames->
AddNode(upperSideShieldCoverV, 1, upperSideShieldCover_transf[1]);
3192 frames->
AddNode(upperSideShieldCoverV, 2, upperSideShieldCover_transf[2]);
3193 frames->
AddNode(upperSideShieldCoverV, 3, upperSideShieldCover_transf[3]);