651 Double_t layerFront_XShift = -0.445;
660 Double_t copperLayer_ZSize = 0.00655;
661 Double_t copperLayerHole_Radius = 6.0;
667 layerFront_XSize * 0.5, layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
671 layerBack_XSize * 0.5, layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
676 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
680 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
683 copperLayerFrontHole_pos->
SetName(
TString(
"copperLayerFrontHole_pos") +=
687 copperLayerFrontHole_pos->
SetDz(0.0);
691 copperLayerBackHole_pos->
SetName(
TString(
"copperLayerBackHole_pos") +=
695 copperLayerBackHole_pos->
SetDz(0.0);
702 TString expression =
"copperLayerFrontBlankS";
704 expression +=
"-copperLayerFrontHoleS";
706 expression +=
":copperLayerFrontHole_pos";
709 copperLayerFrontS->
MakeNode(expression);
717 TString expression =
"copperLayerBackBlankS";
719 expression +=
"-copperLayerBackHoleS";
721 expression +=
":copperLayerBackHole_pos";
724 copperLayerBackS->
MakeNode(expression);
735 if (copperLayerV_medium) {
736 copperLayerFrontV->
SetMedium(copperLayerV_medium);
737 copperLayerBackV->
SetMedium(copperLayerV_medium);
739 Fatal(
"Main",
"Invalid medium for copperLayerV!");
750 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
751 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
757 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
758 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
761 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
762 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
767 Double_t glueLayerHole_Radius = 6.0;
773 layerFront_XSize * 0.5, layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
776 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
780 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
783 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
786 glueLayerFrontHole_pos->
SetName(
TString(
"glueLayerFrontHole_pos") +=
790 glueLayerFrontHole_pos->
SetDz(0.0);
794 glueLayerBackHole_pos->
SetName(
TString(
"glueLayerBackHole_pos") +=
798 glueLayerBackHole_pos->
SetDz(0.0);
805 TString expression =
"glueLayerFrontBlankS";
807 expression +=
"-glueLayerFrontHoleS";
809 expression +=
":glueLayerFrontHole_pos";
812 glueLayerFrontS->
MakeNode(expression);
820 TString expression =
"glueLayerBackBlankS";
822 expression +=
"-glueLayerBackHoleS";
824 expression +=
":glueLayerBackHole_pos";
827 glueLayerBackS->
MakeNode(expression);
838 if (glueLayerV_medium) {
839 glueLayerFrontV->
SetMedium(glueLayerV_medium);
840 glueLayerBackV->
SetMedium(glueLayerV_medium);
842 Fatal(
"Main",
"Invalid medium for glueLayerV!");
853 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
854 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
860 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
861 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
864 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
865 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
869 Double_t epoxideLayer_ZSize = 0.105;
870 Double_t epoxideLayerHole_Radius = 6.0;
876 layerFront_XSize * 0.5, layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
880 layerBack_XSize * 0.5, layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
885 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
889 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
892 epoxideLayerFrontHole_pos->
SetName(
TString(
"epoxideLayerFrontHole_pos") +=
896 epoxideLayerFrontHole_pos->
SetDz(0.0);
900 epoxideLayerBackHole_pos->
SetName(
TString(
"epoxideLayerBackHole_pos") +=
904 epoxideLayerBackHole_pos->
SetDz(0.0);
911 TString expression =
"epoxideLayerFrontBlankS";
913 expression +=
"-epoxideLayerFrontHoleS";
915 expression +=
":epoxideLayerFrontHole_pos";
918 epoxideLayerFrontS->
MakeNode(expression);
926 TString expression =
"epoxideLayerBackBlankS";
928 expression +=
"-epoxideLayerBackHoleS";
930 expression +=
":epoxideLayerBackHole_pos";
933 epoxideLayerBackS->
MakeNode(expression);
946 if (epoxideLayerV_medium) {
947 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
948 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
950 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
961 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
962 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
964 + epoxideLayer_ZSize * 0.5);
969 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
970 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
972 - epoxideLayer_ZSize * 0.5);
974 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
975 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
980 Double_t honeycombLayer_ZSize = 1.4 - (0.06805);
981 Double_t honeycombLayerHole_Radius = 6.0;
987 layerFront_XSize * 0.5, layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
991 layerBack_XSize * 0.5, layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
996 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
1000 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
1003 honeycombLayerFrontHole_pos->
SetName(
TString(
"honeycombLayerFrontHole_pos") +=
1007 honeycombLayerFrontHole_pos->
SetDz(0.0);
1011 honeycombLayerBackHole_pos->
SetName(
TString(
"honeycombLayerBackHole_pos") +=
1015 honeycombLayerBackHole_pos->
SetDz(0.0);
1022 TString expression =
"honeycombLayerFrontBlankS";
1024 expression +=
"-honeycombLayerFrontHoleS";
1026 expression +=
":honeycombLayerFrontHole_pos";
1029 honeycombLayerFrontS->
MakeNode(expression);
1037 TString expression =
"honeycombLayerBackBlankS";
1039 expression +=
"-honeycombLayerBackHoleS";
1041 expression +=
":honeycombLayerBackHole_pos";
1044 honeycombLayerBackS->
MakeNode(expression);
1055 if (honeycombLayerV_medium) {
1056 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
1057 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
1059 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
1070 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1071 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1073 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
1078 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1079 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1081 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
1083 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
1084 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
1088 Double_t polyamideLayer_ZSize = 0.0125;
1089 Double_t polyamideLayerHole_Radius = 6.0;
1095 layerFront_XSize * 0.5, layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1099 layerBack_XSize * 0.5, layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1104 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1108 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1111 polyamideLayerFrontHole_pos->
SetName(
TString(
"polyamideLayerFrontHole_pos") +=
1115 polyamideLayerFrontHole_pos->
SetDz(0.0);
1119 polyamideLayerBackHole_pos->
SetName(
TString(
"polyamideLayerBackHole_pos") +=
1123 polyamideLayerBackHole_pos->
SetDz(0.0);
1130 TString expression =
"polyamideLayerFrontBlankS";
1132 expression +=
"-polyamideLayerFrontHoleS";
1134 expression +=
":polyamideLayerFrontHole_pos";
1137 polyamideLayerFrontS->
MakeNode(expression);
1145 TString expression =
"polyamideLayerBackBlankS";
1147 expression +=
"-polyamideLayerBackHoleS";
1149 expression +=
":polyamideLayerBackHole_pos";
1152 polyamideLayerBackS->
MakeNode(expression);
1163 if (polyamideLayerV_medium) {
1164 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
1165 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
1167 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
1178 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1179 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1181 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
1186 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1187 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1189 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
1191 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
1192 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
1209 Double_t backLowerEpoxideFrame_XSize = 161.42;
1210 Double_t backLowerEpoxideFrame_YSize = 2.2;
1211 Double_t backLowerEpoxideFrame_ZSize = 1.5;
1213 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
1214 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
1215 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
1220 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
1221 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
1225 backLowerEpoxideFrameArch_Rmin, backLowerEpoxideFrameArch_Rmax,
1226 backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1231 backLowerEpoxideFrameHalf_pos1->
SetDx(
1232 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1233 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1234 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1240 backLowerEpoxideFrameHalf_pos2->
SetDx(
1241 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1242 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1243 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1249 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
1250 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
1251 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
1255 backLowerEpoxideFrameS->
SetName(
TString(
"backLowerEpoxideFrameS") +=
1258 TString expression =
"backLowerEpoxideFrameHalfS";
1260 expression +=
":backLowerEpoxideFrameHalf1_pos1";
1262 expression +=
"+backLowerEpoxideFrameHalfS";
1264 expression +=
":backLowerEpoxideFrameHalf1_pos2";
1266 expression +=
"+backLowerEpoxideFrameArchS";
1268 expression +=
":backLowerEpoxideFrameArch_pos";
1271 backLowerEpoxideFrameS->
MakeNode(expression);
1280 if (backLowerEpoxideFrameV_medium) {
1281 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
1283 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
1292 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1296 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
1300 Double_t frontLowerEpoxideFrame_XSize = 161.7;
1301 Double_t frontLowerEpoxideFrame_YSize = 2.2;
1302 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
1304 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
1305 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
1306 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
1308 TGeoShape* frontLowerEpoxideFrameHalfS =
1311 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
1312 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
1313 TGeoShape* frontLowerEpoxideFrameArchS =
1316 frontLowerEpoxideFrameArch_Rmin, frontLowerEpoxideFrameArch_Rmax,
1317 frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1322 frontLowerEpoxideFrameHalf_pos1->
SetDx(
1323 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1324 + frontLowerEpoxideFrameArch_Rmin));
1325 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1326 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1332 frontLowerEpoxideFrameHalf_pos2->
SetDx(
1333 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1334 + frontLowerEpoxideFrameArch_Rmin));
1335 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1336 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1342 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
1343 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
1344 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
1348 frontLowerEpoxideFrameS->
SetName(
TString(
"frontLowerEpoxideFrameS") +=
1351 TString expression =
"frontLowerEpoxideFrameHalfS";
1353 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
1355 expression +=
"+frontLowerEpoxideFrameHalfS";
1357 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
1359 expression +=
"+frontLowerEpoxideFrameArchS";
1361 expression +=
":frontLowerEpoxideFrameArch_pos";
1364 frontLowerEpoxideFrameS->
MakeNode(expression);
1373 if (frontLowerEpoxideFrameV_medium) {
1374 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
1376 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
1385 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1389 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
1393 Double_t backSideEpoxideFramePart_XSize = 9.2;
1394 Double_t backSideEpoxideFramePart_YSize = 52.6;
1395 Double_t backSideEpoxideFramePart_ZSize = 1.5;
1397 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
1402 backSideEpoxideFramePart_XSize * 0.5, backSideEpoxideFramePart_YSize * 0.5,
1403 backSideEpoxideFramePart_ZSize * 0.5);
1408 backSideEpoxideFramePart_pos1->
SetDx(
1409 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1410 backSideEpoxideFramePart_pos1->
SetDy(0.0);
1411 backSideEpoxideFramePart_pos1->
SetDz(0.0);
1417 backSideEpoxideFramePart_pos2->
SetDx(
1418 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1419 backSideEpoxideFramePart_pos2->
SetDy(0.0);
1420 backSideEpoxideFramePart_pos2->
SetDz(0.0);
1424 backSideEpoxideFrameS->
SetName(
TString(
"backSideEpoxideFrameS") +=
1427 TString expression =
"backSideEpoxideFramePartS";
1429 expression +=
":backSideEpoxideFramePart_pos1";
1431 expression +=
"+backSideEpoxideFramePartS";
1433 expression +=
":backSideEpoxideFramePart_pos2";
1436 backSideEpoxideFrameS->
MakeNode(expression);
1445 if (backSideEpoxideFrameV_medium) {
1446 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
1448 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
1457 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1459 - frontLowerEpoxideFrame_YSize + 0.2 );
1462 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
1466 Double_t backUpperEpoxideFrame_XSize = 161.42;
1467 Double_t backUpperEpoxideFrame_YSize = 6.2;
1468 Double_t backUpperEpoxideFrame_ZSize = 1.6;
1471 TString(
"backUpperEpoxideFrameS") +=
1473 backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5, backUpperEpoxideFrame_ZSize * 0.5);
1480 if (backUpperEpoxideFrameV_medium) {
1481 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
1483 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
1492 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1497 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
1501 Double_t frontSideEpoxideFramePart_XSize = 3.5;
1502 Double_t frontSideEpoxideFramePart_YSize = 49.9;
1503 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
1505 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
1510 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
1511 frontSideEpoxideFramePart_ZSize * 0.5);
1516 frontSideEpoxideFramePart_pos1->
SetDx(
1517 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1518 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
1519 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
1525 frontSideEpoxideFramePart_pos2->
SetDx(
1526 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1527 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
1528 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
1532 frontSideEpoxideFrameS->
SetName(
TString(
"frontSideEpoxideFrameS") +=
1535 TString expression =
"frontSideEpoxideFramePartS";
1537 expression +=
":frontSideEpoxideFramePart_pos1";
1539 expression +=
"+frontSideEpoxideFramePartS";
1541 expression +=
":frontSideEpoxideFramePart_pos2";
1544 frontSideEpoxideFrameS->
MakeNode(expression);
1553 if (frontSideEpoxideFrameV_medium) {
1554 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
1556 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
1565 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
1567 - frontLowerEpoxideFrame_YSize + 0.2 );
1570 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
1574 Double_t frontUpperEpoxideFrame_XSize = 161.7;
1575 Double_t frontUpperEpoxideFrame_YSize = 3.5;
1576 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
1579 TString(
"frontUpperEpoxideFrameS") +=
1581 frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5, frontUpperEpoxideFrame_ZSize * 0.5);
1588 if (frontUpperEpoxideFrameV_medium) {
1589 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
1591 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
1600 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1605 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
1609 Double_t alumCableSupportPart_XSize = 3.0;
1610 Double_t alumCableSupportPart_YSize = 41.3;
1611 Double_t alumCableSupportPart_ZSize = 0.2;
1613 Double_t alumCableSupport_XDistBetweenParts = 164.82;
1616 TString(
"alumCableSupportPartS") +=
1618 alumCableSupportPart_XSize * 0.5, alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
1623 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1624 alumCableSupportPart_pos1->
SetDy(0.0);
1625 alumCableSupportPart_pos1->
SetDz(0.0);
1631 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1632 alumCableSupportPart_pos2->
SetDy(0.0);
1633 alumCableSupportPart_pos2->
SetDz(0.0);
1639 TString expression =
"alumCableSupportPartS";
1641 expression +=
":alumCableSupportPart_pos1";
1643 expression +=
"+alumCableSupportPartS";
1645 expression +=
":alumCableSupportPart_pos2";
1648 alumCableSupportS->
MakeNode(expression);
1657 if (alumCableSupportV_medium) {
1658 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
1660 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
1669 alumCableSupport_transf[0]->
SetDx(0.0);
1671 - frontLowerEpoxideFrame_YSize + 0.2 );
1673 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1675 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
1679 Double_t amplifierUpperBlockPart1_XSize = 161.44;
1680 Double_t amplifierUpperBlockPart1_YSize = 0.6;
1681 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
1683 Double_t amplifierUpperBlockPart2_XSize = 161.16;
1684 Double_t amplifierUpperBlockPart2_YSize = 0.6;
1685 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
1690 amplifierUpperBlockPart1_XSize * 0.5, amplifierUpperBlockPart1_YSize * 0.5,
1691 amplifierUpperBlockPart1_ZSize * 0.5);
1695 amplifierUpperBlockPart2_XSize * 0.5, amplifierUpperBlockPart2_YSize * 0.5,
1696 amplifierUpperBlockPart2_ZSize * 0.5);
1701 amplifierUpperBlockPart1_pos->
SetDx(0.0);
1702 amplifierUpperBlockPart1_pos->
SetDy(0.0);
1703 amplifierUpperBlockPart1_pos->
SetDz(0.0);
1709 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
1710 amplifierUpperBlockPart2_pos->
SetDy(
1711 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
1712 amplifierUpperBlockPart2_pos->
SetDz(0.0);
1719 TString expression =
"amplifierUpperBlockPart1S";
1721 expression +=
":amplifierUpperBlockPart1_pos";
1723 expression +=
"+amplifierUpperBlockPart1S";
1725 expression +=
":amplifierUpperBlockPart2_pos";
1728 amplifierUpperBlockS->
MakeNode(expression);
1737 if (amplifierUpperBlockV_medium) {
1738 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
1740 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
1749 amplifierUpperBlock_transf[0]->
SetDx(0.0);
1754 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
1758 Double_t amplifierSideBlockPartBig_XSize = 0.6;
1759 Double_t amplifierSideBlockPartBig_YSize = 33.9;
1760 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
1762 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
1763 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
1764 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
1769 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
1770 amplifierSideBlockPartBig_ZSize * 0.5);
1771 TGeoShape* amplifierSideBlockPartSmallS =
1774 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
1775 amplifierSideBlockPartSmall_ZSize * 0.5);
1780 amplifierSideBlockPartBig_pos->
SetDx(0.0);
1781 amplifierSideBlockPartBig_pos->
SetDy(0.0);
1782 amplifierSideBlockPartBig_pos->
SetDz(0.0);
1788 amplifierSideBlockPartSmall_pos->
SetDx(
1789 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
1790 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
1791 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
1797 TString expression =
"amplifierSideBlockPartBigS";
1799 expression +=
":amplifierSideBlockPartBig_pos";
1801 expression +=
"+amplifierSideBlockPartSmallS";
1803 expression +=
":amplifierSideBlockPartSmall_pos";
1806 amplifierSideBlockS->
MakeNode(expression);
1815 if (amplifierSideBlockV_medium) {
1816 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
1818 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
1827 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
1828 amplifierSideBlock_transf[0]->
SetDy(-5.5);
1833 amplifierSideBlock_transf[1]->
RotateY(180.0);
1834 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
1835 amplifierSideBlock_transf[1]->
SetDy(-5.5);
1839 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
1840 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
1850 upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
1856 if (upperPcbV_medium) {
1859 Fatal(
"Main",
"Invalid medium for upperPcbV!");
1868 upperPcb_transf[0]->
SetDx(+0.1 );
1869 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
1871 - frontSideEpoxideFramePart_ZSize);
1873 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
1878 Double_t sidePcbPart_YSize = 35.05;
1883 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
1888 sidePcbPart_pos1->
SetDx(0.0);
1889 sidePcbPart_pos1->
SetDy(0.0);
1890 sidePcbPart_pos1->
SetDz(0.0);
1896 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
1897 sidePcbPart_pos2->
SetDy(0.0);
1898 sidePcbPart_pos2->
SetDz(0.0);
1904 TString expression =
"sidePcbPartS";
1906 expression +=
":sidePcbPart_pos1";
1908 expression +=
"+sidePcbPartS";
1910 expression +=
":sidePcbPart_pos2";
1921 if (sidePcbV_medium) {
1924 Fatal(
"Main",
"Invalid medium for sidePcbV!");
1933 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
1934 sidePcb_transf[0]->
SetDy(-6.8 );
1936 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1939 sidePcb_transf[1]->
RotateY(180.0);
1940 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
1941 sidePcb_transf[1]->
SetDy(-6.8 );
1943 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1945 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
1946 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
1950 Double_t alumSideSupport_XSize = 4.8;
1951 Double_t alumSideSupport_YSize = 52.6;
1952 Double_t alumSideSupport_ZSize = 0.4;
1956 alumSideSupport_XSize * 0.5, alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
1963 if (alumSideSupportV_medium) {
1964 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
1966 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
1975 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
1976 alumSideSupport_transf[0]->
SetDy(+1.8);
1980 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
1981 alumSideSupport_transf[1]->
SetDy(+1.8 );
1984 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
1985 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
1995 boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
2001 if (boschShapeV_medium) {
2002 boschShapeV->
SetMedium(boschShapeV_medium);
2004 Fatal(
"Main",
"Invalid medium for boschShapeV!");
2013 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
2014 boschShape_transf[0]->
SetDy(+1.8 );
2018 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
2019 boschShape_transf[1]->
SetDy(+1.8 );
2027 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
2028 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
2029 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
2030 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
2032 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
2033 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
2034 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
2035 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
2037 Double_t insidePolyacetalShapeLower_XSize = 8.4;
2038 Double_t insidePolyacetalShapeLower_YSize = 52.6;
2039 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
2040 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
2042 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
2043 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
2044 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
2045 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
2047 TGeoShape* insidePolyacetalShapeUpperS =
2050 insidePolyacetalShapeUpper_XSize * 0.5, insidePolyacetalShapeUpper_YSize * 0.5,
2051 insidePolyacetalShapeUpper_ZSize * 0.5);
2052 TGeoShape* outsidePolyacetalShapeUpperS =
2055 outsidePolyacetalShapeUpper_XSize * 0.5, outsidePolyacetalShapeUpper_YSize * 0.5,
2056 outsidePolyacetalShapeUpper_ZSize * 0.5);
2057 TGeoShape* insidePolyacetalShapeLowerS =
2060 insidePolyacetalShapeLower_XSize * 0.5, insidePolyacetalShapeLower_YSize * 0.5,
2061 insidePolyacetalShapeLower_ZSize * 0.5);
2062 TGeoShape* outsidePolyacetalShapeLowerS =
2065 outsidePolyacetalShapeLower_XSize * 0.5, outsidePolyacetalShapeLower_YSize * 0.5,
2066 outsidePolyacetalShapeLower_ZSize * 0.5);
2069 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
2071 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
2073 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
2075 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
2079 if (polyacetalShapeV_medium) {
2080 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2081 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2082 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2083 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2085 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
2100 insidePolyacetalShapeUpper_transf[0]->
SetDx(
2101 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2102 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
2103 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2106 insidePolyacetalShapeUpper_transf[1]->
SetDx(
2107 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2108 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
2109 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2114 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
2115 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2116 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2117 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2118 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2121 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
2122 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2123 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2124 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2125 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2130 insidePolyacetalShapeLower_transf[0]->
SetDx(
2131 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2132 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
2133 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2136 insidePolyacetalShapeLower_transf[1]->
SetDx(
2137 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2138 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
2139 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2144 outsidePolyacetalShapeLower_transf[0]->
SetDx(
2145 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2146 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2147 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2148 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2151 outsidePolyacetalShapeLower_transf[1]->
SetDx(
2152 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2153 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2154 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2155 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2158 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
2159 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
2160 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
2161 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
2165 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
2166 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
2167 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
2168 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
2174 Double_t lowerFiberGlassBlock_XSize = 165.1;
2175 Double_t lowerFiberGlassBlock_YSize = 1.75;
2176 Double_t lowerFiberGlassBlock_ZSize = 0.9;
2178 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
2179 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
2180 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
2185 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
2186 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
2188 TString(
"lowerFiberGlassBlockArchS") +=
2190 lowerFiberGlassBlockArch_Rmin, lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
2193 lowerFiberGlassBlockHalf_pos1->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos1") +=
2196 lowerFiberGlassBlockHalf_pos1->
SetDx(
2197 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2198 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2199 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
2203 lowerFiberGlassBlockHalf_pos2->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos2") +=
2206 lowerFiberGlassBlockHalf_pos2->
SetDx(
2207 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2208 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2209 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
2213 lowerFiberGlassBlockArch_pos->
SetName(
TString(
"lowerFiberGlassBlockArch_pos") +=
2216 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
2217 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
2218 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
2222 lowerFiberGlassBlockS->
SetName(
TString(
"lowerFiberGlassBlockS") +=
2225 TString expression =
"lowerFiberGlassBlockHalfS";
2227 expression +=
":lowerFiberGlassBlockHalf_pos1";
2229 expression +=
"+lowerFiberGlassBlockHalfS";
2231 expression +=
":lowerFiberGlassBlockHalf_pos2";
2233 expression +=
"+lowerFiberGlassBlockArchS";
2235 expression +=
":lowerFiberGlassBlockArch_pos";
2238 lowerFiberGlassBlockS->
MakeNode(expression);
2247 if (lowerFiberGlassBlockV_medium) {
2248 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
2250 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
2259 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
2261 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
2263 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
2267 Double_t sideFiberGlassBlockPart_XSize = 1.45;
2268 Double_t sideFiberGlassBlockPart_YSize = 49.4;
2269 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
2272 TString(
"sideFiberGlassBlockS") +=
2274 sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5, sideFiberGlassBlockPart_ZSize * 0.5);
2281 if (sideFiberGlassBlockV_medium) {
2282 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
2284 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
2293 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2294 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
2295 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2298 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2299 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
2300 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
2302 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
2303 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
2307 Double_t upperFiberGlassBlock_XSize = 165.1;
2308 Double_t upperFiberGlassBlock_YSize = 1.45;
2309 Double_t upperFiberGlassBlock_ZSize = 0.89;
2312 TString(
"upperFiberGlassBlockS") +=
2314 upperFiberGlassBlock_XSize * 0.5, upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
2321 if (upperFiberGlassBlockV_medium) {
2322 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
2324 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
2333 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
2334 upperFiberGlassBlock_transf[0]->
SetDy(
2335 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
2336 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2338 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
2342 Double_t upperBrasslayer_XSize = 165.1;
2343 Double_t upperBrasslayer_YSize = 1.45;
2344 Double_t upperBrasslayer_ZSize = 0.005;
2346 Double_t sideBrasslayer_XSize = 1.45;
2347 Double_t sideBrasslayer_YSize = 49.4;
2348 Double_t sideBrasslayer_ZSize = 0.005;
2352 upperBrasslayer_XSize * 0.5, upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
2355 sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5, sideBrasslayer_ZSize * 0.5);
2364 if (upperBrasslayerV_medium) {
2365 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2366 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2368 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
2379 upperBrasslayer_transf[0]->
SetDx(0.0);
2380 upperBrasslayer_transf[0]->
SetDy(
2381 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
2387 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2388 sideBrasslayer_transf[0]->
SetDy(+0.45 );
2392 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2393 sideBrasslayer_transf[1]->
SetDy(+0.45 );
2396 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
2398 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
2399 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
2403 Double_t upperSteellayer_XSize = 165.1;
2404 Double_t upperSteellayer_YSize = 1.45;
2405 Double_t upperSteellayer_ZSize = 0.005;
2407 Double_t sideSteellayer_XSize = 1.45;
2408 Double_t sideSteellayer_YSize = 49.4;
2409 Double_t sideSteellayer_ZSize = 0.005;
2413 upperSteellayer_XSize * 0.5, upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
2416 sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5, sideSteellayer_ZSize * 0.5);
2425 if (upperSteellayerV_medium) {
2426 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
2427 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
2429 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
2440 upperSteellayer_transf[0]->
SetDx(0.0);
2441 upperSteellayer_transf[0]->
SetDy(
2442 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
2448 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2449 sideSteellayer_transf[0]->
SetDy(+0.45 );
2453 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2454 sideSteellayer_transf[1]->
SetDy(+0.45 );
2457 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
2459 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
2460 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
2493 Double_t layerFront_XShift = -0.445;
2498 Double_t layerBack_XShift = -0.445;
2502 Double_t copperLayer_ZSize = 0.00655;
2503 Double_t copperLayerHole_Radius = 6.0;
2509 layerFront_XSize * 0.5, layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
2513 layerBack_XSize * 0.5, layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
2518 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2522 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2525 copperLayerFrontHole_pos->
SetName(
TString(
"copperLayerFrontHole_pos") +=
2529 copperLayerFrontHole_pos->
SetDz(0.0);
2533 copperLayerBackHole_pos->
SetName(
TString(
"copperLayerBackHole_pos") +=
2537 copperLayerBackHole_pos->
SetDz(0.0);
2544 TString expression =
"copperLayerFrontBlankS";
2546 expression +=
"-copperLayerFrontHoleS";
2548 expression +=
":copperLayerFrontHole_pos";
2551 copperLayerFrontS->
MakeNode(expression);
2559 TString expression =
"copperLayerBackBlankS";
2561 expression +=
"-copperLayerBackHoleS";
2563 expression +=
":copperLayerBackHole_pos";
2566 copperLayerBackS->
MakeNode(expression);
2577 if (copperLayerV_medium) {
2578 copperLayerFrontV->
SetMedium(copperLayerV_medium);
2579 copperLayerBackV->
SetMedium(copperLayerV_medium);
2581 Fatal(
"Main",
"Invalid medium for copperLayerV!");
2592 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2593 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2599 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2600 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2603 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
2604 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
2609 Double_t glueLayerHole_Radius = 6.0;
2615 layerFront_XSize * 0.5, layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
2618 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
2622 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2625 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2628 glueLayerFrontHole_pos->
SetName(
TString(
"glueLayerFrontHole_pos") +=
2632 glueLayerFrontHole_pos->
SetDz(0.0);
2636 glueLayerBackHole_pos->
SetName(
TString(
"glueLayerBackHole_pos") +=
2640 glueLayerBackHole_pos->
SetDz(0.0);
2647 TString expression =
"glueLayerFrontBlankS";
2649 expression +=
"-glueLayerFrontHoleS";
2651 expression +=
":glueLayerFrontHole_pos";
2654 glueLayerFrontS->
MakeNode(expression);
2662 TString expression =
"glueLayerBackBlankS";
2664 expression +=
"-glueLayerBackHoleS";
2666 expression +=
":glueLayerBackHole_pos";
2669 glueLayerBackS->
MakeNode(expression);
2680 if (glueLayerV_medium) {
2681 glueLayerFrontV->
SetMedium(glueLayerV_medium);
2682 glueLayerBackV->
SetMedium(glueLayerV_medium);
2684 Fatal(
"Main",
"Invalid medium for glueLayerV!");
2695 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2696 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2702 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2703 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2706 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
2707 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
2711 Double_t epoxideLayer_ZSize = 0.105;
2712 Double_t epoxideLayerHole_Radius = 6.0;
2718 layerFront_XSize * 0.5, layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2722 layerBack_XSize * 0.5, layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2727 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2731 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2734 epoxideLayerFrontHole_pos->
SetName(
TString(
"epoxideLayerFrontHole_pos") +=
2738 epoxideLayerFrontHole_pos->
SetDz(0.0);
2742 epoxideLayerBackHole_pos->
SetName(
TString(
"epoxideLayerBackHole_pos") +=
2746 epoxideLayerBackHole_pos->
SetDz(0.0);
2753 TString expression =
"epoxideLayerFrontBlankS";
2755 expression +=
"-epoxideLayerFrontHoleS";
2757 expression +=
":epoxideLayerFrontHole_pos";
2760 epoxideLayerFrontS->
MakeNode(expression);
2768 TString expression =
"epoxideLayerBackBlankS";
2770 expression +=
"-epoxideLayerBackHoleS";
2772 expression +=
":epoxideLayerBackHole_pos";
2775 epoxideLayerBackS->
MakeNode(expression);
2786 if (epoxideLayerV_medium) {
2787 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
2788 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
2790 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
2801 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2802 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2804 + epoxideLayer_ZSize * 0.5);
2809 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2810 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2812 - epoxideLayer_ZSize * 0.5);
2814 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
2815 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
2820 Double_t honeycombLayer_ZSize = 1.4 - (0.06805);
2821 Double_t honeycombLayerHole_Radius = 6.0;
2827 layerFront_XSize * 0.5, layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2831 layerBack_XSize * 0.5, layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2836 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2840 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2843 honeycombLayerFrontHole_pos->
SetName(
TString(
"honeycombLayerFrontHole_pos") +=
2847 honeycombLayerFrontHole_pos->
SetDz(0.0);
2851 honeycombLayerBackHole_pos->
SetName(
TString(
"honeycombLayerBackHole_pos") +=
2855 honeycombLayerBackHole_pos->
SetDz(0.0);
2862 TString expression =
"honeycombLayerFrontBlankS";
2864 expression +=
"-honeycombLayerFrontHoleS";
2866 expression +=
":honeycombLayerFrontHole_pos";
2869 honeycombLayerFrontS->
MakeNode(expression);
2877 TString expression =
"honeycombLayerBackBlankS";
2879 expression +=
"-honeycombLayerBackHoleS";
2881 expression +=
":honeycombLayerBackHole_pos";
2884 honeycombLayerBackS->
MakeNode(expression);
2895 if (honeycombLayerV_medium) {
2896 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
2897 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
2899 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
2910 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2911 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2913 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
2918 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2919 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2921 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
2923 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
2924 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
2928 Double_t polyamideLayer_ZSize = 0.0125;
2929 Double_t polyamideLayerHole_Radius = 6.0;
2935 layerFront_XSize * 0.5, layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
2939 layerBack_XSize * 0.5, layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
2944 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
2948 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
2951 polyamideLayerFrontHole_pos->
SetName(
TString(
"polyamideLayerFrontHole_pos") +=
2955 polyamideLayerFrontHole_pos->
SetDz(0.0);
2959 polyamideLayerBackHole_pos->
SetName(
TString(
"polyamideLayerBackHole_pos") +=
2963 polyamideLayerBackHole_pos->
SetDz(0.0);
2970 TString expression =
"polyamideLayerFrontBlankS";
2972 expression +=
"-polyamideLayerFrontHoleS";
2974 expression +=
":polyamideLayerFrontHole_pos";
2977 polyamideLayerFrontS->
MakeNode(expression);
2985 TString expression =
"polyamideLayerBackBlankS";
2987 expression +=
"-polyamideLayerBackHoleS";
2989 expression +=
":polyamideLayerBackHole_pos";
2992 polyamideLayerBackS->
MakeNode(expression);
3003 if (polyamideLayerV_medium) {
3004 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
3005 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
3007 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
3018 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3019 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3021 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
3026 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3027 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3029 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
3031 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
3032 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
3049 Double_t backLowerEpoxideFrame_XSize = 161.42;
3050 Double_t backLowerEpoxideFrame_YSize = 2.2;
3051 Double_t backLowerEpoxideFrame_ZSize = 1.5;
3053 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
3054 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
3055 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
3059 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
3060 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
3062 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
3063 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3068 backLowerEpoxideFrameHalf_pos1->
SetDx(
3069 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3070 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3071 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3077 backLowerEpoxideFrameHalf_pos2->
SetDx(
3078 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3079 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3080 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3085 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
3086 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
3087 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
3093 TString expression =
"backLowerEpoxideFrameHalfS";
3095 expression +=
":backLowerEpoxideFrameHalf1_pos1";
3097 expression +=
"+backLowerEpoxideFrameHalfS";
3099 expression +=
":backLowerEpoxideFrameHalf1_pos2";
3101 expression +=
"+backLowerEpoxideFrameArchS";
3103 expression +=
":backLowerEpoxideFrameArch_pos";
3106 backLowerEpoxideFrameS->
MakeNode(expression);
3115 if (backLowerEpoxideFrameV_medium) {
3116 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
3118 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
3127 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3131 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
3135 Double_t frontLowerEpoxideFrame_XSize = 161.7;
3136 Double_t frontLowerEpoxideFrame_YSize = 2.2;
3137 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
3139 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
3140 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
3141 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
3143 TGeoShape* frontLowerEpoxideFrameHalfS =
3145 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
3146 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
3148 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
3149 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3154 frontLowerEpoxideFrameHalf_pos1->
SetDx(
3155 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3156 + frontLowerEpoxideFrameArch_Rmin));
3157 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3158 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3164 frontLowerEpoxideFrameHalf_pos2->
SetDx(
3165 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3166 + frontLowerEpoxideFrameArch_Rmin));
3167 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3168 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3174 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
3175 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
3176 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
3182 TString expression =
"frontLowerEpoxideFrameHalfS";
3184 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
3186 expression +=
"+frontLowerEpoxideFrameHalfS";
3188 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
3190 expression +=
"+frontLowerEpoxideFrameArchS";
3192 expression +=
":frontLowerEpoxideFrameArch_pos";
3195 frontLowerEpoxideFrameS->
MakeNode(expression);
3204 if (frontLowerEpoxideFrameV_medium) {
3205 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
3207 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
3216 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3220 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
3224 Double_t backSideEpoxideFramePart_XSize = 9.2;
3225 Double_t backSideEpoxideFramePart_YSize = 52.6 - 6.0;
3226 Double_t backSideEpoxideFramePart_ZSize = 1.5;
3228 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
3231 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
3232 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
3236 backSideEpoxideFramePart_pos1->
SetDx(
3237 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3238 backSideEpoxideFramePart_pos1->
SetDy(0.0);
3239 backSideEpoxideFramePart_pos1->
SetDz(0.0);
3244 backSideEpoxideFramePart_pos2->
SetDx(
3245 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3246 backSideEpoxideFramePart_pos2->
SetDy(0.0);
3247 backSideEpoxideFramePart_pos2->
SetDz(0.0);
3253 TString expression =
"backSideEpoxideFramePartS";
3255 expression +=
":backSideEpoxideFramePart_pos1";
3257 expression +=
"+backSideEpoxideFramePartS";
3259 expression +=
":backSideEpoxideFramePart_pos2";
3262 backSideEpoxideFrameS->
MakeNode(expression);
3271 if (backSideEpoxideFrameV_medium) {
3272 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
3274 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
3283 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
3285 - frontLowerEpoxideFrame_YSize + 0.2 );
3288 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
3292 Double_t backUpperEpoxideFrame_XSize = 161.42;
3293 Double_t backUpperEpoxideFrame_YSize = 6.2;
3294 Double_t backUpperEpoxideFrame_ZSize = 1.6;
3297 TString(
"backUpperEpoxideFrameS") +=
TString(
"_") + frames->
GetName(), backUpperEpoxideFrame_XSize * 0.5,
3298 backUpperEpoxideFrame_YSize * 0.5, backUpperEpoxideFrame_ZSize * 0.5);
3305 if (backUpperEpoxideFrameV_medium) {
3306 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
3308 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
3317 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3322 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
3326 Double_t frontSideEpoxideFramePart_XSize = 3.5;
3327 Double_t frontSideEpoxideFramePart_YSize = 49.9 - 6.0;
3328 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
3330 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
3334 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
3335 frontSideEpoxideFramePart_ZSize * 0.5);
3340 frontSideEpoxideFramePart_pos1->
SetDx(
3341 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3342 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
3343 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
3349 frontSideEpoxideFramePart_pos2->
SetDx(
3350 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3351 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
3352 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
3358 TString expression =
"frontSideEpoxideFramePartS";
3360 expression +=
":frontSideEpoxideFramePart_pos1";
3362 expression +=
"+frontSideEpoxideFramePartS";
3364 expression +=
":frontSideEpoxideFramePart_pos2";
3367 frontSideEpoxideFrameS->
MakeNode(expression);
3376 if (frontSideEpoxideFrameV_medium) {
3377 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
3379 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
3388 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
3390 - frontLowerEpoxideFrame_YSize + 0.2 );
3393 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
3397 Double_t frontUpperEpoxideFrame_XSize = 161.7;
3398 Double_t frontUpperEpoxideFrame_YSize = 3.5;
3399 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
3402 TString(
"frontUpperEpoxideFrameS") +=
TString(
"_") + frames->
GetName(), frontUpperEpoxideFrame_XSize * 0.5,
3403 frontUpperEpoxideFrame_YSize * 0.5, frontUpperEpoxideFrame_ZSize * 0.5);
3410 if (frontUpperEpoxideFrameV_medium) {
3411 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
3413 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
3422 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3427 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
3431 Double_t alumCableSupportPart_XSize = 3.0;
3432 Double_t alumCableSupportPart_YSize = 41.3 - 6.0;
3433 Double_t alumCableSupportPart_ZSize = 0.2;
3435 Double_t alumCableSupport_XDistBetweenParts = 164.82;
3438 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
3439 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
3443 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3444 alumCableSupportPart_pos1->
SetDy(0.0);
3445 alumCableSupportPart_pos1->
SetDz(0.0);
3450 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3451 alumCableSupportPart_pos2->
SetDy(0.0);
3452 alumCableSupportPart_pos2->
SetDz(0.0);
3458 TString expression =
"alumCableSupportPartS";
3460 expression +=
":alumCableSupportPart_pos1";
3462 expression +=
"+alumCableSupportPartS";
3464 expression +=
":alumCableSupportPart_pos2";
3467 alumCableSupportS->
MakeNode(expression);
3476 if (alumCableSupportV_medium) {
3477 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
3479 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
3488 alumCableSupport_transf[0]->
SetDx(0.0);
3490 - frontLowerEpoxideFrame_YSize + 0.2 );
3492 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3494 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
3498 Double_t amplifierUpperBlockPart1_XSize = 161.44;
3499 Double_t amplifierUpperBlockPart1_YSize = 0.6;
3500 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
3502 Double_t amplifierUpperBlockPart2_XSize = 161.16;
3503 Double_t amplifierUpperBlockPart2_YSize = 0.6;
3504 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
3507 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
3508 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
3510 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
3511 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
3515 amplifierUpperBlockPart1_pos->
SetDx(0.0);
3516 amplifierUpperBlockPart1_pos->
SetDy(0.0);
3517 amplifierUpperBlockPart1_pos->
SetDz(0.0);
3522 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
3523 amplifierUpperBlockPart2_pos->
SetDy(
3524 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
3525 amplifierUpperBlockPart2_pos->
SetDz(0.0);
3531 TString expression =
"amplifierUpperBlockPart1S";
3533 expression +=
":amplifierUpperBlockPart1_pos";
3535 expression +=
"+amplifierUpperBlockPart1S";
3537 expression +=
":amplifierUpperBlockPart2_pos";
3540 amplifierUpperBlockS->
MakeNode(expression);
3549 if (amplifierUpperBlockV_medium) {
3550 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
3552 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
3561 amplifierUpperBlock_transf[0]->
SetDx(0.0);
3566 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
3570 Double_t amplifierSideBlockPartBig_XSize = 0.6;
3571 Double_t amplifierSideBlockPartBig_YSize = 33.9;
3572 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
3574 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
3575 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
3576 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
3580 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
3581 amplifierSideBlockPartBig_ZSize * 0.5);
3582 TGeoShape* amplifierSideBlockPartSmallS =
3584 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
3585 amplifierSideBlockPartSmall_ZSize * 0.5);
3589 amplifierSideBlockPartBig_pos->
SetDx(0.0);
3590 amplifierSideBlockPartBig_pos->
SetDy(0.0);
3591 amplifierSideBlockPartBig_pos->
SetDz(0.0);
3597 amplifierSideBlockPartSmall_pos->
SetDx(
3598 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
3599 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
3600 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
3606 TString expression =
"amplifierSideBlockPartBigS";
3608 expression +=
":amplifierSideBlockPartBig_pos";
3610 expression +=
"+amplifierSideBlockPartSmallS";
3612 expression +=
":amplifierSideBlockPartSmall_pos";
3615 amplifierSideBlockS->
MakeNode(expression);
3624 if (amplifierSideBlockV_medium) {
3625 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
3627 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
3636 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
3637 amplifierSideBlock_transf[0]->
SetDy(-5.5 + 6.0 * 0.5);
3642 amplifierSideBlock_transf[1]->
RotateY(180.0);
3643 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
3644 amplifierSideBlock_transf[1]->
SetDy(-5.5 + 6.0 * 0.5);
3648 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
3649 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
3658 upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
3664 if (upperPcbV_medium) {
3667 Fatal(
"Main",
"Invalid medium for upperPcbV!");
3676 upperPcb_transf[0]->
SetDx(+0.1 );
3677 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ) - 6.0 * 0.5);
3679 - frontSideEpoxideFramePart_ZSize);
3681 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
3686 Double_t sidePcbPart_YSize = 35.05;
3690 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
3694 sidePcbPart_pos1->
SetDx(0.0);
3695 sidePcbPart_pos1->
SetDy(0.0);
3696 sidePcbPart_pos1->
SetDz(0.0);
3701 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
3702 sidePcbPart_pos2->
SetDy(0.0);
3703 sidePcbPart_pos2->
SetDz(0.0);
3709 TString expression =
"sidePcbPartS";
3711 expression +=
":sidePcbPart_pos1";
3713 expression +=
"+sidePcbPartS";
3715 expression +=
":sidePcbPart_pos2";
3726 if (sidePcbV_medium) {
3729 Fatal(
"Main",
"Invalid medium for sidePcbV!");
3738 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
3739 sidePcb_transf[0]->
SetDy(-6.8 + 6.0 * 0.5);
3741 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3744 sidePcb_transf[1]->
RotateY(180.0);
3745 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
3746 sidePcb_transf[1]->
SetDy(-6.8 + 6.0 * 0.5);
3748 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3750 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
3751 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
3755 Double_t alumSideSupport_XSize = 4.8;
3756 Double_t alumSideSupport_YSize = 52.6 - 6.0;
3757 Double_t alumSideSupport_ZSize = 0.4;
3761 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
3768 if (alumSideSupportV_medium) {
3769 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
3771 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
3780 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
3781 alumSideSupport_transf[0]->
SetDy(+1.8);
3785 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
3786 alumSideSupport_transf[1]->
SetDy(+1.8 );
3789 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
3790 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
3795 Double_t boschShape_YSize = 52.6 - 6.0;
3799 boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
3805 if (boschShapeV_medium) {
3806 boschShapeV->
SetMedium(boschShapeV_medium);
3808 Fatal(
"Main",
"Invalid medium for boschShapeV!");
3817 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
3818 boschShape_transf[0]->
SetDy(+1.8 );
3822 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
3823 boschShape_transf[1]->
SetDy(+1.8 );
3831 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
3832 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
3833 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
3834 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
3836 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
3837 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
3838 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
3839 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
3841 Double_t insidePolyacetalShapeLower_XSize = 8.4;
3842 Double_t insidePolyacetalShapeLower_YSize = 52.6 - 6.0;
3843 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
3844 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
3846 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
3847 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
3848 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
3849 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
3851 TGeoShape* insidePolyacetalShapeUpperS =
3853 insidePolyacetalShapeUpper_XSize * 0.5, insidePolyacetalShapeUpper_YSize * 0.5,
3854 insidePolyacetalShapeUpper_ZSize * 0.5);
3855 TGeoShape* outsidePolyacetalShapeUpperS =
3857 outsidePolyacetalShapeUpper_XSize * 0.5, outsidePolyacetalShapeUpper_YSize * 0.5,
3858 outsidePolyacetalShapeUpper_ZSize * 0.5);
3859 TGeoShape* insidePolyacetalShapeLowerS =
3861 insidePolyacetalShapeLower_XSize * 0.5, insidePolyacetalShapeLower_YSize * 0.5,
3862 insidePolyacetalShapeLower_ZSize * 0.5);
3863 TGeoShape* outsidePolyacetalShapeLowerS =
3865 outsidePolyacetalShapeLower_XSize * 0.5, outsidePolyacetalShapeLower_YSize * 0.5,
3866 outsidePolyacetalShapeLower_ZSize * 0.5);
3869 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
3871 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
3873 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
3875 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
3879 if (polyacetalShapeV_medium) {
3880 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3881 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3882 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3883 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3885 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
3900 insidePolyacetalShapeUpper_transf[0]->
SetDx(
3901 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3902 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
3903 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3906 insidePolyacetalShapeUpper_transf[1]->
SetDx(
3907 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3908 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
3909 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3914 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
3915 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3916 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3917 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3918 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3921 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
3922 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3923 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3924 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3925 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3930 insidePolyacetalShapeLower_transf[0]->
SetDx(
3931 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3932 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
3933 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
3936 insidePolyacetalShapeLower_transf[1]->
SetDx(
3937 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3938 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
3939 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
3944 outsidePolyacetalShapeLower_transf[0]->
SetDx(
3945 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3946 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
3947 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
3948 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
3951 outsidePolyacetalShapeLower_transf[1]->
SetDx(
3952 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3953 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
3954 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
3955 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
3958 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
3959 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
3960 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
3961 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
3965 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
3966 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
3967 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
3968 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
3974 Double_t lowerFiberGlassBlock_XSize = 165.1;
3975 Double_t lowerFiberGlassBlock_YSize = 1.75;
3976 Double_t lowerFiberGlassBlock_ZSize = 0.9;
3978 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
3979 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
3980 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
3984 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
3985 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
3987 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
3988 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
3991 lowerFiberGlassBlockHalf_pos1->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos1") +=
3993 lowerFiberGlassBlockHalf_pos1->
SetDx(
3994 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
3995 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
3996 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
4000 lowerFiberGlassBlockHalf_pos2->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos2") +=
4002 lowerFiberGlassBlockHalf_pos2->
SetDx(
4003 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4004 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4005 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
4010 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
4011 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
4012 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
4018 TString expression =
"lowerFiberGlassBlockHalfS";
4020 expression +=
":lowerFiberGlassBlockHalf_pos1";
4022 expression +=
"+lowerFiberGlassBlockHalfS";
4024 expression +=
":lowerFiberGlassBlockHalf_pos2";
4026 expression +=
"+lowerFiberGlassBlockArchS";
4028 expression +=
":lowerFiberGlassBlockArch_pos";
4031 lowerFiberGlassBlockS->
MakeNode(expression);
4040 if (lowerFiberGlassBlockV_medium) {
4041 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
4043 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
4052 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
4054 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
4056 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
4060 Double_t sideFiberGlassBlockPart_XSize = 1.45;
4061 Double_t sideFiberGlassBlockPart_YSize = 49.4 - 6.0;
4062 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
4065 TString(
"sideFiberGlassBlockS") +=
TString(
"_") + frames->
GetName(), sideFiberGlassBlockPart_XSize * 0.5,
4066 sideFiberGlassBlockPart_YSize * 0.5, sideFiberGlassBlockPart_ZSize * 0.5);
4073 if (sideFiberGlassBlockV_medium) {
4074 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
4076 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
4085 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4086 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
4087 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4090 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4091 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
4092 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
4094 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
4095 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
4099 Double_t upperFiberGlassBlock_XSize = 165.1;
4100 Double_t upperFiberGlassBlock_YSize = 1.45;
4101 Double_t upperFiberGlassBlock_ZSize = 0.89;
4104 TString(
"upperFiberGlassBlockS") +=
TString(
"_") + frames->
GetName(), upperFiberGlassBlock_XSize * 0.5,
4105 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
4112 if (upperFiberGlassBlockV_medium) {
4113 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
4115 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
4124 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
4125 upperFiberGlassBlock_transf[0]->
SetDy(
4126 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
4127 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4129 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
4133 Double_t upperBrasslayer_XSize = 165.1;
4134 Double_t upperBrasslayer_YSize = 1.45;
4135 Double_t upperBrasslayer_ZSize = 0.005;
4137 Double_t sideBrasslayer_XSize = 1.45;
4138 Double_t sideBrasslayer_YSize = 49.4 - 6.0;
4139 Double_t sideBrasslayer_ZSize = 0.005;
4143 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
4146 sideBrasslayer_YSize * 0.5, sideBrasslayer_ZSize * 0.5);
4155 if (upperBrasslayerV_medium) {
4156 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4157 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4159 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
4170 upperBrasslayer_transf[0]->
SetDx(0.0);
4171 upperBrasslayer_transf[0]->
SetDy(
4172 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
4178 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4179 sideBrasslayer_transf[0]->
SetDy(+0.45 );
4183 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4184 sideBrasslayer_transf[1]->
SetDy(+0.45 );
4187 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
4189 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
4190 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
4194 Double_t upperSteellayer_XSize = 165.1;
4195 Double_t upperSteellayer_YSize = 1.45;
4196 Double_t upperSteellayer_ZSize = 0.005;
4198 Double_t sideSteellayer_XSize = 1.45;
4199 Double_t sideSteellayer_YSize = 49.4 - 6.0;
4200 Double_t sideSteellayer_ZSize = 0.005;
4204 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
4207 sideSteellayer_YSize * 0.5, sideSteellayer_ZSize * 0.5);
4216 if (upperSteellayerV_medium) {
4217 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
4218 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
4220 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
4231 upperSteellayer_transf[0]->
SetDx(0.0);
4232 upperSteellayer_transf[0]->
SetDy(
4233 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
4239 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4240 sideSteellayer_transf[0]->
SetDy(+0.45 );
4244 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4245 sideSteellayer_transf[1]->
SetDy(+0.45 );
4248 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
4250 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
4251 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
4456 Double_t outsideLayer_XSize = 10.5;
4457 Double_t outsideLayer_YSize = 10.5;
4462 Double_t copperOutsideLayer1_ZSize = 0.0005;
4463 Double_t kaptonOutsideLayer1_ZSize = 0.005;
4465 Double_t copperOutsideLayer2_ZSize = 0.0007;
4466 Double_t kaptonOutsideLayer2_ZSize = 0.003;
4468 Double_t copperOutsideLayer3_ZSize = 0.0007;
4469 Double_t kaptonOutsideLayer3_ZSize = 0.003;
4471 Double_t copperOutsideLayer4_ZSize = 0.0007;
4472 Double_t kaptonOutsideLayer4_ZSize = 0.003;
4476 outsideLayer_YSize * 0.5, copperOutsideLayer1_ZSize * 0.5);
4479 outsideLayer_YSize * 0.5, kaptonOutsideLayer1_ZSize * 0.5);
4483 outsideLayer_YSize * 0.5, copperOutsideLayer2_ZSize * 0.5);
4486 outsideLayer_YSize * 0.5, kaptonOutsideLayer2_ZSize * 0.5);
4490 outsideLayer_YSize * 0.5, copperOutsideLayer3_ZSize * 0.5);
4493 outsideLayer_YSize * 0.5, kaptonOutsideLayer3_ZSize * 0.5);
4497 outsideLayer_YSize * 0.5, copperOutsideLayer4_ZSize * 0.5);
4500 outsideLayer_YSize * 0.5, kaptonOutsideLayer4_ZSize * 0.5);
4504 insideLayer_YSize * 0.5, copperOutsideLayer1_ZSize * 0.5 + 0.01);
4507 insideLayer_YSize * 0.5, kaptonOutsideLayer1_ZSize * 0.5 + 0.01);
4511 insideLayer_YSize * 0.5, copperOutsideLayer2_ZSize * 0.5 + 0.01);
4514 insideLayer_YSize * 0.5, kaptonOutsideLayer2_ZSize * 0.5 + 0.01);
4518 insideLayer_YSize * 0.5, copperOutsideLayer3_ZSize * 0.5 + 0.01);
4521 insideLayer_YSize * 0.5, kaptonOutsideLayer3_ZSize * 0.5 + 0.01);
4525 insideLayer_YSize * 0.5, copperOutsideLayer4_ZSize * 0.5 + 0.01);
4528 insideLayer_YSize * 0.5, kaptonOutsideLayer4_ZSize * 0.5 + 0.01);
4533 TString expression =
"copperOutsideLayerBlank1S";
4534 expression +=
TString(
"_") + layer_name;
4535 expression +=
"-copperInsideLayerBlank1S";
4536 expression +=
TString(
"_") + layer_name;
4538 copperOutsideLayer1S->
MakeNode(expression);
4544 TString expression =
"kaptonOutsideLayerBlank1S";
4545 expression +=
TString(
"_") + layer_name;
4546 expression +=
"-kaptonInsideLayerBlank1S";
4547 expression +=
TString(
"_") + layer_name;
4549 kaptonOutsideLayer1S->
MakeNode(expression);
4556 TString expression =
"copperOutsideLayerBlank2S";
4557 expression +=
TString(
"_") + layer_name;
4558 expression +=
"-copperInsideLayerBlank2S";
4559 expression +=
TString(
"_") + layer_name;
4561 copperOutsideLayer2S->
MakeNode(expression);
4567 TString expression =
"kaptonOutsideLayerBlank2S";
4568 expression +=
TString(
"_") + layer_name;
4569 expression +=
"-kaptonInsideLayerBlank2S";
4570 expression +=
TString(
"_") + layer_name;
4572 kaptonOutsideLayer2S->
MakeNode(expression);
4579 TString expression =
"copperOutsideLayerBlank3S";
4580 expression +=
TString(
"_") + layer_name;
4581 expression +=
"-copperInsideLayerBlank3S";
4582 expression +=
TString(
"_") + layer_name;
4584 copperOutsideLayer3S->
MakeNode(expression);
4590 TString expression =
"kaptonOutsideLayerBlank3S";
4591 expression +=
TString(
"_") + layer_name;
4592 expression +=
"-kaptonInsideLayerBlank3S";
4593 expression +=
TString(
"_") + layer_name;
4595 kaptonOutsideLayer3S->
MakeNode(expression);
4602 TString expression =
"copperOutsideLayerBlank4S";
4603 expression +=
TString(
"_") + layer_name;
4604 expression +=
"-copperInsideLayerBlank4S";
4605 expression +=
TString(
"_") + layer_name;
4607 copperOutsideLayer4S->
MakeNode(expression);
4613 TString expression =
"kaptonOutsideLayerBlank4S";
4614 expression +=
TString(
"_") + layer_name;
4615 expression +=
"-kaptonInsideLayerBlank4S";
4616 expression +=
TString(
"_") + layer_name;
4618 kaptonOutsideLayer4S->
MakeNode(expression);
4644 if (copperOutsideLayerV_medium) {
4645 copperOutsideLayer1V->
SetMedium(copperOutsideLayerV_medium);
4646 copperOutsideLayer2V->
SetMedium(copperOutsideLayerV_medium);
4647 copperOutsideLayer3V->
SetMedium(copperOutsideLayerV_medium);
4648 copperOutsideLayer4V->
SetMedium(copperOutsideLayerV_medium);
4650 Fatal(
"Main",
"Invalid medium for copperOutsideLayerV!");
4653 if (kaptonOutsideLayerV_medium) {
4654 kaptonOutsideLayer1V->
SetMedium(kaptonOutsideLayerV_medium);
4655 kaptonOutsideLayer2V->
SetMedium(kaptonOutsideLayerV_medium);
4656 kaptonOutsideLayer3V->
SetMedium(kaptonOutsideLayerV_medium);
4657 kaptonOutsideLayer4V->
SetMedium(kaptonOutsideLayerV_medium);
4659 Fatal(
"Main",
"Invalid medium for kaptonOutsideLayerV!");
4681 copperOutsideLayer1V_transf[0]->
SetDx(0.0);
4682 copperOutsideLayer1V_transf[0]->
SetDy(0.0);
4687 kaptonOutsideLayer1V_transf[0]->
SetDx(0.0);
4688 kaptonOutsideLayer1V_transf[0]->
SetDy(0.0);
4689 kaptonOutsideLayer1V_transf[0]->
SetDz(-(copperOutsideLayer1_ZSize * 0.5 + kaptonOutsideLayer1_ZSize * 0.5)
4694 copperOutsideLayer2V_transf[0]->
SetDx(0.0);
4695 copperOutsideLayer2V_transf[0]->
SetDy(0.0);
4700 kaptonOutsideLayer2V_transf[0]->
SetDx(0.0);
4701 kaptonOutsideLayer2V_transf[0]->
SetDy(0.0);
4702 kaptonOutsideLayer2V_transf[0]->
SetDz(-(copperOutsideLayer2_ZSize * 0.5 + kaptonOutsideLayer2_ZSize * 0.5)
4707 copperOutsideLayer3V_transf[0]->
SetDx(0.0);
4708 copperOutsideLayer3V_transf[0]->
SetDy(0.0);
4713 kaptonOutsideLayer3V_transf[0]->
SetDx(0.0);
4714 kaptonOutsideLayer3V_transf[0]->
SetDy(0.0);
4715 kaptonOutsideLayer3V_transf[0]->
SetDz(-(copperOutsideLayer3_ZSize * 0.5 + kaptonOutsideLayer3_ZSize * 0.5)
4720 copperOutsideLayer4V_transf[0]->
SetDx(0.0);
4721 copperOutsideLayer4V_transf[0]->
SetDy(0.0);
4726 kaptonOutsideLayer4V_transf[0]->
SetDx(0.0);
4727 kaptonOutsideLayer4V_transf[0]->
SetDy(0.0);
4728 kaptonOutsideLayer4V_transf[0]->
SetDz(-(copperOutsideLayer4_ZSize * 0.5 + kaptonOutsideLayer4_ZSize * 0.5)
4731 layers->
AddNode(copperOutsideLayer1V, 0, copperOutsideLayer1V_transf[0]);
4732 layers->
AddNode(kaptonOutsideLayer1V, 0, kaptonOutsideLayer1V_transf[0]);
4733 layers->
AddNode(copperOutsideLayer2V, 0, copperOutsideLayer2V_transf[0]);
4734 layers->
AddNode(kaptonOutsideLayer2V, 0, kaptonOutsideLayer2V_transf[0]);
4735 layers->
AddNode(copperOutsideLayer3V, 0, copperOutsideLayer3V_transf[0]);
4736 layers->
AddNode(kaptonOutsideLayer3V, 0, kaptonOutsideLayer3V_transf[0]);
4737 layers->
AddNode(copperOutsideLayer4V, 0, copperOutsideLayer4V_transf[0]);
4738 layers->
AddNode(kaptonOutsideLayer4V, 0, kaptonOutsideLayer4V_transf[0]);
4754 Double_t outsideFilmFrame_XSize = 12.5;
4755 Double_t outsideFilmFrame_YSize = 12.5;
4757 Double_t insideFilmFrame_XSize = 10.5;
4758 Double_t insideFilmFrame_YSize = 10.5;
4760 Double_t fiberglassFilmFrame_ZSize = 0.05;
4761 Double_t epoxideFilmFrame_ZSize = 0.005;
4762 Double_t kaptonFilmFrame_ZSize = 0.005;
4764 TGeoShape* fiberglassOutsideFilmFrameBlankS =
4766 outsideFilmFrame_XSize * 0.5, outsideFilmFrame_YSize * 0.5, fiberglassFilmFrame_ZSize * 0.5);
4767 TGeoShape* fiberglassInsideFilmFrameBlankS =
4769 insideFilmFrame_XSize * 0.5, insideFilmFrame_YSize * 0.5, fiberglassFilmFrame_ZSize * 0.5 + 0.01);
4771 TGeoShape* epoxideOutsideFilmFrameBlankS =
4772 new TGeoBBox(
TString(
"epoxideOutsideFilmFrameBlankS") +
TString(
"_") + frame_name, outsideFilmFrame_XSize * 0.5,
4773 outsideFilmFrame_YSize * 0.5, epoxideFilmFrame_ZSize * 0.5);
4774 TGeoShape* epoxideInsideFilmFrameBlankS =
4775 new TGeoBBox(
TString(
"epoxideInsideFilmFrameBlankS") +
TString(
"_") + frame_name, insideFilmFrame_XSize * 0.5,
4776 insideFilmFrame_YSize * 0.5, epoxideFilmFrame_ZSize * 0.5 + 0.01);
4778 TGeoShape* kaptonOutsideFilmFrameBlankS =
4779 new TGeoBBox(
TString(
"kaptonOutsideFilmFrameBlankS") +
TString(
"_") + frame_name, outsideFilmFrame_XSize * 0.5,
4780 outsideFilmFrame_YSize * 0.5, kaptonFilmFrame_ZSize * 0.5);
4781 TGeoShape* kaptonInsideFilmFrameBlankS =
4782 new TGeoBBox(
TString(
"kaptonInsideFilmFrameBlankS") +
TString(
"_") + frame_name, insideFilmFrame_XSize * 0.5,
4783 insideFilmFrame_YSize * 0.5, kaptonFilmFrame_ZSize * 0.5 + 0.01);
4788 TString expression =
"fiberglassOutsideFilmFrameBlankS";
4789 expression +=
TString(
"_") + frame_name;
4790 expression +=
"-fiberglassInsideFilmFrameBlankS";
4791 expression +=
TString(
"_") + frame_name;
4793 fiberglassFilmFrameS->
MakeNode(expression);
4800 TString expression =
"epoxideOutsideFilmFrameBlankS";
4801 expression +=
TString(
"_") + frame_name;
4802 expression +=
"-epoxideInsideFilmFrameBlankS";
4803 expression +=
TString(
"_") + frame_name;
4805 epoxideFilmFrameS->
MakeNode(expression);
4812 TString expression =
"kaptonOutsideFilmFrameBlankS";
4813 expression +=
TString(
"_") + frame_name;
4814 expression +=
"-kaptonInsideFilmFrameBlankS";
4815 expression +=
TString(
"_") + frame_name;
4817 kaptonFilmFrameS->
MakeNode(expression);
4829 if (fiberglassFilmFrameV_medium) {
4830 fiberglassFilmFrameV->
SetMedium(fiberglassFilmFrameV_medium);
4832 Fatal(
"Main",
"Invalid medium for fiberglassFilmFrameV!");
4835 if (epoxideFilmFrameV_medium) {
4836 epoxideFilmFrameV->
SetMedium(epoxideFilmFrameV_medium);
4838 Fatal(
"Main",
"Invalid medium for epoxideFilmFrameV!");
4841 if (kaptonFilmFrameV_medium) {
4842 kaptonFilmFrameV->
SetMedium(kaptonFilmFrameV_medium);
4844 Fatal(
"Main",
"Invalid medium for kaptonFilmFrameV!");
4856 kaptonFilmFrameV_transf1[0]->
SetDx(0.0);
4857 kaptonFilmFrameV_transf1[0]->
SetDy(0.0);
4862 epoxideFilmFrameV_transf1f[0]->
SetDx(0.0);
4863 epoxideFilmFrameV_transf1f[0]->
SetDy(0.0);
4865 - epoxideFilmFrame_ZSize * 0.5 + 0.06);
4869 epoxideFilmFrameV_transf1b[0]->
SetDx(0.0);
4870 epoxideFilmFrameV_transf1b[0]->
SetDy(0.0);
4872 + epoxideFilmFrame_ZSize * 0.5 + 0.06);
4876 fiberglassFilmFrameV_transf1f[0]->
SetDx(0.0);
4877 fiberglassFilmFrameV_transf1f[0]->
SetDy(0.0);
4879 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06);
4883 fiberglassFilmFrameV_transf1b[0]->
SetDx(0.0);
4884 fiberglassFilmFrameV_transf1b[0]->
SetDy(0.0);
4886 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06);
4890 kaptonFilmFrameV_transf1[1]->
SetDx(0.0);
4891 kaptonFilmFrameV_transf1[1]->
SetDy(0.0);
4895 epoxideFilmFrameV_transf1f[1]->
SetDx(0.0);
4896 epoxideFilmFrameV_transf1f[1]->
SetDy(0.0);
4898 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4901 epoxideFilmFrameV_transf1b[1]->
SetDx(0.0);
4902 epoxideFilmFrameV_transf1b[1]->
SetDy(0.0);
4904 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4907 fiberglassFilmFrameV_transf1f[1]->
SetDx(0.0);
4908 fiberglassFilmFrameV_transf1f[1]->
SetDy(0.0);
4910 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4913 fiberglassFilmFrameV_transf1b[1]->
SetDx(0.0);
4914 fiberglassFilmFrameV_transf1b[1]->
SetDy(0.0);
4916 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4920 kaptonFilmFrameV_transf1[2]->
SetDx(0.0);
4921 kaptonFilmFrameV_transf1[2]->
SetDy(0.0);
4925 epoxideFilmFrameV_transf1f[2]->
SetDx(0.0);
4926 epoxideFilmFrameV_transf1f[2]->
SetDy(0.0);
4928 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4931 epoxideFilmFrameV_transf1b[2]->
SetDx(0.0);
4932 epoxideFilmFrameV_transf1b[2]->
SetDy(0.0);
4934 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4937 fiberglassFilmFrameV_transf1f[2]->
SetDx(0.0);
4938 fiberglassFilmFrameV_transf1f[2]->
SetDy(0.0);
4940 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4943 fiberglassFilmFrameV_transf1b[2]->
SetDx(0.0);
4944 fiberglassFilmFrameV_transf1b[2]->
SetDy(0.0);
4946 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4950 kaptonFilmFrameV_transf1[3]->
SetDx(0.0);
4951 kaptonFilmFrameV_transf1[3]->
SetDy(0.0);
4955 epoxideFilmFrameV_transf1f[3]->
SetDx(0.0);
4956 epoxideFilmFrameV_transf1f[3]->
SetDy(0.0);
4958 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4961 epoxideFilmFrameV_transf1b[3]->
SetDx(0.0);
4962 epoxideFilmFrameV_transf1b[3]->
SetDy(0.0);
4964 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4967 fiberglassFilmFrameV_transf1f[3]->
SetDx(0.0);
4968 fiberglassFilmFrameV_transf1f[3]->
SetDy(0.0);
4970 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4973 fiberglassFilmFrameV_transf1b[3]->
SetDx(0.0);
4974 fiberglassFilmFrameV_transf1b[3]->
SetDy(0.0);
4976 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4978 frames->
AddNode(kaptonFilmFrameV, 0, kaptonFilmFrameV_transf1[0]);
4979 frames->
AddNode(epoxideFilmFrameV, 0, epoxideFilmFrameV_transf1f[0]);
4980 frames->
AddNode(epoxideFilmFrameV, 1, epoxideFilmFrameV_transf1b[0]);
4981 frames->
AddNode(fiberglassFilmFrameV, 0, fiberglassFilmFrameV_transf1f[0]);
4982 frames->
AddNode(fiberglassFilmFrameV, 1, fiberglassFilmFrameV_transf1b[0]);
4984 frames->
AddNode(kaptonFilmFrameV, 1, kaptonFilmFrameV_transf1[1]);
4985 frames->
AddNode(epoxideFilmFrameV, 2, epoxideFilmFrameV_transf1f[1]);
4986 frames->
AddNode(epoxideFilmFrameV, 3, epoxideFilmFrameV_transf1b[1]);
4987 frames->
AddNode(fiberglassFilmFrameV, 2, fiberglassFilmFrameV_transf1f[1]);
4988 frames->
AddNode(fiberglassFilmFrameV, 3, fiberglassFilmFrameV_transf1b[1]);
4990 frames->
AddNode(kaptonFilmFrameV, 2, kaptonFilmFrameV_transf1[2]);
4991 frames->
AddNode(epoxideFilmFrameV, 4, epoxideFilmFrameV_transf1f[2]);
4992 frames->
AddNode(epoxideFilmFrameV, 5, epoxideFilmFrameV_transf1b[2]);
4993 frames->
AddNode(fiberglassFilmFrameV, 4, fiberglassFilmFrameV_transf1f[2]);
4994 frames->
AddNode(fiberglassFilmFrameV, 5, fiberglassFilmFrameV_transf1b[2]);
4996 frames->
AddNode(kaptonFilmFrameV, 3, kaptonFilmFrameV_transf1[3]);
4997 frames->
AddNode(epoxideFilmFrameV, 6, epoxideFilmFrameV_transf1f[3]);
4998 frames->
AddNode(epoxideFilmFrameV, 7, epoxideFilmFrameV_transf1b[3]);
4999 frames->
AddNode(fiberglassFilmFrameV, 6, fiberglassFilmFrameV_transf1f[3]);
5000 frames->
AddNode(fiberglassFilmFrameV, 7, fiberglassFilmFrameV_transf1b[3]);
5006 Double_t kaptonCover_ZSize = 0.005;
5008 Double_t insideFiberglassCover_XSize = 10.4;
5009 Double_t insideFiberglassCover_YSize = 10.4;
5010 Double_t outsideFiberglassCover_XSize = 18.3;
5011 Double_t outsideFiberglassCover_YSize = 18.3;
5012 Double_t outsideFiberglassCover_ZSize = 0.175;
5014 Double_t insideCopperCover_XSize = 10.4;
5015 Double_t insideCopperCover_YSize = 10.4;
5016 Double_t outsideCopperCover_XSize = 18.3;
5017 Double_t outsideCopperCover_YSize = 18.3;
5018 Double_t outsideCopperCover_ZSize = 0.007;
5021 kaptonCover_YSize * 0.5, kaptonCover_ZSize * 0.5);
5024 TString(
"fiberglassOutsideCoverBlankS") +
TString(
"_") + frame_name, outsideFiberglassCover_XSize * 0.5,
5025 outsideFiberglassCover_YSize * 0.5, outsideFiberglassCover_ZSize * 0.5);
5027 TString(
"fiberglassInsideCoverBlankS") +
TString(
"_") + frame_name, insideFiberglassCover_XSize * 0.5,
5028 insideFiberglassCover_YSize * 0.5, outsideFiberglassCover_ZSize * 0.5 + 0.01);
5031 new TGeoBBox(
TString(
"copperOutsideCoverBlankS") +
TString(
"_") + frame_name, outsideCopperCover_XSize * 0.5,
5032 outsideCopperCover_YSize * 0.5, outsideCopperCover_ZSize * 0.5);
5034 new TGeoBBox(
TString(
"copperInsideCoverBlankS") +
TString(
"_") + frame_name, insideCopperCover_XSize * 0.5,
5035 insideCopperCover_YSize * 0.5, outsideCopperCover_ZSize * 0.5 + 0.01);
5040 TString expression =
"fiberglassOutsideCoverBlankS";
5041 expression +=
TString(
"_") + frame_name;
5042 expression +=
"-fiberglassInsideCoverBlankS";
5043 expression +=
TString(
"_") + frame_name;
5045 fiberglassCoverS->
MakeNode(expression);
5052 TString expression =
"copperOutsideCoverBlankS";
5053 expression +=
TString(
"_") + frame_name;
5054 expression +=
"-copperInsideCoverBlankS";
5055 expression +=
TString(
"_") + frame_name;
5057 copperCoverS->
MakeNode(expression);
5067 if (kaptonCoverV_medium) {
5068 kaptonCoverV->
SetMedium(kaptonCoverV_medium);
5070 Fatal(
"Main",
"Invalid medium for kaptonCoverV!");
5073 if (fiberglassCoverV_medium) {
5074 fiberglassCoverV->
SetMedium(fiberglassCoverV_medium);
5076 Fatal(
"Main",
"Invalid medium for fiberglassCoverV!");
5079 if (copperCoverV_medium) {
5080 copperCoverV->
SetMedium(copperCoverV_medium);
5082 Fatal(
"Main",
"Invalid medium for copperCoverV!");
5093 kaptonCoverV_transf[0]->
SetDx(0.0);
5094 kaptonCoverV_transf[0]->
SetDy(0.0);
5099 fiberglassCoverV_transf[0]->
SetDx(0.0);
5100 fiberglassCoverV_transf[0]->
SetDy(0.0);
5102 - outsideFiberglassCover_ZSize * 0.5);
5106 copperCoverV_transf[0]->
SetDx(0.0);
5107 copperCoverV_transf[0]->
SetDy(0.0);
5109 - outsideFiberglassCover_ZSize - outsideCopperCover_ZSize * 0.5);
5111 frames->
AddNode(kaptonCoverV, 0, kaptonCoverV_transf[0]);
5112 frames->
AddNode(fiberglassCoverV, 0, fiberglassCoverV_transf[0]);
5113 frames->
AddNode(copperCoverV, 0, copperCoverV_transf[0]);
5117 Double_t insideSteelSideFrame_XSize = 14.9;
5118 Double_t insideSteelSideFrame_YSize = 14.9;
5119 Double_t outsideSteelSideFrame_XSize = 18.0;
5120 Double_t outsideSteelSideFrame_YSize = 18.0;
5121 Double_t outsideSteelSideFrame_ZSize = 0.03;
5123 Double_t insideFiberglassSideFrame_XSize = 14.9;
5124 Double_t insideFiberglassSideFrame_YSize = 14.9;
5125 Double_t outsideFiberglassSideFrame_XSize = 18.0;
5126 Double_t outsideFiberglassSideFrame_YSize = 18.0;
5127 Double_t outsideFiberglassSideFrame_ZSize = 1.2;
5130 TString(
"steelOutsideSideFrameBlankS") +
TString(
"_") + frame_name, outsideSteelSideFrame_XSize * 0.5,
5131 outsideSteelSideFrame_YSize * 0.5, outsideSteelSideFrame_ZSize * 0.5);
5133 TString(
"steelInsideSideFrameBlankS") +
TString(
"_") + frame_name, insideSteelSideFrame_XSize * 0.5,
5134 insideSteelSideFrame_YSize * 0.5, outsideSteelSideFrame_ZSize * 0.5 + 0.01);
5137 TString(
"fiberglassOutsideSideFrameBlankS") +
TString(
"_") + frame_name, outsideFiberglassSideFrame_XSize * 0.5,
5138 outsideFiberglassSideFrame_YSize * 0.5, outsideFiberglassSideFrame_ZSize * 0.5);
5140 TString(
"fiberglassInsideSideFrameBlankS") +
TString(
"_") + frame_name, insideFiberglassSideFrame_XSize * 0.5,
5141 insideFiberglassSideFrame_YSize * 0.5, outsideFiberglassSideFrame_ZSize * 0.5 + 0.01);
5146 TString expression =
"steelOutsideSideFrameBlankS";
5147 expression +=
TString(
"_") + frame_name;
5148 expression +=
"-steelInsideSideFrameBlankS";
5149 expression +=
TString(
"_") + frame_name;
5151 steelSideFrameS->
MakeNode(expression);
5158 TString expression =
"fiberglassOutsideSideFrameBlankS";
5159 expression +=
TString(
"_") + frame_name;
5160 expression +=
"-fiberglassInsideSideFrameBlankS";
5161 expression +=
TString(
"_") + frame_name;
5163 fiberglassSideFrameS->
MakeNode(expression);
5173 if (steelSideFrameV_medium) {
5174 steelSideFrameV->
SetMedium(steelSideFrameV_medium);
5176 Fatal(
"Main",
"Invalid medium for steelSideFrameV!");
5179 if (fiberglassSideFrameV_medium) {
5180 fiberglassSideFrameV->
SetMedium(fiberglassSideFrameV_medium);
5182 Fatal(
"Main",
"Invalid medium for fiberglassSideFrameV!");
5192 steelSideFrameV_transf[0]->
SetDx(0.0);
5193 steelSideFrameV_transf[0]->
SetDy(0.0);
5195 + outsideSteelSideFrame_ZSize * 0.5);
5199 fiberglassSideFrameV_transf[0]->
SetDx(0.0);
5200 fiberglassSideFrameV_transf[0]->
SetDy(0.0);
5202 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5203 + outsideFiberglassSideFrame_ZSize * 0.5);
5205 frames->
AddNode(steelSideFrameV, 0, steelSideFrameV_transf[0]);
5206 frames->
AddNode(fiberglassSideFrameV, 0, fiberglassSideFrameV_transf[0]);
5210 Double_t copperSupportPlane_XSize = 24.0;
5211 Double_t copperSupportPlane_YSize = 24.0;
5212 Double_t copperSupportPlane_ZSize = 0.001;
5214 Double_t kaptonSupportPlane_XSize = 24.0;
5215 Double_t kaptonSupportPlane_YSize = 24.0;
5216 Double_t kaptonSupportPlane_ZSize = 0.005;
5218 Double_t fiberglassSupportPlane_XSize = 24.0;
5219 Double_t fiberglassSupportPlane_YSize = 24.0;
5220 Double_t fiberglassSupportPlane_ZSize = 0.17;
5224 copperSupportPlane_YSize * 0.5, copperSupportPlane_ZSize * 0.5);
5227 kaptonSupportPlane_YSize * 0.5, kaptonSupportPlane_ZSize * 0.5);
5229 new TGeoBBox(
TString(
"fiberglassSupportPlaneS") +
TString(
"_") + frame_name, fiberglassSupportPlane_XSize * 0.5,
5230 fiberglassSupportPlane_YSize * 0.5, fiberglassSupportPlane_ZSize * 0.5);
5240 if (copperSupportPlaneV_medium) {
5241 copperSupportPlaneV->
SetMedium(copperSupportPlaneV_medium);
5243 Fatal(
"Main",
"Invalid medium for copperSupportPlaneV!");
5246 if (kaptonSupportPlaneV_medium) {
5247 kaptonSupportPlaneV->
SetMedium(kaptonSupportPlaneV_medium);
5249 Fatal(
"Main",
"Invalid medium for kaptonSupportPlaneV!");
5252 if (fiberglassSupportPlaneV_medium) {
5253 fiberglassSupportPlaneV->
SetMedium(fiberglassSupportPlaneV_medium);
5255 Fatal(
"Main",
"Invalid medium for fiberglassSupportPlaneV!");
5266 copperSupportPlaneV_transf[0]->
SetDx(0.0);
5267 copperSupportPlaneV_transf[0]->
SetDy(0.0);
5269 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5270 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize * 0.5);
5274 kaptonSupportPlaneV_transf[0]->
SetDx(0.0);
5275 kaptonSupportPlaneV_transf[0]->
SetDy(0.0);
5276 kaptonSupportPlaneV_transf[0]->
SetDz(
5278 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize * 0.5);
5282 fiberglassSupportPlaneV_transf[0]->
SetDx(0.0);
5283 fiberglassSupportPlaneV_transf[0]->
SetDy(0.0);
5285 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5286 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize
5287 + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize * 0.5);
5289 frames->
AddNode(copperSupportPlaneV, 0, copperSupportPlaneV_transf[0]);
5290 frames->
AddNode(kaptonSupportPlaneV, 0, kaptonSupportPlaneV_transf[0]);
5291 frames->
AddNode(fiberglassSupportPlaneV, 0, fiberglassSupportPlaneV_transf[0]);
5295 Double_t fiberglassBase_XSize = 70.0;
5296 Double_t fiberglassBase_YSize = 40.5;
5297 Double_t fiberglassBase_ZSize = 0.225;
5299 Double_t fiberglassBaseWindow_XSize = 11.0;
5300 Double_t fiberglassBaseWindow_YSize = 11.5;
5301 Double_t fiberglassBaseWindow_ZSize = 0.225;
5303 Double_t fiberglassBaseWindow_YShift = 4.25;
5307 fiberglassBase_YSize * 0.5, fiberglassBase_ZSize * 0.5);
5309 new TGeoBBox(
TString(
"fiberglassBaseWindowS") +
TString(
"_") + frame_name, fiberglassBaseWindow_XSize * 0.5,
5310 fiberglassBaseWindow_YSize * 0.5, fiberglassBaseWindow_ZSize * 0.5 + 0.01);
5314 fiberglassBaseWindow_pos->
SetDx(0.0);
5315 fiberglassBaseWindow_pos->
SetDy(fiberglassBaseWindow_YShift);
5316 fiberglassBaseWindow_pos->
SetDz(0.0);
5322 TString expression =
"fiberglassBaseBlankS";
5323 expression +=
TString(
"_") + frame_name;
5324 expression +=
":fiberglassBaseWindow_pos";
5325 expression +=
TString(
"_") + frame_name;
5326 expression +=
"-fiberglassBaseWindowS";
5327 expression +=
TString(
"_") + frame_name;
5329 fiberglassBaseS->
MakeNode(expression);
5337 if (fiberglassBaseV_medium) {
5338 fiberglassBaseV->
SetMedium(fiberglassBaseV_medium);
5340 Fatal(
"Main",
"Invalid medium for fiberglassBaseV!");
5347 fiberglassBaseV_transf[0]->
SetDx(0.0);
5348 fiberglassBaseV_transf[0]->
SetDy(0.0);
5350 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5351 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5352 + fiberglassSupportPlane_ZSize + fiberglassBase_ZSize * 0.5 + 0.3);
5354 frames->
AddNode(fiberglassBaseV, 0, fiberglassBaseV_transf[0]);
5363 bottomPCB_YSize * 0.5, bottomPCB_ZSize * 0.5);
5368 if (bottomPCBV_medium) {
5369 bottomPCBV->
SetMedium(bottomPCBV_medium);
5371 Fatal(
"Main",
"Invalid medium for bottomPCBV!");
5378 bottomPCBV_transf[0]->
SetDx(+18.0 - bottomPCB_XSize * 0.5);
5379 bottomPCBV_transf[0]->
SetDy(0.0);
5381 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5382 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5383 + 0.3 - bottomPCB_ZSize * 0.5 - 0.776);
5386 bottomPCBV_transf[1]->
SetDx(+18.0 - bottomPCB_XSize * 0.5);
5387 bottomPCBV_transf[1]->
SetDy(0.0);
5389 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5390 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5391 + 0.3 - bottomPCB_ZSize * 0.5 - 0.776);
5392 bottomPCBV_transf[1]->
RotateZ(90.0);
5394 frames->
AddNode(bottomPCBV, 0, bottomPCBV_transf[0]);
5395 frames->
AddNode(bottomPCBV, 1, bottomPCBV_transf[1]);
5399 Double_t amplifierPCB_XSize = 0.15;
5400 Double_t amplifierPCB_YSize = 13.5;
5405 amplifierPCB_YSize * 0.5, amplifierPCB_ZSize * 0.5);
5410 if (amplifierPCBV_medium) {
5411 amplifierPCBV->
SetMedium(amplifierPCBV_medium);
5413 Fatal(
"Main",
"Invalid medium for amplifierPCBV!");
5420 amplifierPCBV_transf[0]->
SetDx(+18.0 - amplifierPCB_XSize * 0.5 - 0.9);
5421 amplifierPCBV_transf[0]->
SetDy(0.0);
5423 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5424 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5425 + 0.3 - bottomPCB_ZSize - 0.776 - amplifierPCB_ZSize * 0.5);
5428 amplifierPCBV_transf[1]->
SetDx(+18.0 - amplifierPCB_XSize * 0.5 - 0.9);
5429 amplifierPCBV_transf[1]->
SetDy(0.0);
5431 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5432 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5433 + 0.3 - bottomPCB_ZSize - 0.776 - amplifierPCB_ZSize * 0.5);
5434 amplifierPCBV_transf[1]->
RotateZ(90.0);
5436 frames->
AddNode(amplifierPCBV, 0, amplifierPCBV_transf[0]);
5437 frames->
AddNode(amplifierPCBV, 1, amplifierPCBV_transf[1]);
5441 Double_t amplifierSupport_XSize = 5.0;
5442 Double_t amplifierSupport_YSize = 0.2;
5443 Double_t amplifierSupport_ZSize = 14.5;
5447 amplifierSupport_YSize * 0.5, amplifierSupport_ZSize * 0.5);
5453 if (amplifierSupportV_medium) {
5454 amplifierSupportV->
SetMedium(amplifierSupportV_medium);
5456 Fatal(
"Main",
"Invalid medium for amplifierSupportV!");
5463 amplifierSupportV_transf[0]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5464 amplifierSupportV_transf[0]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5);
5465 amplifierSupportV_transf[0]->
SetDz(
5467 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5468 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5471 amplifierSupportV_transf[1]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5472 amplifierSupportV_transf[1]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5 + 7.0);
5473 amplifierSupportV_transf[1]->
SetDz(
5475 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5476 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5479 amplifierSupportV_transf[2]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5480 amplifierSupportV_transf[2]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5);
5481 amplifierSupportV_transf[2]->
SetDz(
5483 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5484 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5485 amplifierSupportV_transf[2]->
RotateZ(90.0);
5488 amplifierSupportV_transf[3]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5489 amplifierSupportV_transf[3]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5 + 7.0);
5490 amplifierSupportV_transf[3]->
SetDz(
5492 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5493 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5494 amplifierSupportV_transf[3]->
RotateZ(90.0);
5496 frames->
AddNode(amplifierSupportV, 0, amplifierSupportV_transf[0]);
5497 frames->
AddNode(amplifierSupportV, 1, amplifierSupportV_transf[1]);
5498 frames->
AddNode(amplifierSupportV, 2, amplifierSupportV_transf[2]);
5499 frames->
AddNode(amplifierSupportV, 3, amplifierSupportV_transf[3]);
5508 longPCB_YSize * 0.5, longPCB_ZSize * 0.5);
5513 if (longPCBV_medium) {
5516 Fatal(
"Main",
"Invalid medium for longPCBV!");
5523 longPCBV_transf[0]->
SetDx(+23.7 + longPCB_XSize * 0.5);
5524 longPCBV_transf[0]->
SetDy(-13.0 + longPCB_YSize * 0.5);
5526 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5527 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize + 0.3
5528 - bottomPCB_ZSize - 14.5 + longPCB_ZSize * 0.5);
5530 frames->
AddNode(longPCBV, 0, longPCBV_transf[0]);