768 switch (module_type) {
788 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
802 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
808 Error(
"CreateModule()",
"Incorrect module type selected!!!");
818 sensor_zone_upper_part_bevelS->
SetName(
TString(
"sensor_zone_upper_part_bevelS") +
TString(
"_") + module_name);
832 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
839 +
XModuleSize[module_size] * 0.5 - x_delta_bottom_BP,
841 Double_t y_pos_sensor_zone_bevel[5] = {
848 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
849 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefineSection(0, -
ZModuleSize[module_size] * 0.5);
850 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefineSection(1, +
ZModuleSize[module_size] * 0.5);
860 sensor_zone_lower_part_bevelS->
SetName(
TString(
"sensor_zone_lower_part_bevelS") +
TString(
"_") + module_name);
874 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
881 +
XModuleSize[module_size] * 0.5 - x_delta_bottom_BP,
883 Double_t y_pos_sensor_zone_bevel[5] = {
890 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
891 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefineSection(0, -
ZModuleSize[module_size] * 0.5);
892 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefineSection(1, +
ZModuleSize[module_size] * 0.5);
903 TString(
"Sensor_zone_upper_part_rectV") +
TString(
"_") + module_name, sensor_zone_upper_part_rectS);
907 TString(
"Sensor_zone_upper_part_bevelV") +
TString(
"_") + module_name, sensor_zone_upper_part_bevelS);
911 TString(
"Sensor_zone_lower_part_rectV") +
TString(
"_") + module_name, sensor_zone_lower_part_rectS);
915 TString(
"Sensor_zone_lower_part_bevelV") +
TString(
"_") + module_name, sensor_zone_lower_part_bevelS);
919 if (silicon_medium) {
921 sensor_zone_upper_part_rectV->
SetMedium(silicon_medium);
922 sensor_zone_upper_part_bevelV->
SetMedium(silicon_medium);
923 sensor_zone_lower_part_rectV->
SetMedium(silicon_medium);
924 sensor_zone_lower_part_bevelV->
SetMedium(silicon_medium);
926 Fatal(
"Main",
"Invalid medium for modules and sensor zones!");
936 switch (module_type) {
944 sensor_zone_upper_part_pos->
SetDy(
947 sensor_zone_upper_part_pos->
SetDz(0.0);
953 sensor_zone_lower_part_pos->
SetDy(
956 sensor_zone_lower_part_pos->
SetDz(0.0);
958 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
959 moduleV->
AddNode(sensor_zone_lower_part_rectV, 0, sensor_zone_lower_part_pos);
970 sensor_zone_upper_part_pos->
SetDz(0.0);
972 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
982 sensor_zone_upper_part_pos->
SetDy(
985 sensor_zone_upper_part_pos->
SetDz(0.0);
989 sensor_zone_lower_part_bevel_pos->
SetDx(0.0);
993 sensor_zone_lower_part_bevel_pos->
SetDz(0.0);
995 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
996 moduleV->
AddNode(sensor_zone_lower_part_bevelV, 0, sensor_zone_lower_part_bevel_pos);
1004 sensor_zone_upper_part_pos->
SetDx(0);
1005 sensor_zone_upper_part_pos->
SetDy(0);
1006 sensor_zone_upper_part_pos->
SetDz(0.0);
1008 moduleV->
AddNode(sensor_zone_upper_part_bevelV, 0, sensor_zone_upper_part_pos);
1013 Error(
"CreateModule()",
"Incorrect module type selected!!!");
1033 switch (module_type) {
1041 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1042 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1047 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1048 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1053 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1064 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1066 ((
TGeoXtru*)frameS)->DefinePolygon(12, x_pos, y_pos);
1078 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1079 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1084 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1085 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1103 ((
TGeoXtru*)frameS)->DefinePolygon(12, x_pos, y_pos);
1115 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1116 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1121 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1122 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1127 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1139 -(
YModuleSize[module_size] * 0.5 + bottomMargin) ,
1141 ((
TGeoXtru*)frameS)->DefinePolygon(13, x_pos, y_pos);
1153 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1154 +(
XModuleSize[module_size] * 0.5 + leftMargin + 1.0) ,
1159 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1160 -(
XModuleSize[module_size] * 0.5 + rightMargin + 1.0) ,
1179 ((
TGeoXtru*)frameS)->DefinePolygon(13, x_pos, y_pos);
1185 Error(
"CreateModule()",
"Incorrect module type selected!!!");
1192 TString(
"window_rectS") += module_name, (
XModuleSize[module_size] - innerMargin * 2) * 0.5,
1206 Double_t x_delta_top_BP = innerMargin;
1210 Double_t y_delta_bottom_BP = innerMargin;
1211 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
1222 -
YModuleSize[module_size] * 0.25 + y_delta_top_BP};
1224 ((
TGeoXtru*)window_bevelS)->DefinePolygon(5, x_pos, y_pos);
1231 upper_window_frame_pos->
SetName(
TString(
"upper_window_frame_pos") + module_name);
1232 upper_window_frame_pos->
SetDx(0.0);
1236 upper_window_frame_pos->
SetDz(0.0);
1240 lower_window_frame_pos->
SetName(
TString(
"lower_window_frame_pos") + module_name);
1241 lower_window_frame_pos->
SetDx(0.0);
1245 lower_window_frame_pos->
SetDz(0.0);
1249 window_half_frame_pos->
SetName(
TString(
"window_half_frame_pos") + module_name);
1250 window_half_frame_pos->
SetDx(0.0);
1251 window_half_frame_pos->
SetDy(0.0);
1252 window_half_frame_pos->
SetDz(0.0);
1256 frame_with_windowsS->
SetName(
TString(
"frame_with_windowsS") + module_name);
1258 switch (module_type) {
1261 TString expression =
"(frameS";
1262 expression += module_name;
1263 expression +=
"-window_rectS";
1264 expression += module_name;
1265 expression +=
":upper_window_frame_pos";
1266 expression += module_name;
1267 expression +=
")-window_rectS";
1268 expression += module_name;
1269 expression +=
":lower_window_frame_pos";
1270 expression += module_name;
1271 frame_with_windowsS->
MakeNode(expression);
1277 TString expression =
"(frameS";
1278 expression += module_name;
1279 expression +=
")-window_rectS";
1280 expression += module_name;
1281 expression +=
":window_half_frame_pos";
1282 expression += module_name;
1283 frame_with_windowsS->
MakeNode(expression);
1289 TString expression =
"(frameS";
1290 expression += module_name;
1291 expression +=
"-window_rectS";
1292 expression += module_name;
1293 expression +=
":upper_window_frame_pos";
1294 expression += module_name;
1295 expression +=
")-window_bevelS";
1296 expression += module_name;
1297 expression +=
":lower_window_frame_pos";
1298 expression += module_name;
1299 frame_with_windowsS->
MakeNode(expression);
1305 TString expression =
"(frameS";
1306 expression += module_name;
1307 expression +=
")-window_bevelS";
1308 expression += module_name;
1309 expression +=
":window_half_frame_pos";
1310 expression += module_name;
1311 frame_with_windowsS->
MakeNode(expression);
1317 Error(
"CreateModule()",
"Incorrect module type selected!!!");
1327 if (carbon_medium) {
1330 Fatal(
"Main",
"Invalid medium for frameV!");
1351 Double_t half_plane_shift = z_ref_dist - ((1.37 + half_dist_mods) - 0.61) + (2.68 - (1.37 + half_dist_mods));
1353 cout <<
"standart: z_ref_dist = " << z_ref_dist <<
"\n";
1354 cout <<
"standart: half_plane_shift = " << half_plane_shift <<
"\n";
1358 if (current_station_num == 0)
1359 cut_from_height = 6.0;
1368 Double_t faceShield_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 8.6;
1369 Double_t faceShield_YSize = 14.74 - cut_from_height;
1376 Double_t x_pos[8] = {faceShield_XSize * 0.5,
1377 faceShield_XSize * 0.5,
1378 -faceShield_XSize * 0.5,
1379 -faceShield_XSize * 0.5,
1384 Double_t y_pos[8] = {-faceShield_YSize * 0.5, faceShield_YSize * 0.5, faceShield_YSize * 0.5,
1385 -faceShield_YSize * 0.5, -faceShield_YSize * 0.5, -3.8 + cut_from_height * 0.5,
1386 -3.8 + cut_from_height * 0.5, -faceShield_YSize * 0.5};
1387 ((
TGeoXtru*)faceShieldS)->DefinePolygon(8, x_pos, y_pos);
1388 ((
TGeoXtru*)faceShieldS)->DefineSection(0, -faceShield_ZSize * 0.5);
1389 ((
TGeoXtru*)faceShieldS)->DefineSection(1, +faceShield_ZSize * 0.5);
1396 if (faceShieldV_medium) {
1397 faceShieldV->
SetMedium(faceShieldV_medium);
1399 Fatal(
"Main",
"Invalid medium for faceShieldV!");
1408 faceShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
1409 faceShield_transf[0]->
SetDz(+half_dist_mods - 1.35
1410 - faceShield_ZSize * 0.5 + half_plane_shift);
1413 faceShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
1414 faceShield_transf[1]->
SetDz(+half_dist_mods + 1.35
1415 + faceShield_ZSize * 0.5 + half_plane_shift);
1418 faceShield_transf[2]->
RotateX(180.0);
1419 faceShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
1420 faceShield_transf[2]->
SetDz(+half_dist_mods - 1.35
1421 - faceShield_ZSize * 0.5 );
1424 faceShield_transf[3]->
RotateX(180.0);
1425 faceShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
1426 faceShield_transf[3]->
SetDz(+half_dist_mods + 1.35
1427 + faceShield_ZSize * 0.5 );
1429 frames->
AddNode(faceShieldV, 0, faceShield_transf[0]);
1430 frames->
AddNode(faceShieldV, 1, faceShield_transf[1]);
1431 frames->
AddNode(faceShieldV, 2, faceShield_transf[2]);
1432 frames->
AddNode(faceShieldV, 3, faceShield_transf[3]);
1437 Double_t sideShield_YSize = 15.2 - cut_from_height;
1441 sideShield_XSize * 0.5, sideShield_YSize * 0.5, sideShield_ZSize * 0.5);
1447 if (sideShieldV_medium) {
1448 sideShieldV->
SetMedium(sideShieldV_medium);
1450 Fatal(
"Main",
"Invalid medium for sideShieldV!");
1459 sideShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1460 sideShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
1461 sideShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
1464 sideShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1465 sideShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
1466 sideShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
1469 sideShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1470 sideShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
1471 sideShield_transf[2]->
SetDz(+half_dist_mods);
1474 sideShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
1475 sideShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
1476 sideShield_transf[3]->
SetDz(+half_dist_mods);
1478 frames->
AddNode(sideShieldV, 0, sideShield_transf[0]);
1479 frames->
AddNode(sideShieldV, 1, sideShield_transf[1]);
1480 frames->
AddNode(sideShieldV, 2, sideShield_transf[2]);
1481 frames->
AddNode(sideShieldV, 3, sideShield_transf[3]);
1485 Double_t horizShield_XSize = faceShield_XSize * 0.5 - sideShield_XSize - 2.75 ;
1490 horizShield_XSize * 0.5, horizShield_YSize * 0.5, horizShield_ZSize * 0.5);
1496 if (horizShieldV_medium) {
1497 horizShieldV->
SetMedium(horizShieldV_medium);
1499 Fatal(
"Main",
"Invalid medium for horizShieldV!");
1508 horizShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1509 horizShield_transf[0]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
1510 horizShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
1513 horizShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1514 horizShield_transf[1]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
1515 horizShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
1518 horizShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1519 horizShield_transf[2]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
1520 horizShield_transf[2]->
SetDz(+half_dist_mods);
1523 horizShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
1524 horizShield_transf[3]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
1525 horizShield_transf[3]->
SetDz(+half_dist_mods);
1527 frames->
AddNode(horizShieldV, 0, horizShield_transf[0]);
1528 frames->
AddNode(horizShieldV, 1, horizShield_transf[1]);
1529 frames->
AddNode(horizShieldV, 2, horizShield_transf[2]);
1530 frames->
AddNode(horizShieldV, 3, horizShield_transf[3]);
1534 Double_t plankShield_XSize = faceShield_XSize;
1539 plankShield_XSize * 0.5, plankShield_YSize * 0.5, plankShield_ZSize * 0.5);
1545 if (plankShieldV_medium) {
1546 plankShieldV->
SetMedium(plankShieldV_medium);
1548 Fatal(
"Main",
"Invalid medium for plankShieldV!");
1557 plankShield_transf[0]->
SetDx(0.0);
1558 plankShield_transf[0]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
1559 plankShield_transf[0]->
SetDz(+half_dist_mods
1560 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
1561 + half_plane_shift);
1564 plankShield_transf[1]->
SetDx(0.0);
1565 plankShield_transf[1]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
1566 plankShield_transf[1]->
SetDz(+half_dist_mods
1567 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
1568 + half_plane_shift);
1571 plankShield_transf[2]->
SetDx(0.0);
1572 plankShield_transf[2]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
1573 plankShield_transf[2]->
SetDz(+half_dist_mods
1574 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
1577 plankShield_transf[3]->
SetDx(0.0);
1578 plankShield_transf[3]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
1579 plankShield_transf[3]->
SetDz(+half_dist_mods
1580 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
1582 frames->
AddNode(plankShieldV, 0, plankShield_transf[0]);
1583 frames->
AddNode(plankShieldV, 1, plankShield_transf[1]);
1584 frames->
AddNode(plankShieldV, 2, plankShield_transf[2]);
1585 frames->
AddNode(plankShieldV, 3, plankShield_transf[3]);
1589 Double_t baseRailMainPart_XSize = faceShield_XSize + 3.4 * 2 ;
1590 Double_t baseRailMainPart_YSize = 5.0;
1591 Double_t baseRailMainPart_ZSize = 0.7;
1593 Double_t baseRailUpperPart_XSize = baseRailMainPart_XSize - 9.0 ;
1594 Double_t baseRailUpperPart_YSize = 1.0;
1595 Double_t baseRailUpperPart_ZSize = 0.3;
1597 Double_t baseRailLowerPart_XSize = baseRailMainPart_XSize - 8.8 ;
1598 Double_t baseRailLowerPart_YSize = 0.7;
1599 Double_t baseRailLowerPart_ZSize = 0.3;
1603 baseRailMainPart_YSize * 0.5, baseRailMainPart_ZSize * 0.5);
1606 baseRailUpperPart_YSize * 0.5, baseRailUpperPart_ZSize * 0.5);
1609 baseRailLowerPart_YSize * 0.5, baseRailLowerPart_ZSize * 0.5);
1613 baseRailMainPart_pos->
SetDx(0.0);
1614 baseRailMainPart_pos->
SetDy(0.0);
1615 baseRailMainPart_pos->
SetDz(0.0);
1620 baseRailUpperPart_pos->
SetDx(0.0);
1621 baseRailUpperPart_pos->
SetDy(+(baseRailMainPart_YSize * 0.5 + baseRailUpperPart_YSize * 0.5));
1622 baseRailUpperPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailUpperPart_ZSize * 0.5);
1627 baseRailLowerPart_pos->
SetDx(0.0);
1628 baseRailLowerPart_pos->
SetDy(-(baseRailMainPart_YSize * 0.5 + baseRailLowerPart_YSize * 0.5));
1629 baseRailLowerPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize * 0.5);
1635 TString expression =
"baseRailMainPartS";
1637 expression +=
":baseRailMainPart_pos";
1639 expression +=
"+baseRailUpperPartS";
1641 expression +=
":baseRailUpperPart_pos";
1643 expression +=
"+baseRailLowerPartS";
1645 expression +=
":baseRailLowerPart_pos";
1655 if (baseRailV_medium) {
1658 Fatal(
"Main",
"Invalid medium for baseRailV!");
1667 baseRail_transf[0]->
RotateY(180.0);
1668 baseRail_transf[0]->
SetDx(0.0);
1669 baseRail_transf[0]->
SetDy(+(14.5 + baseRailMainPart_YSize * 0.5 - cut_from_height));
1670 baseRail_transf[0]->
SetDz(
1672 + (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize)
1673 + half_plane_shift);
1677 baseRail_transf[1]->
RotateX(180.0);
1678 baseRail_transf[1]->
RotateY(180.0);
1679 baseRail_transf[1]->
SetDx(0.0);
1680 baseRail_transf[1]->
SetDy(-(14.5 + baseRailMainPart_YSize * 0.5 - cut_from_height));
1681 baseRail_transf[1]->
SetDz(
1683 - (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize)
1686 frames->
AddNode(baseRailV, 0, baseRail_transf[0]);
1687 frames->
AddNode(baseRailV, 1, baseRail_transf[1]);
1691 Double_t backRailMainPart_XSize = faceShield_XSize + -0.3 * 2 ;
1692 Double_t backRailMainPart_YSize = 3.0;
1693 Double_t backRailMainPart_ZSize = 0.9;
1695 Double_t backRailLowerPart_XSize = backRailMainPart_XSize - 1.4;
1696 Double_t backRailLowerPart_YSize = 0.7;
1697 Double_t backRailLowerPart_ZSize = 0.6;
1699 Double_t backRailSidePart_XSize = 1.2;
1700 Double_t backRailSidePart_YSize = 3.0;
1701 Double_t backRailSidePart_ZSize = 1.62;
1705 backRailMainPart_YSize * 0.5, backRailMainPart_ZSize * 0.5);
1708 backRailLowerPart_YSize * 0.5, backRailLowerPart_ZSize * 0.5);
1711 backRailSidePart_YSize * 0.5, backRailSidePart_ZSize * 0.5);
1715 backRailLowerPart_pos->
SetDx(0.0);
1716 backRailLowerPart_pos->
SetDy(-(backRailMainPart_YSize * 0.5 + backRailLowerPart_YSize * 0.5));
1717 backRailLowerPart_pos->
SetDz(backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize * 0.5);
1722 backRailSidePart1_pos->
SetDx(+(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
1723 backRailSidePart1_pos->
SetDy(0.0);
1724 backRailSidePart1_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
1729 backRailSidePart2_pos->
SetDx(-(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
1730 backRailSidePart2_pos->
SetDy(0.0);
1731 backRailSidePart2_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
1737 TString expression =
"backRailMainPartS";
1739 expression +=
"+backRailLowerPartS";
1741 expression +=
":backRailLowerPart_pos";
1743 expression +=
"+backRailSidePartS";
1745 expression +=
":backRailSidePart1_pos";
1747 expression +=
"+backRailSidePartS";
1749 expression +=
":backRailSidePart2_pos";
1759 if (backRailV_medium) {
1762 Fatal(
"Main",
"Invalid medium for backRailV!");
1771 backRail_transf[0]->
SetDx(0.0);
1772 backRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize * 0.5 - cut_from_height));
1773 backRail_transf[0]->
SetDz(+half_dist_mods
1774 - (1.35 + faceShield_ZSize
1775 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize))
1776 + half_plane_shift);
1779 backRail_transf[1]->
RotateX(180.0);
1780 backRail_transf[1]->
SetDx(0.0);
1781 backRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize * 0.5 - cut_from_height));
1782 backRail_transf[1]->
SetDz(+half_dist_mods
1783 + (1.35 + faceShield_ZSize
1784 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize)));
1786 frames->
AddNode(backRailV, 0, backRail_transf[0]);
1787 frames->
AddNode(backRailV, 1, backRail_transf[1]);
1791 Double_t holdBackRail_XSize = backRailMainPart_XSize;
1799 +0.0 , +0.1 , +holdBackRail_ZSize , +holdBackRail_ZSize , +0.0
1802 -holdBackRail_YSize ,
1803 -holdBackRail_YSize ,
1804 -holdBackRail_YSize * 0.5 ,
1808 ((
TGeoXtru*)holdBackRailS)->DefinePolygon(5, x_pos, y_pos);
1809 ((
TGeoXtru*)holdBackRailS)->DefineSection(0, -holdBackRail_XSize * 0.5);
1810 ((
TGeoXtru*)holdBackRailS)->DefineSection(1, +holdBackRail_XSize * 0.5);
1818 if (holdBackRailV_medium) {
1819 holdBackRailV->
SetMedium(holdBackRailV_medium);
1821 Fatal(
"Main",
"Invalid medium for holdBackRailV!");
1830 holdBackRail_transf[0]->
RotateY(90.0);
1831 holdBackRail_transf[0]->
SetDx(0.0);
1832 holdBackRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize - cut_from_height));
1833 holdBackRail_transf[0]->
SetDz(
1834 +half_dist_mods - (1.35 + faceShield_ZSize + plankShield_ZSize) + half_plane_shift);
1837 holdBackRail_transf[1]->
RotateY(90.0);
1838 holdBackRail_transf[1]->
RotateX(180.0);
1839 holdBackRail_transf[1]->
SetDx(0.0);
1840 holdBackRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize - cut_from_height));
1841 holdBackRail_transf[1]->
SetDz(+half_dist_mods
1842 + (1.35 + faceShield_ZSize + plankShield_ZSize));
1844 frames->
AddNode(holdBackRailV, 0, holdBackRail_transf[0]);
1845 frames->
AddNode(holdBackRailV, 1, holdBackRail_transf[1]);
1849 Double_t backPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 3.95 * 2 ;
1854 backPlane_XSize * 0.5, backPlane_YSize * 0.5, backPlane_ZSize * 0.5);
1860 if (backPlaneV_medium) {
1861 backPlaneV->
SetMedium(backPlaneV_medium);
1863 Fatal(
"Main",
"Invalid medium for backPlaneV!");
1872 backPlane_transf[0]->
SetDx(0.0);
1873 backPlane_transf[0]->
SetDy(+(16.75 + backPlane_YSize * 0.5 - cut_from_height));
1874 backPlane_transf[0]->
SetDz(+half_dist_mods
1875 - (1.35 + faceShield_ZSize + plankShield_ZSize
1876 + holdBackRail_ZSize + backPlane_ZSize * 0.5)
1877 + half_plane_shift);
1880 backPlane_transf[1]->
SetDx(0.0);
1881 backPlane_transf[1]->
SetDy(-(16.75 + backPlane_YSize * 0.5 - cut_from_height));
1882 backPlane_transf[1]->
SetDz(+half_dist_mods
1883 + (1.35 + faceShield_ZSize + plankShield_ZSize
1884 + holdBackRail_ZSize + backPlane_ZSize * 0.5));
1886 frames->
AddNode(backPlaneV, 0, backPlane_transf[0]);
1887 frames->
AddNode(backPlaneV, 1, backPlane_transf[1]);
1891 Double_t frontPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 1.8 * 2 ;
1896 frontPlane_XSize * 0.5, frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
1902 if (frontPlaneV_medium) {
1903 frontPlaneV->
SetMedium(frontPlaneV_medium);
1905 Fatal(
"Main",
"Invalid medium for frontPlaneV!");
1914 frontPlane_transf[0]->
SetDx(0.0);
1915 frontPlane_transf[0]->
SetDy(+(19.7 + frontPlane_YSize * 0.5 - cut_from_height));
1916 frontPlane_transf[0]->
SetDz(
1918 + (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5)
1919 + half_plane_shift);
1922 frontPlane_transf[1]->
SetDx(0.0);
1923 frontPlane_transf[1]->
SetDy(-(19.7 + frontPlane_YSize * 0.5 - cut_from_height));
1924 frontPlane_transf[1]->
SetDz(
1926 - (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5));
1928 frames->
AddNode(frontPlaneV, 0, frontPlane_transf[0]);
1929 frames->
AddNode(frontPlaneV, 1, frontPlane_transf[1]);
1933 Double_t frontPlaneWithWindow_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.0 * 2 ;
1934 Double_t frontPlaneWithWindow_YSize = 18.3;
1935 Double_t frontPlaneWithWindow_ZSize = 0.3;
1937 Double_t frontPlaneWindow_XSize = frontPlaneWithWindow_XSize - 3.0 * 2 ;
1938 Double_t frontPlaneWindow_YSize = 8.6;
1941 TString(
"frontPlaneWithWindowBlankS") +
TString(
"_") + frames->
GetName(), frontPlaneWithWindow_XSize * 0.5,
1942 frontPlaneWithWindow_YSize * 0.5, frontPlaneWithWindow_ZSize * 0.5);
1945 frontPlaneWindow_YSize * 0.5, (frontPlaneWithWindow_ZSize + 0.001) * 0.5);
1949 frontPlaneWindow_pos->
SetDx(0.0);
1950 frontPlaneWindow_pos->
SetDy(-2.85 );
1951 frontPlaneWindow_pos->
SetDz(0.0);
1957 TString expression =
"frontPlaneWithWindowBlankS";
1959 expression +=
"-frontPlaneWindowS";
1961 expression +=
":frontPlaneWindow_pos";
1963 frontPlaneWithWindowS->
MakeNode(expression);
1972 if (frontPlaneWithWindowV_medium) {
1973 frontPlaneWithWindowV->
SetMedium(frontPlaneWithWindowV_medium);
1975 Fatal(
"Main",
"Invalid medium for frontPlaneWithWindowV!");
1984 frontPlaneWithWindow_transf[0]->
SetDx(0.0);
1985 frontPlaneWithWindow_transf[0]->
SetDy(+(19.5 + frontPlaneWithWindow_YSize * 0.5 - cut_from_height));
1986 frontPlaneWithWindow_transf[0]->
SetDz(
1987 +half_dist_mods + (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5)
1988 + half_plane_shift);
1991 frontPlaneWithWindow_transf[1]->
RotateX(180.0);
1992 frontPlaneWithWindow_transf[1]->
SetDx(0.0);
1993 frontPlaneWithWindow_transf[1]->
SetDy(-(19.5 + frontPlaneWithWindow_YSize * 0.5 - cut_from_height));
1994 frontPlaneWithWindow_transf[1]->
SetDz(
1995 +half_dist_mods - (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5));
1997 frames->
AddNode(frontPlaneWithWindowV, 0, frontPlaneWithWindow_transf[0]);
1998 frames->
AddNode(frontPlaneWithWindowV, 1, frontPlaneWithWindow_transf[1]);
2002 Double_t pcb_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.865 ;
2007 frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
2016 Fatal(
"Main",
"Invalid medium for pcbV!");
2025 pcb_transf[0]->
SetDx(0.0);
2026 pcb_transf[0]->
SetDy(+(26.5 + pcb_YSize * 0.5 - cut_from_height));
2027 pcb_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2030 pcb_transf[1]->
SetDx(0.0);
2031 pcb_transf[1]->
SetDy(-(26.5 + pcb_YSize * 0.5 - cut_from_height));
2032 pcb_transf[1]->
SetDz(+half_dist_mods);
2034 frames->
AddNode(pcbV, 0, pcb_transf[0]);
2035 frames->
AddNode(pcbV, 1, pcb_transf[1]);
2039 Double_t upperSideShield_XSize = 4.4;
2040 Double_t upperSideShield_YSize = 12.3;
2041 Double_t upperSideShield_ZSize = 0.8;
2043 Double_t upperSideShieldCut_XSize = 0.9;
2044 Double_t upperSideShieldCut_YSize = 2.4;
2046 Double_t upperSideShieldWindow_XSize = 3.0;
2047 Double_t upperSideShieldWindow_YSize = 7.0;
2053 +upperSideShield_XSize * 0.5 ,
2054 +upperSideShield_XSize * 0.5 ,
2055 -upperSideShield_XSize * 0.5 ,
2056 -upperSideShield_XSize * 0.5 ,
2057 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize ,
2058 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize
2062 -upperSideShield_YSize * 0.5 ,
2063 +upperSideShield_YSize * 0.5 ,
2064 +upperSideShield_YSize * 0.5 ,
2065 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
2066 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
2067 -upperSideShield_YSize * 0.5
2070 ((
TGeoXtru*)upperSideShieldBlankS)->DefinePolygon(6, x_pos, y_pos);
2071 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(0, -upperSideShield_ZSize * 0.5);
2072 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(1, +upperSideShield_ZSize * 0.5);
2076 TString(
"upperSideShieldWindowS") +
TString(
"_") + frames->
GetName(), upperSideShieldWindow_XSize * 0.5,
2077 upperSideShieldWindow_YSize * 0.5, (upperSideShield_ZSize + 0.001) * 0.5);
2081 upperSideShieldWindow_pos->
SetDx(0.0);
2082 upperSideShieldWindow_pos->
SetDy(+1.65 );
2083 upperSideShieldWindow_pos->
SetDz(0.0);
2089 TString expression =
"upperSideShieldBlankS";
2091 expression +=
"-upperSideShieldWindowS";
2093 expression +=
":upperSideShieldWindow_pos";
2095 upperSideShieldWithWindowS->
MakeNode(expression);
2104 if (upperSideShieldV_medium) {
2105 upperSideShieldV->
SetMedium(upperSideShieldV_medium);
2107 Fatal(
"Main",
"Invalid medium for upperSideShieldV!");
2116 upperSideShield_transf[0]->
RotateY(90.0);
2117 upperSideShield_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2118 upperSideShield_transf[0]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2119 upperSideShield_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2122 upperSideShield_transf[1]->
RotateY(90.0);
2123 upperSideShield_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2124 upperSideShield_transf[1]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2125 upperSideShield_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2128 upperSideShield_transf[2]->
RotateY(-90.0);
2130 upperSideShield_transf[2]->
RotateX(180.0);
2131 upperSideShield_transf[2]->
RotateY(180.0);
2132 upperSideShield_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2133 upperSideShield_transf[2]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2134 upperSideShield_transf[2]->
SetDz(+half_dist_mods + 0.65 );
2137 upperSideShield_transf[3]->
RotateY(-90.0);
2139 upperSideShield_transf[3]->
RotateX(180.0);
2140 upperSideShield_transf[3]->
RotateY(180.0);
2141 upperSideShield_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2142 upperSideShield_transf[3]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 - cut_from_height));
2143 upperSideShield_transf[3]->
SetDz(+half_dist_mods + 0.65 );
2145 frames->
AddNode(upperSideShieldV, 0, upperSideShield_transf[0]);
2146 frames->
AddNode(upperSideShieldV, 1, upperSideShield_transf[1]);
2147 frames->
AddNode(upperSideShieldV, 2, upperSideShield_transf[2]);
2148 frames->
AddNode(upperSideShieldV, 3, upperSideShield_transf[3]);
2152 Double_t upperSideShieldCover_XSize = 4.4;
2153 Double_t upperSideShieldCover_YSize = 8.5;
2154 Double_t upperSideShieldCover_ZSize = 0.15;
2157 upperSideShieldCover_XSize * 0.5, upperSideShieldCover_YSize * 0.5,
2158 upperSideShieldCover_ZSize * 0.5);
2165 if (upperSideShieldCoverV_medium) {
2166 upperSideShieldCoverV->
SetMedium(upperSideShieldCoverV_medium);
2168 Fatal(
"Main",
"Invalid medium for upperSideShieldCoverV!");
2177 upperSideShieldCover_transf[0]->
RotateY(90.0);
2178 upperSideShieldCover_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2179 upperSideShieldCover_transf[0]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2180 upperSideShieldCover_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2183 upperSideShieldCover_transf[1]->
RotateY(90.0);
2184 upperSideShieldCover_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2185 upperSideShieldCover_transf[1]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2186 upperSideShieldCover_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2189 upperSideShieldCover_transf[2]->
RotateY(90.0);
2190 upperSideShieldCover_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2191 upperSideShieldCover_transf[2]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2192 upperSideShieldCover_transf[2]->
SetDz(+half_dist_mods + 0.65 );
2195 upperSideShieldCover_transf[3]->
RotateY(90.0);
2196 upperSideShieldCover_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
2197 upperSideShieldCover_transf[3]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 - cut_from_height));
2198 upperSideShieldCover_transf[3]->
SetDz(+half_dist_mods + 0.65 );
2200 frames->
AddNode(upperSideShieldCoverV, 0, upperSideShieldCover_transf[0]);
2201 frames->
AddNode(upperSideShieldCoverV, 1, upperSideShieldCover_transf[1]);
2202 frames->
AddNode(upperSideShieldCoverV, 2, upperSideShieldCover_transf[2]);
2203 frames->
AddNode(upperSideShieldCoverV, 3, upperSideShieldCover_transf[3]);
2221 Double_t half_plane_shift = z_ref_dist - ((1.57 + half_dist_mods) - 0.61) + (2.68 - (1.57 + half_dist_mods));
2223 cout <<
"long: z_ref_dist = " << z_ref_dist <<
"\n";
2224 cout <<
"long: half_plane_shift = " << half_plane_shift <<
"\n";
2231 if (current_station_num == 0)
2232 add_to_height = -3.0;
2243 Double_t faceShield_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 8.6;
2244 Double_t faceShield_YSize = 14.74 + add_to_height;
2250 Double_t x_pos[8] = {faceShield_XSize * 0.5,
2251 faceShield_XSize * 0.5,
2252 -faceShield_XSize * 0.5,
2253 -faceShield_XSize * 0.5,
2258 Double_t y_pos[8] = {-faceShield_YSize * 0.5, faceShield_YSize * 0.5, faceShield_YSize * 0.5,
2259 -faceShield_YSize * 0.5, -faceShield_YSize * 0.5, -3.8 - add_to_height * 0.5,
2260 -3.8 - add_to_height * 0.5, -faceShield_YSize * 0.5};
2261 ((
TGeoXtru*)faceShieldS)->DefinePolygon(8, x_pos, y_pos);
2262 ((
TGeoXtru*)faceShieldS)->DefineSection(0, -faceShield_ZSize * 0.5);
2263 ((
TGeoXtru*)faceShieldS)->DefineSection(1, +faceShield_ZSize * 0.5);
2270 if (faceShieldV_medium) {
2271 faceShieldV->
SetMedium(faceShieldV_medium);
2273 Fatal(
"Main",
"Invalid medium for faceShieldV!");
2282 faceShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
2283 faceShield_transf[0]->
SetDz(+half_dist_mods - 1.35
2284 - faceShield_ZSize * 0.5 + half_plane_shift);
2287 faceShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95);
2288 faceShield_transf[1]->
SetDz(+half_dist_mods + 1.35
2289 + faceShield_ZSize * 0.5 + half_plane_shift);
2292 faceShield_transf[2]->
RotateX(180.0);
2293 faceShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
2294 faceShield_transf[2]->
SetDz(+half_dist_mods - 1.35
2295 - faceShield_ZSize * 0.5 );
2298 faceShield_transf[3]->
RotateX(180.0);
2299 faceShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95);
2300 faceShield_transf[3]->
SetDz(+half_dist_mods + 1.35
2301 + faceShield_ZSize * 0.5 );
2303 frames->
AddNode(faceShieldV, 0, faceShield_transf[0]);
2304 frames->
AddNode(faceShieldV, 1, faceShield_transf[1]);
2305 frames->
AddNode(faceShieldV, 2, faceShield_transf[2]);
2306 frames->
AddNode(faceShieldV, 3, faceShield_transf[3]);
2311 Double_t sideShield_YSize = 15.2 + add_to_height;
2315 sideShield_XSize * 0.5, sideShield_YSize * 0.5, sideShield_ZSize * 0.5);
2321 if (sideShieldV_medium) {
2322 sideShieldV->
SetMedium(sideShieldV_medium);
2324 Fatal(
"Main",
"Invalid medium for sideShieldV!");
2333 sideShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2334 sideShield_transf[0]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
2335 sideShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2338 sideShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2339 sideShield_transf[1]->
SetDy(+faceShield_YSize * 0.5 - 0.95 + (sideShield_YSize - faceShield_YSize) * 0.5);
2340 sideShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
2343 sideShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2344 sideShield_transf[2]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
2345 sideShield_transf[2]->
SetDz(+half_dist_mods);
2348 sideShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - sideShield_XSize * 0.5));
2349 sideShield_transf[3]->
SetDy(-faceShield_YSize * 0.5 + 0.95 - (sideShield_YSize - faceShield_YSize) * 0.5);
2350 sideShield_transf[3]->
SetDz(+half_dist_mods);
2352 frames->
AddNode(sideShieldV, 0, sideShield_transf[0]);
2353 frames->
AddNode(sideShieldV, 1, sideShield_transf[1]);
2354 frames->
AddNode(sideShieldV, 2, sideShield_transf[2]);
2355 frames->
AddNode(sideShieldV, 3, sideShield_transf[3]);
2359 Double_t horizShield_XSize = faceShield_XSize * 0.5 - sideShield_XSize - 2.75 ;
2364 horizShield_XSize * 0.5, horizShield_YSize * 0.5, horizShield_ZSize * 0.5);
2370 if (horizShieldV_medium) {
2371 horizShieldV->
SetMedium(horizShieldV_medium);
2373 Fatal(
"Main",
"Invalid medium for horizShieldV!");
2382 horizShield_transf[0]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2383 horizShield_transf[0]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
2384 horizShield_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2387 horizShield_transf[1]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2388 horizShield_transf[1]->
SetDy(+(-0.95 + horizShield_YSize * 0.5));
2389 horizShield_transf[1]->
SetDz(+half_dist_mods + half_plane_shift);
2392 horizShield_transf[2]->
SetDx(+(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2393 horizShield_transf[2]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
2394 horizShield_transf[2]->
SetDz(+half_dist_mods);
2397 horizShield_transf[3]->
SetDx(-(faceShield_XSize * 0.5 - horizShield_XSize * 0.5 - sideShield_XSize));
2398 horizShield_transf[3]->
SetDy(-(-0.95 + horizShield_YSize * 0.5));
2399 horizShield_transf[3]->
SetDz(+half_dist_mods);
2401 frames->
AddNode(horizShieldV, 0, horizShield_transf[0]);
2402 frames->
AddNode(horizShieldV, 1, horizShield_transf[1]);
2403 frames->
AddNode(horizShieldV, 2, horizShield_transf[2]);
2404 frames->
AddNode(horizShieldV, 3, horizShield_transf[3]);
2408 Double_t plankShield_XSize = faceShield_XSize;
2413 plankShield_XSize * 0.5, plankShield_YSize * 0.5, plankShield_ZSize * 0.5);
2419 if (plankShieldV_medium) {
2420 plankShieldV->
SetMedium(plankShieldV_medium);
2422 Fatal(
"Main",
"Invalid medium for plankShieldV!");
2431 plankShield_transf[0]->
SetDx(0.0);
2432 plankShield_transf[0]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
2433 plankShield_transf[0]->
SetDz(+half_dist_mods
2434 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
2435 + half_plane_shift);
2438 plankShield_transf[1]->
SetDx(0.0);
2439 plankShield_transf[1]->
SetDy(+(-0.95 + faceShield_YSize) - 0.05);
2440 plankShield_transf[1]->
SetDz(+half_dist_mods
2441 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5)
2442 + half_plane_shift);
2445 plankShield_transf[2]->
SetDx(0.0);
2446 plankShield_transf[2]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
2447 plankShield_transf[2]->
SetDz(+half_dist_mods
2448 - (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
2451 plankShield_transf[3]->
SetDx(0.0);
2452 plankShield_transf[3]->
SetDy(-(-0.95 + faceShield_YSize) + 0.05);
2453 plankShield_transf[3]->
SetDz(+half_dist_mods
2454 + (1.35 + faceShield_ZSize + plankShield_ZSize * 0.5));
2456 frames->
AddNode(plankShieldV, 0, plankShield_transf[0]);
2457 frames->
AddNode(plankShieldV, 1, plankShield_transf[1]);
2458 frames->
AddNode(plankShieldV, 2, plankShield_transf[2]);
2459 frames->
AddNode(plankShieldV, 3, plankShield_transf[3]);
2463 Double_t baseRailMainPart_XSize = faceShield_XSize + 3.4 * 2 ;
2464 Double_t baseRailMainPart_YSize = 5.0;
2465 Double_t baseRailMainPart_ZSize = 0.7;
2467 Double_t baseRailUpperPart_XSize = baseRailMainPart_XSize - 9.0 ;
2468 Double_t baseRailUpperPart_YSize = 1.0;
2469 Double_t baseRailUpperPart_ZSize = 0.3;
2471 Double_t baseRailLowerPart_XSize = baseRailMainPart_XSize - 8.8 ;
2472 Double_t baseRailLowerPart_YSize = 0.7;
2473 Double_t baseRailLowerPart_ZSize = 0.3;
2477 baseRailMainPart_YSize * 0.5, baseRailMainPart_ZSize * 0.5);
2480 baseRailUpperPart_YSize * 0.5, baseRailUpperPart_ZSize * 0.5);
2483 baseRailLowerPart_YSize * 0.5, baseRailLowerPart_ZSize * 0.5);
2487 baseRailMainPart_pos->
SetDx(0.0);
2488 baseRailMainPart_pos->
SetDy(0.0);
2489 baseRailMainPart_pos->
SetDz(0.0);
2494 baseRailUpperPart_pos->
SetDx(0.0);
2495 baseRailUpperPart_pos->
SetDy(+(baseRailMainPart_YSize * 0.5 + baseRailUpperPart_YSize * 0.5));
2496 baseRailUpperPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailUpperPart_ZSize * 0.5);
2501 baseRailLowerPart_pos->
SetDx(0.0);
2502 baseRailLowerPart_pos->
SetDy(-(baseRailMainPart_YSize * 0.5 + baseRailLowerPart_YSize * 0.5));
2503 baseRailLowerPart_pos->
SetDz(baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize * 0.5);
2509 TString expression =
"baseRailMainPartS";
2511 expression +=
":baseRailMainPart_pos";
2513 expression +=
"+baseRailUpperPartS";
2515 expression +=
":baseRailUpperPart_pos";
2517 expression +=
"+baseRailLowerPartS";
2519 expression +=
":baseRailLowerPart_pos";
2529 if (baseRailV_medium) {
2532 Fatal(
"Main",
"Invalid medium for baseRailV!");
2541 baseRail_transf[0]->
RotateY(180.0);
2542 baseRail_transf[0]->
SetDx(0.0);
2543 baseRail_transf[0]->
SetDy(+(14.5 + baseRailMainPart_YSize * 0.5 + add_to_height));
2544 baseRail_transf[0]->
SetDz(
2546 + (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5 - baseRailLowerPart_ZSize)
2547 + half_plane_shift);
2551 baseRail_transf[1]->
RotateX(180.0);
2552 baseRail_transf[1]->
RotateY(180.0);
2553 baseRail_transf[1]->
SetDx(0.0);
2554 baseRail_transf[1]->
SetDy(-(14.5 + baseRailMainPart_YSize * 0.5 + add_to_height));
2555 baseRail_transf[1]->
SetDz(+half_dist_mods
2556 - (1.35 + faceShield_ZSize + baseRailMainPart_ZSize * 0.5
2557 - baseRailLowerPart_ZSize));
2559 frames->
AddNode(baseRailV, 0, baseRail_transf[0]);
2560 frames->
AddNode(baseRailV, 1, baseRail_transf[1]);
2564 Double_t backRailMainPart_XSize = faceShield_XSize + -0.3 * 2 ;
2565 Double_t backRailMainPart_YSize = 3.0;
2566 Double_t backRailMainPart_ZSize = 0.9;
2568 Double_t backRailLowerPart_XSize = backRailMainPart_XSize - 1.4;
2569 Double_t backRailLowerPart_YSize = 0.7;
2570 Double_t backRailLowerPart_ZSize = 0.6;
2572 Double_t backRailSidePart_XSize = 1.2;
2573 Double_t backRailSidePart_YSize = 3.0;
2574 Double_t backRailSidePart_ZSize = 1.62;
2578 backRailMainPart_YSize * 0.5, backRailMainPart_ZSize * 0.5);
2581 backRailLowerPart_YSize * 0.5, backRailLowerPart_ZSize * 0.5);
2584 backRailSidePart_YSize * 0.5, backRailSidePart_ZSize * 0.5);
2588 backRailLowerPart_pos->
SetDx(0.0);
2589 backRailLowerPart_pos->
SetDy(-(backRailMainPart_YSize * 0.5 + backRailLowerPart_YSize * 0.5));
2590 backRailLowerPart_pos->
SetDz(backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize * 0.5);
2595 backRailSidePart1_pos->
SetDx(+(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
2596 backRailSidePart1_pos->
SetDy(0.0);
2597 backRailSidePart1_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
2602 backRailSidePart2_pos->
SetDx(-(backRailMainPart_XSize * 0.5 - backRailSidePart_XSize * 0.5));
2603 backRailSidePart2_pos->
SetDy(0.0);
2604 backRailSidePart2_pos->
SetDz(backRailMainPart_ZSize * 0.5 + backRailSidePart_ZSize * 0.5);
2610 TString expression =
"backRailMainPartS";
2612 expression +=
"+backRailLowerPartS";
2614 expression +=
":backRailLowerPart_pos";
2616 expression +=
"+backRailSidePartS";
2618 expression +=
":backRailSidePart1_pos";
2620 expression +=
"+backRailSidePartS";
2622 expression +=
":backRailSidePart2_pos";
2632 if (backRailV_medium) {
2635 Fatal(
"Main",
"Invalid medium for backRailV!");
2644 backRail_transf[0]->
SetDx(0.0);
2645 backRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize * 0.5 + add_to_height));
2646 backRail_transf[0]->
SetDz(+half_dist_mods
2647 - (1.35 + faceShield_ZSize
2648 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize))
2649 + half_plane_shift);
2652 backRail_transf[1]->
RotateX(180.0);
2653 backRail_transf[1]->
SetDx(0.0);
2654 backRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize * 0.5 + add_to_height));
2655 backRail_transf[1]->
SetDz(+half_dist_mods
2656 + (1.35 + faceShield_ZSize
2657 + (backRailMainPart_ZSize * 0.5 - backRailLowerPart_ZSize)));
2659 frames->
AddNode(backRailV, 0, backRail_transf[0]);
2660 frames->
AddNode(backRailV, 1, backRail_transf[1]);
2664 Double_t holdBackRail_XSize = backRailMainPart_XSize;
2672 +0.0 , +0.1 , +holdBackRail_ZSize , +holdBackRail_ZSize , +0.0
2675 -holdBackRail_YSize ,
2676 -holdBackRail_YSize ,
2677 -holdBackRail_YSize * 0.5 ,
2681 ((
TGeoXtru*)holdBackRailS)->DefinePolygon(5, x_pos, y_pos);
2682 ((
TGeoXtru*)holdBackRailS)->DefineSection(0, -holdBackRail_XSize * 0.5);
2683 ((
TGeoXtru*)holdBackRailS)->DefineSection(1, +holdBackRail_XSize * 0.5);
2691 if (holdBackRailV_medium) {
2692 holdBackRailV->
SetMedium(holdBackRailV_medium);
2694 Fatal(
"Main",
"Invalid medium for holdBackRailV!");
2703 holdBackRail_transf[0]->
RotateY(90.0);
2704 holdBackRail_transf[0]->
SetDx(0.0);
2705 holdBackRail_transf[0]->
SetDy(+(14.5 + backRailMainPart_YSize + add_to_height));
2706 holdBackRail_transf[0]->
SetDz(
2707 +half_dist_mods - (1.35 + faceShield_ZSize + plankShield_ZSize) + half_plane_shift);
2710 holdBackRail_transf[1]->
RotateY(90.0);
2711 holdBackRail_transf[1]->
RotateX(180.0);
2712 holdBackRail_transf[1]->
SetDx(0.0);
2713 holdBackRail_transf[1]->
SetDy(-(14.5 + backRailMainPart_YSize + add_to_height));
2714 holdBackRail_transf[1]->
SetDz(+half_dist_mods
2715 + (1.35 + faceShield_ZSize + plankShield_ZSize));
2717 frames->
AddNode(holdBackRailV, 0, holdBackRail_transf[0]);
2718 frames->
AddNode(holdBackRailV, 1, holdBackRail_transf[1]);
2722 Double_t backPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 3.95 * 2 ;
2727 backPlane_XSize * 0.5, backPlane_YSize * 0.5, backPlane_ZSize * 0.5);
2733 if (backPlaneV_medium) {
2734 backPlaneV->
SetMedium(backPlaneV_medium);
2736 Fatal(
"Main",
"Invalid medium for backPlaneV!");
2745 backPlane_transf[0]->
SetDx(0.0);
2746 backPlane_transf[0]->
SetDy(+(16.75 + backPlane_YSize * 0.5 + add_to_height));
2747 backPlane_transf[0]->
SetDz(+half_dist_mods
2748 - (1.35 + faceShield_ZSize + plankShield_ZSize
2749 + holdBackRail_ZSize + backPlane_ZSize * 0.5)
2750 + half_plane_shift);
2753 backPlane_transf[1]->
SetDx(0.0);
2754 backPlane_transf[1]->
SetDy(-(16.75 + backPlane_YSize * 0.5 + add_to_height));
2755 backPlane_transf[1]->
SetDz(+half_dist_mods
2756 + (1.35 + faceShield_ZSize + plankShield_ZSize
2757 + holdBackRail_ZSize + backPlane_ZSize * 0.5));
2759 frames->
AddNode(backPlaneV, 0, backPlane_transf[0]);
2760 frames->
AddNode(backPlaneV, 1, backPlane_transf[1]);
2764 Double_t frontPlane_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 1.8 * 2 ;
2769 frontPlane_XSize * 0.5, frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
2775 if (frontPlaneV_medium) {
2776 frontPlaneV->
SetMedium(frontPlaneV_medium);
2778 Fatal(
"Main",
"Invalid medium for frontPlaneV!");
2787 frontPlane_transf[0]->
SetDx(0.0);
2788 frontPlane_transf[0]->
SetDy(+(19.7 + frontPlane_YSize * 0.5 + add_to_height));
2789 frontPlane_transf[0]->
SetDz(
2791 + (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5)
2792 + half_plane_shift);
2795 frontPlane_transf[1]->
SetDx(0.0);
2796 frontPlane_transf[1]->
SetDy(-(19.7 + frontPlane_YSize * 0.5 + add_to_height));
2797 frontPlane_transf[1]->
SetDz(
2799 - (1.35 + faceShield_ZSize + plankShield_ZSize + frontPlane_ZSize * 0.5));
2801 frames->
AddNode(frontPlaneV, 0, frontPlane_transf[0]);
2802 frames->
AddNode(frontPlaneV, 1, frontPlane_transf[1]);
2806 Double_t frontPlaneWithWindow_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.0 * 2 ;
2807 Double_t frontPlaneWithWindow_YSize = 18.3;
2808 Double_t frontPlaneWithWindow_ZSize = 0.3;
2810 Double_t frontPlaneWindow_XSize = frontPlaneWithWindow_XSize - 3.0 * 2 ;
2811 Double_t frontPlaneWindow_YSize = 8.6;
2814 TString(
"frontPlaneWithWindowBlankS") +
TString(
"_") + frames->
GetName(), frontPlaneWithWindow_XSize * 0.5,
2815 frontPlaneWithWindow_YSize * 0.5, frontPlaneWithWindow_ZSize * 0.5);
2818 frontPlaneWindow_YSize * 0.5, (frontPlaneWithWindow_ZSize + 0.001) * 0.5);
2822 frontPlaneWindow_pos->
SetDx(0.0);
2823 frontPlaneWindow_pos->
SetDy(-2.85 );
2824 frontPlaneWindow_pos->
SetDz(0.0);
2830 TString expression =
"frontPlaneWithWindowBlankS";
2832 expression +=
"-frontPlaneWindowS";
2834 expression +=
":frontPlaneWindow_pos";
2836 frontPlaneWithWindowS->
MakeNode(expression);
2845 if (frontPlaneWithWindowV_medium) {
2846 frontPlaneWithWindowV->
SetMedium(frontPlaneWithWindowV_medium);
2848 Fatal(
"Main",
"Invalid medium for frontPlaneWithWindowV!");
2857 frontPlaneWithWindow_transf[0]->
SetDx(0.0);
2858 frontPlaneWithWindow_transf[0]->
SetDy(+(19.5 + frontPlaneWithWindow_YSize * 0.5 + add_to_height));
2859 frontPlaneWithWindow_transf[0]->
SetDz(
2860 +half_dist_mods + (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5)
2861 + half_plane_shift);
2864 frontPlaneWithWindow_transf[1]->
RotateX(180.0);
2865 frontPlaneWithWindow_transf[1]->
SetDx(0.0);
2866 frontPlaneWithWindow_transf[1]->
SetDy(-(19.5 + frontPlaneWithWindow_YSize * 0.5 + add_to_height));
2867 frontPlaneWithWindow_transf[1]->
SetDz(
2868 +half_dist_mods - (1.35 + faceShield_ZSize + frontPlaneWithWindow_ZSize * 0.5));
2870 frames->
AddNode(frontPlaneWithWindowV, 0, frontPlaneWithWindow_transf[0]);
2871 frames->
AddNode(frontPlaneWithWindowV, 1, frontPlaneWithWindow_transf[1]);
2875 Double_t pcb_XSize = (NModules / 2.0) * 6.3 - (NModules / 2.0) * 0.3 + 4.865 ;
2880 frontPlane_YSize * 0.5, frontPlane_ZSize * 0.5);
2889 Fatal(
"Main",
"Invalid medium for pcbV!");
2898 pcb_transf[0]->
SetDx(0.0);
2899 pcb_transf[0]->
SetDy(+(26.5 + pcb_YSize * 0.5 + add_to_height));
2900 pcb_transf[0]->
SetDz(+half_dist_mods + half_plane_shift);
2903 pcb_transf[1]->
SetDx(0.0);
2904 pcb_transf[1]->
SetDy(-(26.5 + pcb_YSize * 0.5 + add_to_height));
2905 pcb_transf[1]->
SetDz(+half_dist_mods);
2907 frames->
AddNode(pcbV, 0, pcb_transf[0]);
2908 frames->
AddNode(pcbV, 1, pcb_transf[1]);
2912 Double_t upperSideShield_XSize = 4.4;
2913 Double_t upperSideShield_YSize = 12.3;
2914 Double_t upperSideShield_ZSize = 0.8;
2916 Double_t upperSideShieldCut_XSize = 0.9;
2917 Double_t upperSideShieldCut_YSize = 2.4;
2919 Double_t upperSideShieldWindow_XSize = 3.0;
2920 Double_t upperSideShieldWindow_YSize = 7.0;
2926 +upperSideShield_XSize * 0.5 ,
2927 +upperSideShield_XSize * 0.5 ,
2928 -upperSideShield_XSize * 0.5 ,
2929 -upperSideShield_XSize * 0.5 ,
2930 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize ,
2931 -upperSideShield_XSize * 0.5 + upperSideShieldCut_XSize
2935 -upperSideShield_YSize * 0.5 ,
2936 +upperSideShield_YSize * 0.5 ,
2937 +upperSideShield_YSize * 0.5 ,
2938 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
2939 -upperSideShield_YSize * 0.5 + upperSideShieldCut_YSize ,
2940 -upperSideShield_YSize * 0.5
2943 ((
TGeoXtru*)upperSideShieldBlankS)->DefinePolygon(6, x_pos, y_pos);
2944 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(0, -upperSideShield_ZSize * 0.5);
2945 ((
TGeoXtru*)upperSideShieldBlankS)->DefineSection(1, +upperSideShield_ZSize * 0.5);
2949 TString(
"upperSideShieldWindowS") +
TString(
"_") + frames->
GetName(), upperSideShieldWindow_XSize * 0.5,
2950 upperSideShieldWindow_YSize * 0.5, (upperSideShield_ZSize + 0.001) * 0.5);
2954 upperSideShieldWindow_pos->
SetDx(0.0);
2955 upperSideShieldWindow_pos->
SetDy(+1.65 );
2956 upperSideShieldWindow_pos->
SetDz(0.0);
2962 TString expression =
"upperSideShieldBlankS";
2964 expression +=
"-upperSideShieldWindowS";
2966 expression +=
":upperSideShieldWindow_pos";
2968 upperSideShieldWithWindowS->
MakeNode(expression);
2977 if (upperSideShieldV_medium) {
2978 upperSideShieldV->
SetMedium(upperSideShieldV_medium);
2980 Fatal(
"Main",
"Invalid medium for upperSideShieldV!");
2989 upperSideShield_transf[0]->
RotateY(90.0);
2990 upperSideShield_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2991 upperSideShield_transf[0]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
2992 upperSideShield_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
2995 upperSideShield_transf[1]->
RotateY(90.0);
2996 upperSideShield_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
2997 upperSideShield_transf[1]->
SetDy(+(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
2998 upperSideShield_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3001 upperSideShield_transf[2]->
RotateY(-90.0);
3003 upperSideShield_transf[2]->
RotateX(180.0);
3004 upperSideShield_transf[2]->
RotateY(180.0);
3005 upperSideShield_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
3006 upperSideShield_transf[2]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
3007 upperSideShield_transf[2]->
SetDz(+half_dist_mods + 0.65 );
3010 upperSideShield_transf[3]->
RotateY(-90.0);
3012 upperSideShield_transf[3]->
RotateX(180.0);
3013 upperSideShield_transf[3]->
RotateY(180.0);
3014 upperSideShield_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 - upperSideShield_ZSize * 0.5));
3015 upperSideShield_transf[3]->
SetDy(-(17.6 + upperSideShield_YSize * 0.5 + add_to_height));
3016 upperSideShield_transf[3]->
SetDz(+half_dist_mods + 0.65 );
3018 frames->
AddNode(upperSideShieldV, 0, upperSideShield_transf[0]);
3019 frames->
AddNode(upperSideShieldV, 1, upperSideShield_transf[1]);
3020 frames->
AddNode(upperSideShieldV, 2, upperSideShield_transf[2]);
3021 frames->
AddNode(upperSideShieldV, 3, upperSideShield_transf[3]);
3025 Double_t upperSideShieldCover_XSize = 4.4;
3026 Double_t upperSideShieldCover_YSize = 8.5;
3027 Double_t upperSideShieldCover_ZSize = 0.15;
3030 upperSideShieldCover_XSize * 0.5, upperSideShieldCover_YSize * 0.5,
3031 upperSideShieldCover_ZSize * 0.5);
3038 if (upperSideShieldCoverV_medium) {
3039 upperSideShieldCoverV->
SetMedium(upperSideShieldCoverV_medium);
3041 Fatal(
"Main",
"Invalid medium for upperSideShieldCoverV!");
3050 upperSideShieldCover_transf[0]->
RotateY(90.0);
3051 upperSideShieldCover_transf[0]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3052 upperSideShieldCover_transf[0]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3053 upperSideShieldCover_transf[0]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3056 upperSideShieldCover_transf[1]->
RotateY(90.0);
3057 upperSideShieldCover_transf[1]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3058 upperSideShieldCover_transf[1]->
SetDy(+(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3059 upperSideShieldCover_transf[1]->
SetDz(+half_dist_mods - 0.65 + half_plane_shift);
3062 upperSideShieldCover_transf[2]->
RotateY(90.0);
3063 upperSideShieldCover_transf[2]->
SetDx(+(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3064 upperSideShieldCover_transf[2]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3065 upperSideShieldCover_transf[2]->
SetDz(+half_dist_mods + 0.65 );
3068 upperSideShieldCover_transf[3]->
RotateY(90.0);
3069 upperSideShieldCover_transf[3]->
SetDx(-(frontPlaneWithWindow_XSize * 0.5 + upperSideShieldCover_ZSize * 0.5));
3070 upperSideShieldCover_transf[3]->
SetDy(-(20.7 + upperSideShieldCover_YSize * 0.5 + add_to_height));
3071 upperSideShieldCover_transf[3]->
SetDz(+half_dist_mods + 0.65 );
3073 frames->
AddNode(upperSideShieldCoverV, 0, upperSideShieldCover_transf[0]);
3074 frames->
AddNode(upperSideShieldCoverV, 1, upperSideShieldCover_transf[1]);
3075 frames->
AddNode(upperSideShieldCoverV, 2, upperSideShieldCover_transf[2]);
3076 frames->
AddNode(upperSideShieldCoverV, 3, upperSideShieldCover_transf[3]);