657 Double_t layerFront_XShift = -0.445;
666 Double_t copperLayer_ZSize = 0.00655;
667 Double_t copperLayerHole_Radius = 6.0;
673 layerFront_XSize * 0.5, layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
677 layerBack_XSize * 0.5, layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
682 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
686 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
689 copperLayerFrontHole_pos->
SetName(
TString(
"copperLayerFrontHole_pos") +=
693 copperLayerFrontHole_pos->
SetDz(0.0);
697 copperLayerBackHole_pos->
SetName(
TString(
"copperLayerBackHole_pos") +=
701 copperLayerBackHole_pos->
SetDz(0.0);
708 TString expression =
"copperLayerFrontBlankS";
710 expression +=
"-copperLayerFrontHoleS";
712 expression +=
":copperLayerFrontHole_pos";
715 copperLayerFrontS->
MakeNode(expression);
723 TString expression =
"copperLayerBackBlankS";
725 expression +=
"-copperLayerBackHoleS";
727 expression +=
":copperLayerBackHole_pos";
730 copperLayerBackS->
MakeNode(expression);
741 if (copperLayerV_medium) {
742 copperLayerFrontV->
SetMedium(copperLayerV_medium);
743 copperLayerBackV->
SetMedium(copperLayerV_medium);
745 Fatal(
"Main",
"Invalid medium for copperLayerV!");
756 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
757 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
763 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
764 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
767 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
768 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
773 Double_t glueLayerHole_Radius = 6.0;
779 layerFront_XSize * 0.5, layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
782 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
786 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
789 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
792 glueLayerFrontHole_pos->
SetName(
TString(
"glueLayerFrontHole_pos") +=
796 glueLayerFrontHole_pos->
SetDz(0.0);
800 glueLayerBackHole_pos->
SetName(
TString(
"glueLayerBackHole_pos") +=
804 glueLayerBackHole_pos->
SetDz(0.0);
811 TString expression =
"glueLayerFrontBlankS";
813 expression +=
"-glueLayerFrontHoleS";
815 expression +=
":glueLayerFrontHole_pos";
818 glueLayerFrontS->
MakeNode(expression);
826 TString expression =
"glueLayerBackBlankS";
828 expression +=
"-glueLayerBackHoleS";
830 expression +=
":glueLayerBackHole_pos";
833 glueLayerBackS->
MakeNode(expression);
844 if (glueLayerV_medium) {
845 glueLayerFrontV->
SetMedium(glueLayerV_medium);
846 glueLayerBackV->
SetMedium(glueLayerV_medium);
848 Fatal(
"Main",
"Invalid medium for glueLayerV!");
859 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
860 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
866 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
867 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
870 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
871 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
875 Double_t epoxideLayer_ZSize = 0.105;
876 Double_t epoxideLayerHole_Radius = 6.0;
882 layerFront_XSize * 0.5, layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
886 layerBack_XSize * 0.5, layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
891 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
895 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
898 epoxideLayerFrontHole_pos->
SetName(
TString(
"epoxideLayerFrontHole_pos") +=
902 epoxideLayerFrontHole_pos->
SetDz(0.0);
906 epoxideLayerBackHole_pos->
SetName(
TString(
"epoxideLayerBackHole_pos") +=
910 epoxideLayerBackHole_pos->
SetDz(0.0);
917 TString expression =
"epoxideLayerFrontBlankS";
919 expression +=
"-epoxideLayerFrontHoleS";
921 expression +=
":epoxideLayerFrontHole_pos";
924 epoxideLayerFrontS->
MakeNode(expression);
932 TString expression =
"epoxideLayerBackBlankS";
934 expression +=
"-epoxideLayerBackHoleS";
936 expression +=
":epoxideLayerBackHole_pos";
939 epoxideLayerBackS->
MakeNode(expression);
952 if (epoxideLayerV_medium) {
953 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
954 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
956 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
967 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
968 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
970 + epoxideLayer_ZSize * 0.5);
975 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
976 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
978 - epoxideLayer_ZSize * 0.5);
980 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
981 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
986 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
987 Double_t honeycombLayerHole_Radius = 6.0;
993 layerFront_XSize * 0.5, layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
997 layerBack_XSize * 0.5, layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
1002 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
1006 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
1009 honeycombLayerFrontHole_pos->
SetName(
TString(
"honeycombLayerFrontHole_pos") +=
1013 honeycombLayerFrontHole_pos->
SetDz(0.0);
1017 honeycombLayerBackHole_pos->
SetName(
TString(
"honeycombLayerBackHole_pos") +=
1021 honeycombLayerBackHole_pos->
SetDz(0.0);
1028 TString expression =
"honeycombLayerFrontBlankS";
1030 expression +=
"-honeycombLayerFrontHoleS";
1032 expression +=
":honeycombLayerFrontHole_pos";
1035 honeycombLayerFrontS->
MakeNode(expression);
1043 TString expression =
"honeycombLayerBackBlankS";
1045 expression +=
"-honeycombLayerBackHoleS";
1047 expression +=
":honeycombLayerBackHole_pos";
1050 honeycombLayerBackS->
MakeNode(expression);
1061 if (honeycombLayerV_medium) {
1062 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
1063 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
1065 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
1076 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1077 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1079 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
1084 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1085 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1087 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
1089 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
1090 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
1094 Double_t polyamideLayer_ZSize = 0.0125;
1095 Double_t polyamideLayerHole_Radius = 6.0;
1101 layerFront_XSize * 0.5, layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1105 layerBack_XSize * 0.5, layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1110 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1114 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1117 polyamideLayerFrontHole_pos->
SetName(
TString(
"polyamideLayerFrontHole_pos") +=
1121 polyamideLayerFrontHole_pos->
SetDz(0.0);
1125 polyamideLayerBackHole_pos->
SetName(
TString(
"polyamideLayerBackHole_pos") +=
1129 polyamideLayerBackHole_pos->
SetDz(0.0);
1136 TString expression =
"polyamideLayerFrontBlankS";
1138 expression +=
"-polyamideLayerFrontHoleS";
1140 expression +=
":polyamideLayerFrontHole_pos";
1143 polyamideLayerFrontS->
MakeNode(expression);
1151 TString expression =
"polyamideLayerBackBlankS";
1153 expression +=
"-polyamideLayerBackHoleS";
1155 expression +=
":polyamideLayerBackHole_pos";
1158 polyamideLayerBackS->
MakeNode(expression);
1169 if (polyamideLayerV_medium) {
1170 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
1171 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
1173 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
1184 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1185 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1187 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
1192 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1193 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1195 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
1197 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
1198 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
1277 Double_t backLowerEpoxideFrame_XSize = 161.42;
1278 Double_t backLowerEpoxideFrame_YSize = 2.2;
1279 Double_t backLowerEpoxideFrame_ZSize = 1.6;
1281 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
1282 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
1283 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
1288 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
1289 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
1293 backLowerEpoxideFrameArch_Rmin, backLowerEpoxideFrameArch_Rmax,
1294 backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1299 backLowerEpoxideFrameHalf_pos1->
SetDx(
1300 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1301 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1302 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1308 backLowerEpoxideFrameHalf_pos2->
SetDx(
1309 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1310 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1311 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1317 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
1318 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
1319 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
1323 backLowerEpoxideFrameS->
SetName(
TString(
"backLowerEpoxideFrameS") +=
1326 TString expression =
"backLowerEpoxideFrameHalfS";
1328 expression +=
":backLowerEpoxideFrameHalf1_pos1";
1330 expression +=
"+backLowerEpoxideFrameHalfS";
1332 expression +=
":backLowerEpoxideFrameHalf1_pos2";
1334 expression +=
"+backLowerEpoxideFrameArchS";
1336 expression +=
":backLowerEpoxideFrameArch_pos";
1339 backLowerEpoxideFrameS->
MakeNode(expression);
1348 if (backLowerEpoxideFrameV_medium) {
1349 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
1351 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
1360 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1364 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
1368 Double_t frontLowerEpoxideFrame_XSize = 161.7;
1369 Double_t frontLowerEpoxideFrame_YSize = 2.2;
1370 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
1372 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
1373 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
1374 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
1376 TGeoShape* frontLowerEpoxideFrameHalfS =
1379 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
1380 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
1381 TGeoShape* frontLowerEpoxideFrameArchS =
1384 frontLowerEpoxideFrameArch_Rmin, frontLowerEpoxideFrameArch_Rmax,
1385 frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1390 frontLowerEpoxideFrameHalf_pos1->
SetDx(
1391 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1392 + frontLowerEpoxideFrameArch_Rmin));
1393 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1394 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1400 frontLowerEpoxideFrameHalf_pos2->
SetDx(
1401 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1402 + frontLowerEpoxideFrameArch_Rmin));
1403 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1404 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1410 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
1411 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
1412 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
1416 frontLowerEpoxideFrameS->
SetName(
TString(
"frontLowerEpoxideFrameS") +=
1419 TString expression =
"frontLowerEpoxideFrameHalfS";
1421 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
1423 expression +=
"+frontLowerEpoxideFrameHalfS";
1425 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
1427 expression +=
"+frontLowerEpoxideFrameArchS";
1429 expression +=
":frontLowerEpoxideFrameArch_pos";
1432 frontLowerEpoxideFrameS->
MakeNode(expression);
1441 if (frontLowerEpoxideFrameV_medium) {
1442 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
1444 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
1453 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1457 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
1461 Double_t backSideEpoxideFramePart_XSize = 9.2;
1462 Double_t backSideEpoxideFramePart_YSize = 52.6;
1463 Double_t backSideEpoxideFramePart_ZSize = 1.6;
1465 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
1470 backSideEpoxideFramePart_XSize * 0.5, backSideEpoxideFramePart_YSize * 0.5,
1471 backSideEpoxideFramePart_ZSize * 0.5);
1476 backSideEpoxideFramePart_pos1->
SetDx(
1477 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1478 backSideEpoxideFramePart_pos1->
SetDy(0.0);
1479 backSideEpoxideFramePart_pos1->
SetDz(0.0);
1485 backSideEpoxideFramePart_pos2->
SetDx(
1486 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1487 backSideEpoxideFramePart_pos2->
SetDy(0.0);
1488 backSideEpoxideFramePart_pos2->
SetDz(0.0);
1492 backSideEpoxideFrameS->
SetName(
TString(
"backSideEpoxideFrameS") +=
1495 TString expression =
"backSideEpoxideFramePartS";
1497 expression +=
":backSideEpoxideFramePart_pos1";
1499 expression +=
"+backSideEpoxideFramePartS";
1501 expression +=
":backSideEpoxideFramePart_pos2";
1504 backSideEpoxideFrameS->
MakeNode(expression);
1513 if (backSideEpoxideFrameV_medium) {
1514 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
1516 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
1525 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1527 - frontLowerEpoxideFrame_YSize + 0.2 );
1530 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
1534 Double_t backUpperEpoxideFrame_XSize = 161.42;
1535 Double_t backUpperEpoxideFrame_YSize = 6.2;
1536 Double_t backUpperEpoxideFrame_ZSize = 1.6;
1539 TString(
"backUpperEpoxideFrameS") +=
1541 backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5, backUpperEpoxideFrame_ZSize * 0.5);
1548 if (backUpperEpoxideFrameV_medium) {
1549 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
1551 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
1560 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1565 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
1569 Double_t frontSideEpoxideFramePart_XSize = 3.5;
1570 Double_t frontSideEpoxideFramePart_YSize = 49.9;
1571 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
1573 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
1578 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
1579 frontSideEpoxideFramePart_ZSize * 0.5);
1584 frontSideEpoxideFramePart_pos1->
SetDx(
1585 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1586 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
1587 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
1593 frontSideEpoxideFramePart_pos2->
SetDx(
1594 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1595 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
1596 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
1600 frontSideEpoxideFrameS->
SetName(
TString(
"frontSideEpoxideFrameS") +=
1603 TString expression =
"frontSideEpoxideFramePartS";
1605 expression +=
":frontSideEpoxideFramePart_pos1";
1607 expression +=
"+frontSideEpoxideFramePartS";
1609 expression +=
":frontSideEpoxideFramePart_pos2";
1612 frontSideEpoxideFrameS->
MakeNode(expression);
1621 if (frontSideEpoxideFrameV_medium) {
1622 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
1624 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
1633 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
1635 - frontLowerEpoxideFrame_YSize + 0.2 );
1638 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
1642 Double_t frontUpperEpoxideFrame_XSize = 161.7;
1643 Double_t frontUpperEpoxideFrame_YSize = 3.5;
1644 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
1647 TString(
"frontUpperEpoxideFrameS") +=
1649 frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5, frontUpperEpoxideFrame_ZSize * 0.5);
1656 if (frontUpperEpoxideFrameV_medium) {
1657 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
1659 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
1668 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1673 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
1677 Double_t alumCableSupportPart_XSize = 3.0;
1678 Double_t alumCableSupportPart_YSize = 41.3;
1679 Double_t alumCableSupportPart_ZSize = 0.2;
1681 Double_t alumCableSupport_XDistBetweenParts = 164.82;
1684 TString(
"alumCableSupportPartS") +=
1686 alumCableSupportPart_XSize * 0.5, alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
1691 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1692 alumCableSupportPart_pos1->
SetDy(0.0);
1693 alumCableSupportPart_pos1->
SetDz(0.0);
1699 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1700 alumCableSupportPart_pos2->
SetDy(0.0);
1701 alumCableSupportPart_pos2->
SetDz(0.0);
1707 TString expression =
"alumCableSupportPartS";
1709 expression +=
":alumCableSupportPart_pos1";
1711 expression +=
"+alumCableSupportPartS";
1713 expression +=
":alumCableSupportPart_pos2";
1716 alumCableSupportS->
MakeNode(expression);
1725 if (alumCableSupportV_medium) {
1726 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
1728 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
1737 alumCableSupport_transf[0]->
SetDx(0.0);
1739 - frontLowerEpoxideFrame_YSize + 0.2 );
1741 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1743 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
1747 Double_t amplifierUpperBlockPart1_XSize = 161.44;
1748 Double_t amplifierUpperBlockPart1_YSize = 0.6;
1749 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
1751 Double_t amplifierUpperBlockPart2_XSize = 161.16;
1752 Double_t amplifierUpperBlockPart2_YSize = 0.6;
1753 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
1758 amplifierUpperBlockPart1_XSize * 0.5, amplifierUpperBlockPart1_YSize * 0.5,
1759 amplifierUpperBlockPart1_ZSize * 0.5);
1763 amplifierUpperBlockPart2_XSize * 0.5, amplifierUpperBlockPart2_YSize * 0.5,
1764 amplifierUpperBlockPart2_ZSize * 0.5);
1769 amplifierUpperBlockPart1_pos->
SetDx(0.0);
1770 amplifierUpperBlockPart1_pos->
SetDy(0.0);
1771 amplifierUpperBlockPart1_pos->
SetDz(0.0);
1777 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
1778 amplifierUpperBlockPart2_pos->
SetDy(
1779 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
1780 amplifierUpperBlockPart2_pos->
SetDz(0.0);
1787 TString expression =
"amplifierUpperBlockPart1S";
1789 expression +=
":amplifierUpperBlockPart1_pos";
1791 expression +=
"+amplifierUpperBlockPart1S";
1793 expression +=
":amplifierUpperBlockPart2_pos";
1796 amplifierUpperBlockS->
MakeNode(expression);
1805 if (amplifierUpperBlockV_medium) {
1806 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
1808 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
1817 amplifierUpperBlock_transf[0]->
SetDx(0.0);
1822 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
1826 Double_t amplifierSideBlockPartBig_XSize = 0.6;
1827 Double_t amplifierSideBlockPartBig_YSize = 33.9;
1828 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
1830 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
1831 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
1832 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
1837 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
1838 amplifierSideBlockPartBig_ZSize * 0.5);
1839 TGeoShape* amplifierSideBlockPartSmallS =
1842 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
1843 amplifierSideBlockPartSmall_ZSize * 0.5);
1848 amplifierSideBlockPartBig_pos->
SetDx(0.0);
1849 amplifierSideBlockPartBig_pos->
SetDy(0.0);
1850 amplifierSideBlockPartBig_pos->
SetDz(0.0);
1856 amplifierSideBlockPartSmall_pos->
SetDx(
1857 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
1858 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
1859 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
1865 TString expression =
"amplifierSideBlockPartBigS";
1867 expression +=
":amplifierSideBlockPartBig_pos";
1869 expression +=
"+amplifierSideBlockPartSmallS";
1871 expression +=
":amplifierSideBlockPartSmall_pos";
1874 amplifierSideBlockS->
MakeNode(expression);
1883 if (amplifierSideBlockV_medium) {
1884 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
1886 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
1895 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
1896 amplifierSideBlock_transf[0]->
SetDy(-5.5);
1901 amplifierSideBlock_transf[1]->
RotateY(180.0);
1902 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
1903 amplifierSideBlock_transf[1]->
SetDy(-5.5);
1907 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
1908 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
1918 upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
1924 if (upperPcbV_medium) {
1927 Fatal(
"Main",
"Invalid medium for upperPcbV!");
1936 upperPcb_transf[0]->
SetDx(+0.1 );
1937 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
1939 - frontSideEpoxideFramePart_ZSize);
1941 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
1946 Double_t sidePcbPart_YSize = 35.05;
1951 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
1956 sidePcbPart_pos1->
SetDx(0.0);
1957 sidePcbPart_pos1->
SetDy(0.0);
1958 sidePcbPart_pos1->
SetDz(0.0);
1964 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
1965 sidePcbPart_pos2->
SetDy(0.0);
1966 sidePcbPart_pos2->
SetDz(0.0);
1972 TString expression =
"sidePcbPartS";
1974 expression +=
":sidePcbPart_pos1";
1976 expression +=
"+sidePcbPartS";
1978 expression +=
":sidePcbPart_pos2";
1989 if (sidePcbV_medium) {
1992 Fatal(
"Main",
"Invalid medium for sidePcbV!");
2001 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
2002 sidePcb_transf[0]->
SetDy(-6.8 );
2004 + frontSideEpoxideFramePart_ZSize + 1.0 ));
2007 sidePcb_transf[1]->
RotateY(180.0);
2008 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
2009 sidePcb_transf[1]->
SetDy(-6.8 );
2011 + frontSideEpoxideFramePart_ZSize + 1.0 ));
2013 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
2014 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
2018 Double_t alumSideSupport_XSize = 4.8;
2019 Double_t alumSideSupport_YSize = 52.6;
2020 Double_t alumSideSupport_ZSize = 0.4;
2024 alumSideSupport_XSize * 0.5, alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
2031 if (alumSideSupportV_medium) {
2032 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
2034 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
2043 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
2044 alumSideSupport_transf[0]->
SetDy(+1.8);
2048 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
2049 alumSideSupport_transf[1]->
SetDy(+1.8 );
2052 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
2053 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
2063 boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
2069 if (boschShapeV_medium) {
2070 boschShapeV->
SetMedium(boschShapeV_medium);
2072 Fatal(
"Main",
"Invalid medium for boschShapeV!");
2081 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
2082 boschShape_transf[0]->
SetDy(+1.8 );
2086 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
2087 boschShape_transf[1]->
SetDy(+1.8 );
2095 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
2096 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
2097 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
2098 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
2100 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
2101 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
2102 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
2103 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
2105 Double_t insidePolyacetalShapeLower_XSize = 8.4;
2106 Double_t insidePolyacetalShapeLower_YSize = 52.6;
2107 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
2108 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
2110 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
2111 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
2112 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
2113 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
2115 TGeoShape* insidePolyacetalShapeUpperS =
2118 insidePolyacetalShapeUpper_XSize * 0.5, insidePolyacetalShapeUpper_YSize * 0.5,
2119 insidePolyacetalShapeUpper_ZSize * 0.5);
2120 TGeoShape* outsidePolyacetalShapeUpperS =
2123 outsidePolyacetalShapeUpper_XSize * 0.5, outsidePolyacetalShapeUpper_YSize * 0.5,
2124 outsidePolyacetalShapeUpper_ZSize * 0.5);
2125 TGeoShape* insidePolyacetalShapeLowerS =
2128 insidePolyacetalShapeLower_XSize * 0.5, insidePolyacetalShapeLower_YSize * 0.5,
2129 insidePolyacetalShapeLower_ZSize * 0.5);
2130 TGeoShape* outsidePolyacetalShapeLowerS =
2133 outsidePolyacetalShapeLower_XSize * 0.5, outsidePolyacetalShapeLower_YSize * 0.5,
2134 outsidePolyacetalShapeLower_ZSize * 0.5);
2137 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
2139 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
2141 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
2143 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
2147 if (polyacetalShapeV_medium) {
2148 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2149 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2150 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2151 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2153 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
2168 insidePolyacetalShapeUpper_transf[0]->
SetDx(
2169 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2170 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
2171 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2174 insidePolyacetalShapeUpper_transf[1]->
SetDx(
2175 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2176 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
2177 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2182 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
2183 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2184 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2185 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2186 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2189 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
2190 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2191 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2192 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2193 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2198 insidePolyacetalShapeLower_transf[0]->
SetDx(
2199 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2200 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
2201 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2204 insidePolyacetalShapeLower_transf[1]->
SetDx(
2205 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2206 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
2207 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2212 outsidePolyacetalShapeLower_transf[0]->
SetDx(
2213 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2214 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2215 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2216 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2219 outsidePolyacetalShapeLower_transf[1]->
SetDx(
2220 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2221 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2222 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2223 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2226 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
2227 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
2228 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
2229 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
2233 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
2234 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
2235 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
2236 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
2242 Double_t lowerFiberGlassBlock_XSize = 165.1;
2243 Double_t lowerFiberGlassBlock_YSize = 1.75;
2244 Double_t lowerFiberGlassBlock_ZSize = 0.9;
2246 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
2247 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
2248 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
2253 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
2254 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
2256 TString(
"lowerFiberGlassBlockArchS") +=
2258 lowerFiberGlassBlockArch_Rmin, lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
2261 lowerFiberGlassBlockHalf_pos1->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos1") +=
2264 lowerFiberGlassBlockHalf_pos1->
SetDx(
2265 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2266 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2267 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
2271 lowerFiberGlassBlockHalf_pos2->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos2") +=
2274 lowerFiberGlassBlockHalf_pos2->
SetDx(
2275 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2276 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2277 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
2281 lowerFiberGlassBlockArch_pos->
SetName(
TString(
"lowerFiberGlassBlockArch_pos") +=
2284 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
2285 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
2286 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
2290 lowerFiberGlassBlockS->
SetName(
TString(
"lowerFiberGlassBlockS") +=
2293 TString expression =
"lowerFiberGlassBlockHalfS";
2295 expression +=
":lowerFiberGlassBlockHalf_pos1";
2297 expression +=
"+lowerFiberGlassBlockHalfS";
2299 expression +=
":lowerFiberGlassBlockHalf_pos2";
2301 expression +=
"+lowerFiberGlassBlockArchS";
2303 expression +=
":lowerFiberGlassBlockArch_pos";
2306 lowerFiberGlassBlockS->
MakeNode(expression);
2315 if (lowerFiberGlassBlockV_medium) {
2316 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
2318 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
2327 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
2329 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
2331 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
2335 Double_t sideFiberGlassBlockPart_XSize = 1.45;
2336 Double_t sideFiberGlassBlockPart_YSize = 49.4;
2337 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
2340 TString(
"sideFiberGlassBlockS") +=
2342 sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5, sideFiberGlassBlockPart_ZSize * 0.5);
2349 if (sideFiberGlassBlockV_medium) {
2350 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
2352 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
2361 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2362 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
2363 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2366 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2367 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
2368 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
2370 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
2371 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
2375 Double_t upperFiberGlassBlock_XSize = 165.1;
2376 Double_t upperFiberGlassBlock_YSize = 1.45;
2377 Double_t upperFiberGlassBlock_ZSize = 0.89;
2380 TString(
"upperFiberGlassBlockS") +=
2382 upperFiberGlassBlock_XSize * 0.5, upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
2389 if (upperFiberGlassBlockV_medium) {
2390 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
2392 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
2401 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
2402 upperFiberGlassBlock_transf[0]->
SetDy(
2403 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
2404 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2406 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
2410 Double_t upperBrasslayer_XSize = 165.1;
2411 Double_t upperBrasslayer_YSize = 1.45;
2412 Double_t upperBrasslayer_ZSize = 0.005;
2414 Double_t sideBrasslayer_XSize = 1.45;
2415 Double_t sideBrasslayer_YSize = 49.4;
2416 Double_t sideBrasslayer_ZSize = 0.005;
2420 upperBrasslayer_XSize * 0.5, upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
2423 sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5, sideBrasslayer_ZSize * 0.5);
2432 if (upperBrasslayerV_medium) {
2433 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2434 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2436 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
2447 upperBrasslayer_transf[0]->
SetDx(0.0);
2448 upperBrasslayer_transf[0]->
SetDy(
2449 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
2455 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2456 sideBrasslayer_transf[0]->
SetDy(+0.45 );
2460 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2461 sideBrasslayer_transf[1]->
SetDy(+0.45 );
2464 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
2466 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
2467 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
2471 Double_t upperSteellayer_XSize = 165.1;
2472 Double_t upperSteellayer_YSize = 1.45;
2473 Double_t upperSteellayer_ZSize = 0.005;
2475 Double_t sideSteellayer_XSize = 1.45;
2476 Double_t sideSteellayer_YSize = 49.4;
2477 Double_t sideSteellayer_ZSize = 0.005;
2481 upperSteellayer_XSize * 0.5, upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
2484 sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5, sideSteellayer_ZSize * 0.5);
2493 if (upperSteellayerV_medium) {
2494 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
2495 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
2497 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
2508 upperSteellayer_transf[0]->
SetDx(0.0);
2509 upperSteellayer_transf[0]->
SetDy(
2510 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
2516 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2517 sideSteellayer_transf[0]->
SetDy(+0.45 );
2521 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2522 sideSteellayer_transf[1]->
SetDy(+0.45 );
2525 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
2527 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
2528 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
2561 Double_t layerFront_XShift = -0.445;
2566 Double_t layerBack_XShift = -0.445;
2570 Double_t copperLayer_ZSize = 0.00655;
2571 Double_t copperLayerHole_Radius = 6.0;
2577 layerFront_XSize * 0.5, layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
2581 layerBack_XSize * 0.5, layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
2586 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2590 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2593 copperLayerFrontHole_pos->
SetName(
TString(
"copperLayerFrontHole_pos") +=
2597 copperLayerFrontHole_pos->
SetDz(0.0);
2601 copperLayerBackHole_pos->
SetName(
TString(
"copperLayerBackHole_pos") +=
2605 copperLayerBackHole_pos->
SetDz(0.0);
2612 TString expression =
"copperLayerFrontBlankS";
2614 expression +=
"-copperLayerFrontHoleS";
2616 expression +=
":copperLayerFrontHole_pos";
2619 copperLayerFrontS->
MakeNode(expression);
2627 TString expression =
"copperLayerBackBlankS";
2629 expression +=
"-copperLayerBackHoleS";
2631 expression +=
":copperLayerBackHole_pos";
2634 copperLayerBackS->
MakeNode(expression);
2645 if (copperLayerV_medium) {
2646 copperLayerFrontV->
SetMedium(copperLayerV_medium);
2647 copperLayerBackV->
SetMedium(copperLayerV_medium);
2649 Fatal(
"Main",
"Invalid medium for copperLayerV!");
2660 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2661 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2667 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2668 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2671 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
2672 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
2677 Double_t glueLayerHole_Radius = 6.0;
2683 layerFront_XSize * 0.5, layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
2686 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
2690 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2693 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2696 glueLayerFrontHole_pos->
SetName(
TString(
"glueLayerFrontHole_pos") +=
2700 glueLayerFrontHole_pos->
SetDz(0.0);
2704 glueLayerBackHole_pos->
SetName(
TString(
"glueLayerBackHole_pos") +=
2708 glueLayerBackHole_pos->
SetDz(0.0);
2715 TString expression =
"glueLayerFrontBlankS";
2717 expression +=
"-glueLayerFrontHoleS";
2719 expression +=
":glueLayerFrontHole_pos";
2722 glueLayerFrontS->
MakeNode(expression);
2730 TString expression =
"glueLayerBackBlankS";
2732 expression +=
"-glueLayerBackHoleS";
2734 expression +=
":glueLayerBackHole_pos";
2737 glueLayerBackS->
MakeNode(expression);
2748 if (glueLayerV_medium) {
2749 glueLayerFrontV->
SetMedium(glueLayerV_medium);
2750 glueLayerBackV->
SetMedium(glueLayerV_medium);
2752 Fatal(
"Main",
"Invalid medium for glueLayerV!");
2763 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2764 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2770 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2771 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2774 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
2775 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
2779 Double_t epoxideLayer_ZSize = 0.105;
2780 Double_t epoxideLayerHole_Radius = 6.0;
2786 layerFront_XSize * 0.5, layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2790 layerBack_XSize * 0.5, layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2795 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2799 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2802 epoxideLayerFrontHole_pos->
SetName(
TString(
"epoxideLayerFrontHole_pos") +=
2806 epoxideLayerFrontHole_pos->
SetDz(0.0);
2810 epoxideLayerBackHole_pos->
SetName(
TString(
"epoxideLayerBackHole_pos") +=
2814 epoxideLayerBackHole_pos->
SetDz(0.0);
2821 TString expression =
"epoxideLayerFrontBlankS";
2823 expression +=
"-epoxideLayerFrontHoleS";
2825 expression +=
":epoxideLayerFrontHole_pos";
2828 epoxideLayerFrontS->
MakeNode(expression);
2836 TString expression =
"epoxideLayerBackBlankS";
2838 expression +=
"-epoxideLayerBackHoleS";
2840 expression +=
":epoxideLayerBackHole_pos";
2843 epoxideLayerBackS->
MakeNode(expression);
2854 if (epoxideLayerV_medium) {
2855 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
2856 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
2858 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
2869 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2870 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2872 + epoxideLayer_ZSize * 0.5);
2877 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2878 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2880 - epoxideLayer_ZSize * 0.5);
2882 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
2883 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
2888 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
2889 Double_t honeycombLayerHole_Radius = 6.0;
2895 layerFront_XSize * 0.5, layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2899 layerBack_XSize * 0.5, layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2904 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2908 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2911 honeycombLayerFrontHole_pos->
SetName(
TString(
"honeycombLayerFrontHole_pos") +=
2915 honeycombLayerFrontHole_pos->
SetDz(0.0);
2919 honeycombLayerBackHole_pos->
SetName(
TString(
"honeycombLayerBackHole_pos") +=
2923 honeycombLayerBackHole_pos->
SetDz(0.0);
2930 TString expression =
"honeycombLayerFrontBlankS";
2932 expression +=
"-honeycombLayerFrontHoleS";
2934 expression +=
":honeycombLayerFrontHole_pos";
2937 honeycombLayerFrontS->
MakeNode(expression);
2945 TString expression =
"honeycombLayerBackBlankS";
2947 expression +=
"-honeycombLayerBackHoleS";
2949 expression +=
":honeycombLayerBackHole_pos";
2952 honeycombLayerBackS->
MakeNode(expression);
2963 if (honeycombLayerV_medium) {
2964 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
2965 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
2967 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
2978 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2979 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2981 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
2986 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2987 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2989 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
2991 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
2992 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
2996 Double_t polyamideLayer_ZSize = 0.0125;
2997 Double_t polyamideLayerHole_Radius = 6.0;
3003 layerFront_XSize * 0.5, layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
3007 layerBack_XSize * 0.5, layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
3012 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
3016 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
3019 polyamideLayerFrontHole_pos->
SetName(
TString(
"polyamideLayerFrontHole_pos") +=
3023 polyamideLayerFrontHole_pos->
SetDz(0.0);
3027 polyamideLayerBackHole_pos->
SetName(
TString(
"polyamideLayerBackHole_pos") +=
3031 polyamideLayerBackHole_pos->
SetDz(0.0);
3038 TString expression =
"polyamideLayerFrontBlankS";
3040 expression +=
"-polyamideLayerFrontHoleS";
3042 expression +=
":polyamideLayerFrontHole_pos";
3045 polyamideLayerFrontS->
MakeNode(expression);
3053 TString expression =
"polyamideLayerBackBlankS";
3055 expression +=
"-polyamideLayerBackHoleS";
3057 expression +=
":polyamideLayerBackHole_pos";
3060 polyamideLayerBackS->
MakeNode(expression);
3071 if (polyamideLayerV_medium) {
3072 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
3073 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
3075 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
3086 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3087 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3089 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
3094 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3095 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3097 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
3099 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
3100 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
3117 Double_t backLowerEpoxideFrame_XSize = 161.42;
3118 Double_t backLowerEpoxideFrame_YSize = 2.2;
3119 Double_t backLowerEpoxideFrame_ZSize = 1.6;
3121 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
3122 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
3123 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
3127 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
3128 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
3130 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
3131 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3136 backLowerEpoxideFrameHalf_pos1->
SetDx(
3137 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3138 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3139 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3145 backLowerEpoxideFrameHalf_pos2->
SetDx(
3146 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3147 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3148 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3153 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
3154 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
3155 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
3161 TString expression =
"backLowerEpoxideFrameHalfS";
3163 expression +=
":backLowerEpoxideFrameHalf1_pos1";
3165 expression +=
"+backLowerEpoxideFrameHalfS";
3167 expression +=
":backLowerEpoxideFrameHalf1_pos2";
3169 expression +=
"+backLowerEpoxideFrameArchS";
3171 expression +=
":backLowerEpoxideFrameArch_pos";
3174 backLowerEpoxideFrameS->
MakeNode(expression);
3183 if (backLowerEpoxideFrameV_medium) {
3184 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
3186 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
3195 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3199 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
3203 Double_t frontLowerEpoxideFrame_XSize = 161.7;
3204 Double_t frontLowerEpoxideFrame_YSize = 2.2;
3205 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
3207 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
3208 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
3209 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
3211 TGeoShape* frontLowerEpoxideFrameHalfS =
3213 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
3214 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
3216 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
3217 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3222 frontLowerEpoxideFrameHalf_pos1->
SetDx(
3223 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3224 + frontLowerEpoxideFrameArch_Rmin));
3225 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3226 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3232 frontLowerEpoxideFrameHalf_pos2->
SetDx(
3233 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3234 + frontLowerEpoxideFrameArch_Rmin));
3235 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3236 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3242 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
3243 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
3244 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
3250 TString expression =
"frontLowerEpoxideFrameHalfS";
3252 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
3254 expression +=
"+frontLowerEpoxideFrameHalfS";
3256 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
3258 expression +=
"+frontLowerEpoxideFrameArchS";
3260 expression +=
":frontLowerEpoxideFrameArch_pos";
3263 frontLowerEpoxideFrameS->
MakeNode(expression);
3272 if (frontLowerEpoxideFrameV_medium) {
3273 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
3275 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
3284 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3288 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
3292 Double_t backSideEpoxideFramePart_XSize = 9.2;
3293 Double_t backSideEpoxideFramePart_YSize = 52.6 - 6.0;
3294 Double_t backSideEpoxideFramePart_ZSize = 1.6;
3296 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
3299 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
3300 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
3304 backSideEpoxideFramePart_pos1->
SetDx(
3305 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3306 backSideEpoxideFramePart_pos1->
SetDy(0.0);
3307 backSideEpoxideFramePart_pos1->
SetDz(0.0);
3312 backSideEpoxideFramePart_pos2->
SetDx(
3313 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3314 backSideEpoxideFramePart_pos2->
SetDy(0.0);
3315 backSideEpoxideFramePart_pos2->
SetDz(0.0);
3321 TString expression =
"backSideEpoxideFramePartS";
3323 expression +=
":backSideEpoxideFramePart_pos1";
3325 expression +=
"+backSideEpoxideFramePartS";
3327 expression +=
":backSideEpoxideFramePart_pos2";
3330 backSideEpoxideFrameS->
MakeNode(expression);
3339 if (backSideEpoxideFrameV_medium) {
3340 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
3342 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
3351 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
3353 - frontLowerEpoxideFrame_YSize + 0.2 );
3356 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
3360 Double_t backUpperEpoxideFrame_XSize = 161.42;
3361 Double_t backUpperEpoxideFrame_YSize = 6.2;
3362 Double_t backUpperEpoxideFrame_ZSize = 1.6;
3365 TString(
"backUpperEpoxideFrameS") +=
TString(
"_") + frames->
GetName(), backUpperEpoxideFrame_XSize * 0.5,
3366 backUpperEpoxideFrame_YSize * 0.5, backUpperEpoxideFrame_ZSize * 0.5);
3373 if (backUpperEpoxideFrameV_medium) {
3374 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
3376 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
3385 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3390 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
3394 Double_t frontSideEpoxideFramePart_XSize = 3.5;
3395 Double_t frontSideEpoxideFramePart_YSize = 49.9 - 6.0;
3396 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
3398 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
3402 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
3403 frontSideEpoxideFramePart_ZSize * 0.5);
3408 frontSideEpoxideFramePart_pos1->
SetDx(
3409 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3410 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
3411 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
3417 frontSideEpoxideFramePart_pos2->
SetDx(
3418 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3419 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
3420 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
3426 TString expression =
"frontSideEpoxideFramePartS";
3428 expression +=
":frontSideEpoxideFramePart_pos1";
3430 expression +=
"+frontSideEpoxideFramePartS";
3432 expression +=
":frontSideEpoxideFramePart_pos2";
3435 frontSideEpoxideFrameS->
MakeNode(expression);
3444 if (frontSideEpoxideFrameV_medium) {
3445 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
3447 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
3456 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
3458 - frontLowerEpoxideFrame_YSize + 0.2 );
3461 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
3465 Double_t frontUpperEpoxideFrame_XSize = 161.7;
3466 Double_t frontUpperEpoxideFrame_YSize = 3.5;
3467 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
3470 TString(
"frontUpperEpoxideFrameS") +=
TString(
"_") + frames->
GetName(), frontUpperEpoxideFrame_XSize * 0.5,
3471 frontUpperEpoxideFrame_YSize * 0.5, frontUpperEpoxideFrame_ZSize * 0.5);
3478 if (frontUpperEpoxideFrameV_medium) {
3479 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
3481 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
3490 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3495 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
3499 Double_t alumCableSupportPart_XSize = 3.0;
3500 Double_t alumCableSupportPart_YSize = 41.3 - 6.0;
3501 Double_t alumCableSupportPart_ZSize = 0.2;
3503 Double_t alumCableSupport_XDistBetweenParts = 164.82;
3506 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
3507 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
3511 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3512 alumCableSupportPart_pos1->
SetDy(0.0);
3513 alumCableSupportPart_pos1->
SetDz(0.0);
3518 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3519 alumCableSupportPart_pos2->
SetDy(0.0);
3520 alumCableSupportPart_pos2->
SetDz(0.0);
3526 TString expression =
"alumCableSupportPartS";
3528 expression +=
":alumCableSupportPart_pos1";
3530 expression +=
"+alumCableSupportPartS";
3532 expression +=
":alumCableSupportPart_pos2";
3535 alumCableSupportS->
MakeNode(expression);
3544 if (alumCableSupportV_medium) {
3545 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
3547 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
3556 alumCableSupport_transf[0]->
SetDx(0.0);
3558 - frontLowerEpoxideFrame_YSize + 0.2 );
3560 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3562 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
3566 Double_t amplifierUpperBlockPart1_XSize = 161.44;
3567 Double_t amplifierUpperBlockPart1_YSize = 0.6;
3568 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
3570 Double_t amplifierUpperBlockPart2_XSize = 161.16;
3571 Double_t amplifierUpperBlockPart2_YSize = 0.6;
3572 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
3575 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
3576 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
3578 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
3579 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
3583 amplifierUpperBlockPart1_pos->
SetDx(0.0);
3584 amplifierUpperBlockPart1_pos->
SetDy(0.0);
3585 amplifierUpperBlockPart1_pos->
SetDz(0.0);
3590 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
3591 amplifierUpperBlockPart2_pos->
SetDy(
3592 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
3593 amplifierUpperBlockPart2_pos->
SetDz(0.0);
3599 TString expression =
"amplifierUpperBlockPart1S";
3601 expression +=
":amplifierUpperBlockPart1_pos";
3603 expression +=
"+amplifierUpperBlockPart1S";
3605 expression +=
":amplifierUpperBlockPart2_pos";
3608 amplifierUpperBlockS->
MakeNode(expression);
3617 if (amplifierUpperBlockV_medium) {
3618 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
3620 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
3629 amplifierUpperBlock_transf[0]->
SetDx(0.0);
3634 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
3638 Double_t amplifierSideBlockPartBig_XSize = 0.6;
3639 Double_t amplifierSideBlockPartBig_YSize = 33.9;
3640 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
3642 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
3643 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
3644 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
3648 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
3649 amplifierSideBlockPartBig_ZSize * 0.5);
3650 TGeoShape* amplifierSideBlockPartSmallS =
3652 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
3653 amplifierSideBlockPartSmall_ZSize * 0.5);
3657 amplifierSideBlockPartBig_pos->
SetDx(0.0);
3658 amplifierSideBlockPartBig_pos->
SetDy(0.0);
3659 amplifierSideBlockPartBig_pos->
SetDz(0.0);
3665 amplifierSideBlockPartSmall_pos->
SetDx(
3666 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
3667 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
3668 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
3674 TString expression =
"amplifierSideBlockPartBigS";
3676 expression +=
":amplifierSideBlockPartBig_pos";
3678 expression +=
"+amplifierSideBlockPartSmallS";
3680 expression +=
":amplifierSideBlockPartSmall_pos";
3683 amplifierSideBlockS->
MakeNode(expression);
3692 if (amplifierSideBlockV_medium) {
3693 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
3695 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
3704 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
3705 amplifierSideBlock_transf[0]->
SetDy(-5.5 + 6.0 * 0.5);
3710 amplifierSideBlock_transf[1]->
RotateY(180.0);
3711 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
3712 amplifierSideBlock_transf[1]->
SetDy(-5.5 + 6.0 * 0.5);
3716 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
3717 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
3726 upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
3732 if (upperPcbV_medium) {
3735 Fatal(
"Main",
"Invalid medium for upperPcbV!");
3744 upperPcb_transf[0]->
SetDx(+0.1 );
3745 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ) - 6.0 * 0.5);
3747 - frontSideEpoxideFramePart_ZSize);
3749 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
3754 Double_t sidePcbPart_YSize = 35.05;
3758 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
3762 sidePcbPart_pos1->
SetDx(0.0);
3763 sidePcbPart_pos1->
SetDy(0.0);
3764 sidePcbPart_pos1->
SetDz(0.0);
3769 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
3770 sidePcbPart_pos2->
SetDy(0.0);
3771 sidePcbPart_pos2->
SetDz(0.0);
3777 TString expression =
"sidePcbPartS";
3779 expression +=
":sidePcbPart_pos1";
3781 expression +=
"+sidePcbPartS";
3783 expression +=
":sidePcbPart_pos2";
3794 if (sidePcbV_medium) {
3797 Fatal(
"Main",
"Invalid medium for sidePcbV!");
3806 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
3807 sidePcb_transf[0]->
SetDy(-6.8 + 6.0 * 0.5);
3809 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3812 sidePcb_transf[1]->
RotateY(180.0);
3813 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
3814 sidePcb_transf[1]->
SetDy(-6.8 + 6.0 * 0.5);
3816 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3818 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
3819 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
3823 Double_t alumSideSupport_XSize = 4.8;
3824 Double_t alumSideSupport_YSize = 52.6 - 6.0;
3825 Double_t alumSideSupport_ZSize = 0.4;
3829 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
3836 if (alumSideSupportV_medium) {
3837 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
3839 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
3848 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
3849 alumSideSupport_transf[0]->
SetDy(+1.8);
3853 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
3854 alumSideSupport_transf[1]->
SetDy(+1.8 );
3857 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
3858 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
3863 Double_t boschShape_YSize = 52.6 - 6.0;
3867 boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
3873 if (boschShapeV_medium) {
3874 boschShapeV->
SetMedium(boschShapeV_medium);
3876 Fatal(
"Main",
"Invalid medium for boschShapeV!");
3885 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
3886 boschShape_transf[0]->
SetDy(+1.8 );
3890 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
3891 boschShape_transf[1]->
SetDy(+1.8 );
3899 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
3900 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
3901 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
3902 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
3904 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
3905 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
3906 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
3907 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
3909 Double_t insidePolyacetalShapeLower_XSize = 8.4;
3910 Double_t insidePolyacetalShapeLower_YSize = 52.6 - 6.0;
3911 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
3912 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
3914 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
3915 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
3916 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
3917 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
3919 TGeoShape* insidePolyacetalShapeUpperS =
3921 insidePolyacetalShapeUpper_XSize * 0.5, insidePolyacetalShapeUpper_YSize * 0.5,
3922 insidePolyacetalShapeUpper_ZSize * 0.5);
3923 TGeoShape* outsidePolyacetalShapeUpperS =
3925 outsidePolyacetalShapeUpper_XSize * 0.5, outsidePolyacetalShapeUpper_YSize * 0.5,
3926 outsidePolyacetalShapeUpper_ZSize * 0.5);
3927 TGeoShape* insidePolyacetalShapeLowerS =
3929 insidePolyacetalShapeLower_XSize * 0.5, insidePolyacetalShapeLower_YSize * 0.5,
3930 insidePolyacetalShapeLower_ZSize * 0.5);
3931 TGeoShape* outsidePolyacetalShapeLowerS =
3933 outsidePolyacetalShapeLower_XSize * 0.5, outsidePolyacetalShapeLower_YSize * 0.5,
3934 outsidePolyacetalShapeLower_ZSize * 0.5);
3937 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
3939 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
3941 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
3943 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
3947 if (polyacetalShapeV_medium) {
3948 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3949 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3950 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3951 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3953 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
3968 insidePolyacetalShapeUpper_transf[0]->
SetDx(
3969 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3970 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
3971 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3974 insidePolyacetalShapeUpper_transf[1]->
SetDx(
3975 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3976 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
3977 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3982 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
3983 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3984 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3985 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3986 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3989 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
3990 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3991 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3992 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3993 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3998 insidePolyacetalShapeLower_transf[0]->
SetDx(
3999 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
4000 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
4001 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
4004 insidePolyacetalShapeLower_transf[1]->
SetDx(
4005 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
4006 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
4007 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
4012 outsidePolyacetalShapeLower_transf[0]->
SetDx(
4013 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
4014 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
4015 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
4016 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
4019 outsidePolyacetalShapeLower_transf[1]->
SetDx(
4020 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
4021 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
4022 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
4023 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
4026 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
4027 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
4028 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
4029 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
4033 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
4034 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
4035 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
4036 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
4042 Double_t lowerFiberGlassBlock_XSize = 165.1;
4043 Double_t lowerFiberGlassBlock_YSize = 1.75;
4044 Double_t lowerFiberGlassBlock_ZSize = 0.9;
4046 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
4047 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
4048 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
4052 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
4053 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
4055 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
4056 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
4059 lowerFiberGlassBlockHalf_pos1->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos1") +=
4061 lowerFiberGlassBlockHalf_pos1->
SetDx(
4062 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4063 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4064 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
4068 lowerFiberGlassBlockHalf_pos2->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos2") +=
4070 lowerFiberGlassBlockHalf_pos2->
SetDx(
4071 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4072 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4073 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
4078 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
4079 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
4080 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
4086 TString expression =
"lowerFiberGlassBlockHalfS";
4088 expression +=
":lowerFiberGlassBlockHalf_pos1";
4090 expression +=
"+lowerFiberGlassBlockHalfS";
4092 expression +=
":lowerFiberGlassBlockHalf_pos2";
4094 expression +=
"+lowerFiberGlassBlockArchS";
4096 expression +=
":lowerFiberGlassBlockArch_pos";
4099 lowerFiberGlassBlockS->
MakeNode(expression);
4108 if (lowerFiberGlassBlockV_medium) {
4109 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
4111 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
4120 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
4122 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
4124 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
4128 Double_t sideFiberGlassBlockPart_XSize = 1.45;
4129 Double_t sideFiberGlassBlockPart_YSize = 49.4 - 6.0;
4130 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
4133 TString(
"sideFiberGlassBlockS") +=
TString(
"_") + frames->
GetName(), sideFiberGlassBlockPart_XSize * 0.5,
4134 sideFiberGlassBlockPart_YSize * 0.5, sideFiberGlassBlockPart_ZSize * 0.5);
4141 if (sideFiberGlassBlockV_medium) {
4142 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
4144 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
4153 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4154 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
4155 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4158 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4159 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
4160 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
4162 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
4163 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
4167 Double_t upperFiberGlassBlock_XSize = 165.1;
4168 Double_t upperFiberGlassBlock_YSize = 1.45;
4169 Double_t upperFiberGlassBlock_ZSize = 0.89;
4172 TString(
"upperFiberGlassBlockS") +=
TString(
"_") + frames->
GetName(), upperFiberGlassBlock_XSize * 0.5,
4173 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
4180 if (upperFiberGlassBlockV_medium) {
4181 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
4183 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
4192 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
4193 upperFiberGlassBlock_transf[0]->
SetDy(
4194 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
4195 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4197 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
4201 Double_t upperBrasslayer_XSize = 165.1;
4202 Double_t upperBrasslayer_YSize = 1.45;
4203 Double_t upperBrasslayer_ZSize = 0.005;
4205 Double_t sideBrasslayer_XSize = 1.45;
4206 Double_t sideBrasslayer_YSize = 49.4 - 6.0;
4207 Double_t sideBrasslayer_ZSize = 0.005;
4211 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
4214 sideBrasslayer_YSize * 0.5, sideBrasslayer_ZSize * 0.5);
4223 if (upperBrasslayerV_medium) {
4224 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4225 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4227 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
4238 upperBrasslayer_transf[0]->
SetDx(0.0);
4239 upperBrasslayer_transf[0]->
SetDy(
4240 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
4246 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4247 sideBrasslayer_transf[0]->
SetDy(+0.45 );
4251 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4252 sideBrasslayer_transf[1]->
SetDy(+0.45 );
4255 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
4257 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
4258 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
4262 Double_t upperSteellayer_XSize = 165.1;
4263 Double_t upperSteellayer_YSize = 1.45;
4264 Double_t upperSteellayer_ZSize = 0.005;
4266 Double_t sideSteellayer_XSize = 1.45;
4267 Double_t sideSteellayer_YSize = 49.4 - 6.0;
4268 Double_t sideSteellayer_ZSize = 0.005;
4272 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
4275 sideSteellayer_YSize * 0.5, sideSteellayer_ZSize * 0.5);
4284 if (upperSteellayerV_medium) {
4285 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
4286 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
4288 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
4299 upperSteellayer_transf[0]->
SetDx(0.0);
4300 upperSteellayer_transf[0]->
SetDy(
4301 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
4307 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4308 sideSteellayer_transf[0]->
SetDy(+0.45 );
4312 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4313 sideSteellayer_transf[1]->
SetDy(+0.45 );
4316 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
4318 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
4319 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
4524 Double_t outsideLayer_XSize = 10.5;
4525 Double_t outsideLayer_YSize = 10.5;
4530 Double_t copperOutsideLayer1_ZSize = 0.0005;
4531 Double_t kaptonOutsideLayer1_ZSize = 0.005;
4533 Double_t copperOutsideLayer2_ZSize = 0.0007;
4534 Double_t kaptonOutsideLayer2_ZSize = 0.003;
4536 Double_t copperOutsideLayer3_ZSize = 0.0007;
4537 Double_t kaptonOutsideLayer3_ZSize = 0.003;
4539 Double_t copperOutsideLayer4_ZSize = 0.0007;
4540 Double_t kaptonOutsideLayer4_ZSize = 0.003;
4544 outsideLayer_YSize * 0.5, copperOutsideLayer1_ZSize * 0.5);
4547 outsideLayer_YSize * 0.5, kaptonOutsideLayer1_ZSize * 0.5);
4551 outsideLayer_YSize * 0.5, copperOutsideLayer2_ZSize * 0.5);
4554 outsideLayer_YSize * 0.5, kaptonOutsideLayer2_ZSize * 0.5);
4558 outsideLayer_YSize * 0.5, copperOutsideLayer3_ZSize * 0.5);
4561 outsideLayer_YSize * 0.5, kaptonOutsideLayer3_ZSize * 0.5);
4565 outsideLayer_YSize * 0.5, copperOutsideLayer4_ZSize * 0.5);
4568 outsideLayer_YSize * 0.5, kaptonOutsideLayer4_ZSize * 0.5);
4572 insideLayer_YSize * 0.5, copperOutsideLayer1_ZSize * 0.5 + 0.01);
4575 insideLayer_YSize * 0.5, kaptonOutsideLayer1_ZSize * 0.5 + 0.01);
4579 insideLayer_YSize * 0.5, copperOutsideLayer2_ZSize * 0.5 + 0.01);
4582 insideLayer_YSize * 0.5, kaptonOutsideLayer2_ZSize * 0.5 + 0.01);
4586 insideLayer_YSize * 0.5, copperOutsideLayer3_ZSize * 0.5 + 0.01);
4589 insideLayer_YSize * 0.5, kaptonOutsideLayer3_ZSize * 0.5 + 0.01);
4593 insideLayer_YSize * 0.5, copperOutsideLayer4_ZSize * 0.5 + 0.01);
4596 insideLayer_YSize * 0.5, kaptonOutsideLayer4_ZSize * 0.5 + 0.01);
4601 TString expression =
"copperOutsideLayerBlank1S";
4602 expression +=
TString(
"_") + layer_name;
4603 expression +=
"-copperInsideLayerBlank1S";
4604 expression +=
TString(
"_") + layer_name;
4606 copperOutsideLayer1S->
MakeNode(expression);
4612 TString expression =
"kaptonOutsideLayerBlank1S";
4613 expression +=
TString(
"_") + layer_name;
4614 expression +=
"-kaptonInsideLayerBlank1S";
4615 expression +=
TString(
"_") + layer_name;
4617 kaptonOutsideLayer1S->
MakeNode(expression);
4624 TString expression =
"copperOutsideLayerBlank2S";
4625 expression +=
TString(
"_") + layer_name;
4626 expression +=
"-copperInsideLayerBlank2S";
4627 expression +=
TString(
"_") + layer_name;
4629 copperOutsideLayer2S->
MakeNode(expression);
4635 TString expression =
"kaptonOutsideLayerBlank2S";
4636 expression +=
TString(
"_") + layer_name;
4637 expression +=
"-kaptonInsideLayerBlank2S";
4638 expression +=
TString(
"_") + layer_name;
4640 kaptonOutsideLayer2S->
MakeNode(expression);
4647 TString expression =
"copperOutsideLayerBlank3S";
4648 expression +=
TString(
"_") + layer_name;
4649 expression +=
"-copperInsideLayerBlank3S";
4650 expression +=
TString(
"_") + layer_name;
4652 copperOutsideLayer3S->
MakeNode(expression);
4658 TString expression =
"kaptonOutsideLayerBlank3S";
4659 expression +=
TString(
"_") + layer_name;
4660 expression +=
"-kaptonInsideLayerBlank3S";
4661 expression +=
TString(
"_") + layer_name;
4663 kaptonOutsideLayer3S->
MakeNode(expression);
4670 TString expression =
"copperOutsideLayerBlank4S";
4671 expression +=
TString(
"_") + layer_name;
4672 expression +=
"-copperInsideLayerBlank4S";
4673 expression +=
TString(
"_") + layer_name;
4675 copperOutsideLayer4S->
MakeNode(expression);
4681 TString expression =
"kaptonOutsideLayerBlank4S";
4682 expression +=
TString(
"_") + layer_name;
4683 expression +=
"-kaptonInsideLayerBlank4S";
4684 expression +=
TString(
"_") + layer_name;
4686 kaptonOutsideLayer4S->
MakeNode(expression);
4712 if (copperOutsideLayerV_medium) {
4713 copperOutsideLayer1V->
SetMedium(copperOutsideLayerV_medium);
4714 copperOutsideLayer2V->
SetMedium(copperOutsideLayerV_medium);
4715 copperOutsideLayer3V->
SetMedium(copperOutsideLayerV_medium);
4716 copperOutsideLayer4V->
SetMedium(copperOutsideLayerV_medium);
4718 Fatal(
"Main",
"Invalid medium for copperOutsideLayerV!");
4721 if (kaptonOutsideLayerV_medium) {
4722 kaptonOutsideLayer1V->
SetMedium(kaptonOutsideLayerV_medium);
4723 kaptonOutsideLayer2V->
SetMedium(kaptonOutsideLayerV_medium);
4724 kaptonOutsideLayer3V->
SetMedium(kaptonOutsideLayerV_medium);
4725 kaptonOutsideLayer4V->
SetMedium(kaptonOutsideLayerV_medium);
4727 Fatal(
"Main",
"Invalid medium for kaptonOutsideLayerV!");
4749 copperOutsideLayer1V_transf[0]->
SetDx(0.0);
4750 copperOutsideLayer1V_transf[0]->
SetDy(0.0);
4755 kaptonOutsideLayer1V_transf[0]->
SetDx(0.0);
4756 kaptonOutsideLayer1V_transf[0]->
SetDy(0.0);
4757 kaptonOutsideLayer1V_transf[0]->
SetDz(-(copperOutsideLayer1_ZSize * 0.5 + kaptonOutsideLayer1_ZSize * 0.5)
4762 copperOutsideLayer2V_transf[0]->
SetDx(0.0);
4763 copperOutsideLayer2V_transf[0]->
SetDy(0.0);
4768 kaptonOutsideLayer2V_transf[0]->
SetDx(0.0);
4769 kaptonOutsideLayer2V_transf[0]->
SetDy(0.0);
4770 kaptonOutsideLayer2V_transf[0]->
SetDz(-(copperOutsideLayer2_ZSize * 0.5 + kaptonOutsideLayer2_ZSize * 0.5)
4775 copperOutsideLayer3V_transf[0]->
SetDx(0.0);
4776 copperOutsideLayer3V_transf[0]->
SetDy(0.0);
4781 kaptonOutsideLayer3V_transf[0]->
SetDx(0.0);
4782 kaptonOutsideLayer3V_transf[0]->
SetDy(0.0);
4783 kaptonOutsideLayer3V_transf[0]->
SetDz(-(copperOutsideLayer3_ZSize * 0.5 + kaptonOutsideLayer3_ZSize * 0.5)
4788 copperOutsideLayer4V_transf[0]->
SetDx(0.0);
4789 copperOutsideLayer4V_transf[0]->
SetDy(0.0);
4794 kaptonOutsideLayer4V_transf[0]->
SetDx(0.0);
4795 kaptonOutsideLayer4V_transf[0]->
SetDy(0.0);
4796 kaptonOutsideLayer4V_transf[0]->
SetDz(-(copperOutsideLayer4_ZSize * 0.5 + kaptonOutsideLayer4_ZSize * 0.5)
4799 layers->
AddNode(copperOutsideLayer1V, 0, copperOutsideLayer1V_transf[0]);
4800 layers->
AddNode(kaptonOutsideLayer1V, 0, kaptonOutsideLayer1V_transf[0]);
4801 layers->
AddNode(copperOutsideLayer2V, 0, copperOutsideLayer2V_transf[0]);
4802 layers->
AddNode(kaptonOutsideLayer2V, 0, kaptonOutsideLayer2V_transf[0]);
4803 layers->
AddNode(copperOutsideLayer3V, 0, copperOutsideLayer3V_transf[0]);
4804 layers->
AddNode(kaptonOutsideLayer3V, 0, kaptonOutsideLayer3V_transf[0]);
4805 layers->
AddNode(copperOutsideLayer4V, 0, copperOutsideLayer4V_transf[0]);
4806 layers->
AddNode(kaptonOutsideLayer4V, 0, kaptonOutsideLayer4V_transf[0]);
4822 Double_t outsideFilmFrame_XSize = 12.5;
4823 Double_t outsideFilmFrame_YSize = 12.5;
4825 Double_t insideFilmFrame_XSize = 10.5;
4826 Double_t insideFilmFrame_YSize = 10.5;
4828 Double_t fiberglassFilmFrame_ZSize = 0.05;
4829 Double_t epoxideFilmFrame_ZSize = 0.005;
4830 Double_t kaptonFilmFrame_ZSize = 0.005;
4832 TGeoShape* fiberglassOutsideFilmFrameBlankS =
4834 outsideFilmFrame_XSize * 0.5, outsideFilmFrame_YSize * 0.5, fiberglassFilmFrame_ZSize * 0.5);
4835 TGeoShape* fiberglassInsideFilmFrameBlankS =
4837 insideFilmFrame_XSize * 0.5, insideFilmFrame_YSize * 0.5, fiberglassFilmFrame_ZSize * 0.5 + 0.01);
4839 TGeoShape* epoxideOutsideFilmFrameBlankS =
4840 new TGeoBBox(
TString(
"epoxideOutsideFilmFrameBlankS") +
TString(
"_") + frame_name, outsideFilmFrame_XSize * 0.5,
4841 outsideFilmFrame_YSize * 0.5, epoxideFilmFrame_ZSize * 0.5);
4842 TGeoShape* epoxideInsideFilmFrameBlankS =
4843 new TGeoBBox(
TString(
"epoxideInsideFilmFrameBlankS") +
TString(
"_") + frame_name, insideFilmFrame_XSize * 0.5,
4844 insideFilmFrame_YSize * 0.5, epoxideFilmFrame_ZSize * 0.5 + 0.01);
4846 TGeoShape* kaptonOutsideFilmFrameBlankS =
4847 new TGeoBBox(
TString(
"kaptonOutsideFilmFrameBlankS") +
TString(
"_") + frame_name, outsideFilmFrame_XSize * 0.5,
4848 outsideFilmFrame_YSize * 0.5, kaptonFilmFrame_ZSize * 0.5);
4849 TGeoShape* kaptonInsideFilmFrameBlankS =
4850 new TGeoBBox(
TString(
"kaptonInsideFilmFrameBlankS") +
TString(
"_") + frame_name, insideFilmFrame_XSize * 0.5,
4851 insideFilmFrame_YSize * 0.5, kaptonFilmFrame_ZSize * 0.5 + 0.01);
4856 TString expression =
"fiberglassOutsideFilmFrameBlankS";
4857 expression +=
TString(
"_") + frame_name;
4858 expression +=
"-fiberglassInsideFilmFrameBlankS";
4859 expression +=
TString(
"_") + frame_name;
4861 fiberglassFilmFrameS->
MakeNode(expression);
4868 TString expression =
"epoxideOutsideFilmFrameBlankS";
4869 expression +=
TString(
"_") + frame_name;
4870 expression +=
"-epoxideInsideFilmFrameBlankS";
4871 expression +=
TString(
"_") + frame_name;
4873 epoxideFilmFrameS->
MakeNode(expression);
4880 TString expression =
"kaptonOutsideFilmFrameBlankS";
4881 expression +=
TString(
"_") + frame_name;
4882 expression +=
"-kaptonInsideFilmFrameBlankS";
4883 expression +=
TString(
"_") + frame_name;
4885 kaptonFilmFrameS->
MakeNode(expression);
4897 if (fiberglassFilmFrameV_medium) {
4898 fiberglassFilmFrameV->
SetMedium(fiberglassFilmFrameV_medium);
4900 Fatal(
"Main",
"Invalid medium for fiberglassFilmFrameV!");
4903 if (epoxideFilmFrameV_medium) {
4904 epoxideFilmFrameV->
SetMedium(epoxideFilmFrameV_medium);
4906 Fatal(
"Main",
"Invalid medium for epoxideFilmFrameV!");
4909 if (kaptonFilmFrameV_medium) {
4910 kaptonFilmFrameV->
SetMedium(kaptonFilmFrameV_medium);
4912 Fatal(
"Main",
"Invalid medium for kaptonFilmFrameV!");
4924 kaptonFilmFrameV_transf1[0]->
SetDx(0.0);
4925 kaptonFilmFrameV_transf1[0]->
SetDy(0.0);
4930 epoxideFilmFrameV_transf1f[0]->
SetDx(0.0);
4931 epoxideFilmFrameV_transf1f[0]->
SetDy(0.0);
4933 - epoxideFilmFrame_ZSize * 0.5 + 0.06);
4937 epoxideFilmFrameV_transf1b[0]->
SetDx(0.0);
4938 epoxideFilmFrameV_transf1b[0]->
SetDy(0.0);
4940 + epoxideFilmFrame_ZSize * 0.5 + 0.06);
4944 fiberglassFilmFrameV_transf1f[0]->
SetDx(0.0);
4945 fiberglassFilmFrameV_transf1f[0]->
SetDy(0.0);
4947 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06);
4951 fiberglassFilmFrameV_transf1b[0]->
SetDx(0.0);
4952 fiberglassFilmFrameV_transf1b[0]->
SetDy(0.0);
4954 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06);
4958 kaptonFilmFrameV_transf1[1]->
SetDx(0.0);
4959 kaptonFilmFrameV_transf1[1]->
SetDy(0.0);
4963 epoxideFilmFrameV_transf1f[1]->
SetDx(0.0);
4964 epoxideFilmFrameV_transf1f[1]->
SetDy(0.0);
4966 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4969 epoxideFilmFrameV_transf1b[1]->
SetDx(0.0);
4970 epoxideFilmFrameV_transf1b[1]->
SetDy(0.0);
4972 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4975 fiberglassFilmFrameV_transf1f[1]->
SetDx(0.0);
4976 fiberglassFilmFrameV_transf1f[1]->
SetDy(0.0);
4978 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4981 fiberglassFilmFrameV_transf1b[1]->
SetDx(0.0);
4982 fiberglassFilmFrameV_transf1b[1]->
SetDy(0.0);
4984 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4988 kaptonFilmFrameV_transf1[2]->
SetDx(0.0);
4989 kaptonFilmFrameV_transf1[2]->
SetDy(0.0);
4993 epoxideFilmFrameV_transf1f[2]->
SetDx(0.0);
4994 epoxideFilmFrameV_transf1f[2]->
SetDy(0.0);
4996 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4999 epoxideFilmFrameV_transf1b[2]->
SetDx(0.0);
5000 epoxideFilmFrameV_transf1b[2]->
SetDy(0.0);
5002 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
5005 fiberglassFilmFrameV_transf1f[2]->
SetDx(0.0);
5006 fiberglassFilmFrameV_transf1f[2]->
SetDy(0.0);
5008 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
5011 fiberglassFilmFrameV_transf1b[2]->
SetDx(0.0);
5012 fiberglassFilmFrameV_transf1b[2]->
SetDy(0.0);
5014 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
5018 kaptonFilmFrameV_transf1[3]->
SetDx(0.0);
5019 kaptonFilmFrameV_transf1[3]->
SetDy(0.0);
5023 epoxideFilmFrameV_transf1f[3]->
SetDx(0.0);
5024 epoxideFilmFrameV_transf1f[3]->
SetDy(0.0);
5026 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
5029 epoxideFilmFrameV_transf1b[3]->
SetDx(0.0);
5030 epoxideFilmFrameV_transf1b[3]->
SetDy(0.0);
5032 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
5035 fiberglassFilmFrameV_transf1f[3]->
SetDx(0.0);
5036 fiberglassFilmFrameV_transf1f[3]->
SetDy(0.0);
5038 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
5041 fiberglassFilmFrameV_transf1b[3]->
SetDx(0.0);
5042 fiberglassFilmFrameV_transf1b[3]->
SetDy(0.0);
5044 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
5046 frames->
AddNode(kaptonFilmFrameV, 0, kaptonFilmFrameV_transf1[0]);
5047 frames->
AddNode(epoxideFilmFrameV, 0, epoxideFilmFrameV_transf1f[0]);
5048 frames->
AddNode(epoxideFilmFrameV, 1, epoxideFilmFrameV_transf1b[0]);
5049 frames->
AddNode(fiberglassFilmFrameV, 0, fiberglassFilmFrameV_transf1f[0]);
5050 frames->
AddNode(fiberglassFilmFrameV, 1, fiberglassFilmFrameV_transf1b[0]);
5052 frames->
AddNode(kaptonFilmFrameV, 1, kaptonFilmFrameV_transf1[1]);
5053 frames->
AddNode(epoxideFilmFrameV, 2, epoxideFilmFrameV_transf1f[1]);
5054 frames->
AddNode(epoxideFilmFrameV, 3, epoxideFilmFrameV_transf1b[1]);
5055 frames->
AddNode(fiberglassFilmFrameV, 2, fiberglassFilmFrameV_transf1f[1]);
5056 frames->
AddNode(fiberglassFilmFrameV, 3, fiberglassFilmFrameV_transf1b[1]);
5058 frames->
AddNode(kaptonFilmFrameV, 2, kaptonFilmFrameV_transf1[2]);
5059 frames->
AddNode(epoxideFilmFrameV, 4, epoxideFilmFrameV_transf1f[2]);
5060 frames->
AddNode(epoxideFilmFrameV, 5, epoxideFilmFrameV_transf1b[2]);
5061 frames->
AddNode(fiberglassFilmFrameV, 4, fiberglassFilmFrameV_transf1f[2]);
5062 frames->
AddNode(fiberglassFilmFrameV, 5, fiberglassFilmFrameV_transf1b[2]);
5064 frames->
AddNode(kaptonFilmFrameV, 3, kaptonFilmFrameV_transf1[3]);
5065 frames->
AddNode(epoxideFilmFrameV, 6, epoxideFilmFrameV_transf1f[3]);
5066 frames->
AddNode(epoxideFilmFrameV, 7, epoxideFilmFrameV_transf1b[3]);
5067 frames->
AddNode(fiberglassFilmFrameV, 6, fiberglassFilmFrameV_transf1f[3]);
5068 frames->
AddNode(fiberglassFilmFrameV, 7, fiberglassFilmFrameV_transf1b[3]);
5074 Double_t kaptonCover_ZSize = 0.005;
5076 Double_t insideFiberglassCover_XSize = 10.4;
5077 Double_t insideFiberglassCover_YSize = 10.4;
5078 Double_t outsideFiberglassCover_XSize = 18.3;
5079 Double_t outsideFiberglassCover_YSize = 18.3;
5080 Double_t outsideFiberglassCover_ZSize = 0.175;
5082 Double_t insideCopperCover_XSize = 10.4;
5083 Double_t insideCopperCover_YSize = 10.4;
5084 Double_t outsideCopperCover_XSize = 18.3;
5085 Double_t outsideCopperCover_YSize = 18.3;
5086 Double_t outsideCopperCover_ZSize = 0.007;
5089 kaptonCover_YSize * 0.5, kaptonCover_ZSize * 0.5);
5092 TString(
"fiberglassOutsideCoverBlankS") +
TString(
"_") + frame_name, outsideFiberglassCover_XSize * 0.5,
5093 outsideFiberglassCover_YSize * 0.5, outsideFiberglassCover_ZSize * 0.5);
5095 TString(
"fiberglassInsideCoverBlankS") +
TString(
"_") + frame_name, insideFiberglassCover_XSize * 0.5,
5096 insideFiberglassCover_YSize * 0.5, outsideFiberglassCover_ZSize * 0.5 + 0.01);
5099 new TGeoBBox(
TString(
"copperOutsideCoverBlankS") +
TString(
"_") + frame_name, outsideCopperCover_XSize * 0.5,
5100 outsideCopperCover_YSize * 0.5, outsideCopperCover_ZSize * 0.5);
5102 new TGeoBBox(
TString(
"copperInsideCoverBlankS") +
TString(
"_") + frame_name, insideCopperCover_XSize * 0.5,
5103 insideCopperCover_YSize * 0.5, outsideCopperCover_ZSize * 0.5 + 0.01);
5108 TString expression =
"fiberglassOutsideCoverBlankS";
5109 expression +=
TString(
"_") + frame_name;
5110 expression +=
"-fiberglassInsideCoverBlankS";
5111 expression +=
TString(
"_") + frame_name;
5113 fiberglassCoverS->
MakeNode(expression);
5120 TString expression =
"copperOutsideCoverBlankS";
5121 expression +=
TString(
"_") + frame_name;
5122 expression +=
"-copperInsideCoverBlankS";
5123 expression +=
TString(
"_") + frame_name;
5125 copperCoverS->
MakeNode(expression);
5135 if (kaptonCoverV_medium) {
5136 kaptonCoverV->
SetMedium(kaptonCoverV_medium);
5138 Fatal(
"Main",
"Invalid medium for kaptonCoverV!");
5141 if (fiberglassCoverV_medium) {
5142 fiberglassCoverV->
SetMedium(fiberglassCoverV_medium);
5144 Fatal(
"Main",
"Invalid medium for fiberglassCoverV!");
5147 if (copperCoverV_medium) {
5148 copperCoverV->
SetMedium(copperCoverV_medium);
5150 Fatal(
"Main",
"Invalid medium for copperCoverV!");
5161 kaptonCoverV_transf[0]->
SetDx(0.0);
5162 kaptonCoverV_transf[0]->
SetDy(0.0);
5167 fiberglassCoverV_transf[0]->
SetDx(0.0);
5168 fiberglassCoverV_transf[0]->
SetDy(0.0);
5170 - outsideFiberglassCover_ZSize * 0.5);
5174 copperCoverV_transf[0]->
SetDx(0.0);
5175 copperCoverV_transf[0]->
SetDy(0.0);
5177 - outsideFiberglassCover_ZSize - outsideCopperCover_ZSize * 0.5);
5179 frames->
AddNode(kaptonCoverV, 0, kaptonCoverV_transf[0]);
5180 frames->
AddNode(fiberglassCoverV, 0, fiberglassCoverV_transf[0]);
5181 frames->
AddNode(copperCoverV, 0, copperCoverV_transf[0]);
5185 Double_t insideSteelSideFrame_XSize = 14.9;
5186 Double_t insideSteelSideFrame_YSize = 14.9;
5187 Double_t outsideSteelSideFrame_XSize = 18.0;
5188 Double_t outsideSteelSideFrame_YSize = 18.0;
5189 Double_t outsideSteelSideFrame_ZSize = 0.03;
5191 Double_t insideFiberglassSideFrame_XSize = 14.9;
5192 Double_t insideFiberglassSideFrame_YSize = 14.9;
5193 Double_t outsideFiberglassSideFrame_XSize = 18.0;
5194 Double_t outsideFiberglassSideFrame_YSize = 18.0;
5195 Double_t outsideFiberglassSideFrame_ZSize = 1.2;
5198 TString(
"steelOutsideSideFrameBlankS") +
TString(
"_") + frame_name, outsideSteelSideFrame_XSize * 0.5,
5199 outsideSteelSideFrame_YSize * 0.5, outsideSteelSideFrame_ZSize * 0.5);
5201 TString(
"steelInsideSideFrameBlankS") +
TString(
"_") + frame_name, insideSteelSideFrame_XSize * 0.5,
5202 insideSteelSideFrame_YSize * 0.5, outsideSteelSideFrame_ZSize * 0.5 + 0.01);
5205 TString(
"fiberglassOutsideSideFrameBlankS") +
TString(
"_") + frame_name, outsideFiberglassSideFrame_XSize * 0.5,
5206 outsideFiberglassSideFrame_YSize * 0.5, outsideFiberglassSideFrame_ZSize * 0.5);
5208 TString(
"fiberglassInsideSideFrameBlankS") +
TString(
"_") + frame_name, insideFiberglassSideFrame_XSize * 0.5,
5209 insideFiberglassSideFrame_YSize * 0.5, outsideFiberglassSideFrame_ZSize * 0.5 + 0.01);
5214 TString expression =
"steelOutsideSideFrameBlankS";
5215 expression +=
TString(
"_") + frame_name;
5216 expression +=
"-steelInsideSideFrameBlankS";
5217 expression +=
TString(
"_") + frame_name;
5219 steelSideFrameS->
MakeNode(expression);
5226 TString expression =
"fiberglassOutsideSideFrameBlankS";
5227 expression +=
TString(
"_") + frame_name;
5228 expression +=
"-fiberglassInsideSideFrameBlankS";
5229 expression +=
TString(
"_") + frame_name;
5231 fiberglassSideFrameS->
MakeNode(expression);
5241 if (steelSideFrameV_medium) {
5242 steelSideFrameV->
SetMedium(steelSideFrameV_medium);
5244 Fatal(
"Main",
"Invalid medium for steelSideFrameV!");
5247 if (fiberglassSideFrameV_medium) {
5248 fiberglassSideFrameV->
SetMedium(fiberglassSideFrameV_medium);
5250 Fatal(
"Main",
"Invalid medium for fiberglassSideFrameV!");
5260 steelSideFrameV_transf[0]->
SetDx(0.0);
5261 steelSideFrameV_transf[0]->
SetDy(0.0);
5263 + outsideSteelSideFrame_ZSize * 0.5);
5267 fiberglassSideFrameV_transf[0]->
SetDx(0.0);
5268 fiberglassSideFrameV_transf[0]->
SetDy(0.0);
5270 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5271 + outsideFiberglassSideFrame_ZSize * 0.5);
5273 frames->
AddNode(steelSideFrameV, 0, steelSideFrameV_transf[0]);
5274 frames->
AddNode(fiberglassSideFrameV, 0, fiberglassSideFrameV_transf[0]);
5278 Double_t copperSupportPlane_XSize = 24.0;
5279 Double_t copperSupportPlane_YSize = 24.0;
5280 Double_t copperSupportPlane_ZSize = 0.001;
5282 Double_t kaptonSupportPlane_XSize = 24.0;
5283 Double_t kaptonSupportPlane_YSize = 24.0;
5284 Double_t kaptonSupportPlane_ZSize = 0.005;
5286 Double_t fiberglassSupportPlane_XSize = 24.0;
5287 Double_t fiberglassSupportPlane_YSize = 24.0;
5288 Double_t fiberglassSupportPlane_ZSize = 0.17;
5292 copperSupportPlane_YSize * 0.5, copperSupportPlane_ZSize * 0.5);
5295 kaptonSupportPlane_YSize * 0.5, kaptonSupportPlane_ZSize * 0.5);
5297 new TGeoBBox(
TString(
"fiberglassSupportPlaneS") +
TString(
"_") + frame_name, fiberglassSupportPlane_XSize * 0.5,
5298 fiberglassSupportPlane_YSize * 0.5, fiberglassSupportPlane_ZSize * 0.5);
5308 if (copperSupportPlaneV_medium) {
5309 copperSupportPlaneV->
SetMedium(copperSupportPlaneV_medium);
5311 Fatal(
"Main",
"Invalid medium for copperSupportPlaneV!");
5314 if (kaptonSupportPlaneV_medium) {
5315 kaptonSupportPlaneV->
SetMedium(kaptonSupportPlaneV_medium);
5317 Fatal(
"Main",
"Invalid medium for kaptonSupportPlaneV!");
5320 if (fiberglassSupportPlaneV_medium) {
5321 fiberglassSupportPlaneV->
SetMedium(fiberglassSupportPlaneV_medium);
5323 Fatal(
"Main",
"Invalid medium for fiberglassSupportPlaneV!");
5334 copperSupportPlaneV_transf[0]->
SetDx(0.0);
5335 copperSupportPlaneV_transf[0]->
SetDy(0.0);
5337 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5338 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize * 0.5);
5342 kaptonSupportPlaneV_transf[0]->
SetDx(0.0);
5343 kaptonSupportPlaneV_transf[0]->
SetDy(0.0);
5344 kaptonSupportPlaneV_transf[0]->
SetDz(
5346 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize * 0.5);
5350 fiberglassSupportPlaneV_transf[0]->
SetDx(0.0);
5351 fiberglassSupportPlaneV_transf[0]->
SetDy(0.0);
5353 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5354 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize
5355 + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize * 0.5);
5357 frames->
AddNode(copperSupportPlaneV, 0, copperSupportPlaneV_transf[0]);
5358 frames->
AddNode(kaptonSupportPlaneV, 0, kaptonSupportPlaneV_transf[0]);
5359 frames->
AddNode(fiberglassSupportPlaneV, 0, fiberglassSupportPlaneV_transf[0]);
5363 Double_t fiberglassBase_XSize = 70.0;
5364 Double_t fiberglassBase_YSize = 40.5;
5365 Double_t fiberglassBase_ZSize = 0.225;
5367 Double_t fiberglassBaseWindow_XSize = 11.0;
5368 Double_t fiberglassBaseWindow_YSize = 11.5;
5369 Double_t fiberglassBaseWindow_ZSize = 0.225;
5371 Double_t fiberglassBaseWindow_YShift = 4.25;
5375 fiberglassBase_YSize * 0.5, fiberglassBase_ZSize * 0.5);
5377 new TGeoBBox(
TString(
"fiberglassBaseWindowS") +
TString(
"_") + frame_name, fiberglassBaseWindow_XSize * 0.5,
5378 fiberglassBaseWindow_YSize * 0.5, fiberglassBaseWindow_ZSize * 0.5 + 0.01);
5382 fiberglassBaseWindow_pos->
SetDx(0.0);
5383 fiberglassBaseWindow_pos->
SetDy(fiberglassBaseWindow_YShift);
5384 fiberglassBaseWindow_pos->
SetDz(0.0);
5390 TString expression =
"fiberglassBaseBlankS";
5391 expression +=
TString(
"_") + frame_name;
5392 expression +=
":fiberglassBaseWindow_pos";
5393 expression +=
TString(
"_") + frame_name;
5394 expression +=
"-fiberglassBaseWindowS";
5395 expression +=
TString(
"_") + frame_name;
5397 fiberglassBaseS->
MakeNode(expression);
5405 if (fiberglassBaseV_medium) {
5406 fiberglassBaseV->
SetMedium(fiberglassBaseV_medium);
5408 Fatal(
"Main",
"Invalid medium for fiberglassBaseV!");
5415 fiberglassBaseV_transf[0]->
SetDx(0.0);
5416 fiberglassBaseV_transf[0]->
SetDy(0.0);
5418 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5419 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5420 + fiberglassSupportPlane_ZSize + fiberglassBase_ZSize * 0.5 + 0.3);
5422 frames->
AddNode(fiberglassBaseV, 0, fiberglassBaseV_transf[0]);
5431 bottomPCB_YSize * 0.5, bottomPCB_ZSize * 0.5);
5436 if (bottomPCBV_medium) {
5437 bottomPCBV->
SetMedium(bottomPCBV_medium);
5439 Fatal(
"Main",
"Invalid medium for bottomPCBV!");
5446 bottomPCBV_transf[0]->
SetDx(+18.0 - bottomPCB_XSize * 0.5);
5447 bottomPCBV_transf[0]->
SetDy(0.0);
5449 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5450 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5451 + 0.3 - bottomPCB_ZSize * 0.5 - 0.776);
5454 bottomPCBV_transf[1]->
SetDx(+18.0 - bottomPCB_XSize * 0.5);
5455 bottomPCBV_transf[1]->
SetDy(0.0);
5457 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5458 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5459 + 0.3 - bottomPCB_ZSize * 0.5 - 0.776);
5460 bottomPCBV_transf[1]->
RotateZ(90.0);
5462 frames->
AddNode(bottomPCBV, 0, bottomPCBV_transf[0]);
5463 frames->
AddNode(bottomPCBV, 1, bottomPCBV_transf[1]);
5467 Double_t amplifierPCB_XSize = 0.15;
5468 Double_t amplifierPCB_YSize = 13.5;
5473 amplifierPCB_YSize * 0.5, amplifierPCB_ZSize * 0.5);
5478 if (amplifierPCBV_medium) {
5479 amplifierPCBV->
SetMedium(amplifierPCBV_medium);
5481 Fatal(
"Main",
"Invalid medium for amplifierPCBV!");
5488 amplifierPCBV_transf[0]->
SetDx(+18.0 - amplifierPCB_XSize * 0.5 - 0.9);
5489 amplifierPCBV_transf[0]->
SetDy(0.0);
5491 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5492 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5493 + 0.3 - bottomPCB_ZSize - 0.776 - amplifierPCB_ZSize * 0.5);
5496 amplifierPCBV_transf[1]->
SetDx(+18.0 - amplifierPCB_XSize * 0.5 - 0.9);
5497 amplifierPCBV_transf[1]->
SetDy(0.0);
5499 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5500 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5501 + 0.3 - bottomPCB_ZSize - 0.776 - amplifierPCB_ZSize * 0.5);
5502 amplifierPCBV_transf[1]->
RotateZ(90.0);
5504 frames->
AddNode(amplifierPCBV, 0, amplifierPCBV_transf[0]);
5505 frames->
AddNode(amplifierPCBV, 1, amplifierPCBV_transf[1]);
5509 Double_t amplifierSupport_XSize = 5.0;
5510 Double_t amplifierSupport_YSize = 0.2;
5511 Double_t amplifierSupport_ZSize = 14.5;
5515 amplifierSupport_YSize * 0.5, amplifierSupport_ZSize * 0.5);
5521 if (amplifierSupportV_medium) {
5522 amplifierSupportV->
SetMedium(amplifierSupportV_medium);
5524 Fatal(
"Main",
"Invalid medium for amplifierSupportV!");
5531 amplifierSupportV_transf[0]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5532 amplifierSupportV_transf[0]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5);
5533 amplifierSupportV_transf[0]->
SetDz(
5535 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5536 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5539 amplifierSupportV_transf[1]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5540 amplifierSupportV_transf[1]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5 + 7.0);
5541 amplifierSupportV_transf[1]->
SetDz(
5543 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5544 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5547 amplifierSupportV_transf[2]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5548 amplifierSupportV_transf[2]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5);
5549 amplifierSupportV_transf[2]->
SetDz(
5551 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5552 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5553 amplifierSupportV_transf[2]->
RotateZ(90.0);
5556 amplifierSupportV_transf[3]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5557 amplifierSupportV_transf[3]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5 + 7.0);
5558 amplifierSupportV_transf[3]->
SetDz(
5560 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5561 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5562 amplifierSupportV_transf[3]->
RotateZ(90.0);
5564 frames->
AddNode(amplifierSupportV, 0, amplifierSupportV_transf[0]);
5565 frames->
AddNode(amplifierSupportV, 1, amplifierSupportV_transf[1]);
5566 frames->
AddNode(amplifierSupportV, 2, amplifierSupportV_transf[2]);
5567 frames->
AddNode(amplifierSupportV, 3, amplifierSupportV_transf[3]);
5576 longPCB_YSize * 0.5, longPCB_ZSize * 0.5);
5581 if (longPCBV_medium) {
5584 Fatal(
"Main",
"Invalid medium for longPCBV!");
5591 longPCBV_transf[0]->
SetDx(+23.7 + longPCB_XSize * 0.5);
5592 longPCBV_transf[0]->
SetDy(-13.0 + longPCB_YSize * 0.5);
5594 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5595 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize + 0.3
5596 - bottomPCB_ZSize - 14.5 + longPCB_ZSize * 0.5);
5598 frames->
AddNode(longPCBV, 0, longPCBV_transf[0]);