636 Double_t layerFront_XShift = -0.445;
645 Double_t copperLayer_ZSize = 0.00655;
646 Double_t copperLayerHole_Radius = 6.0;
652 layerFront_XSize * 0.5, layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
656 layerBack_XSize * 0.5, layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
661 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
665 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
668 copperLayerFrontHole_pos->
SetName(
TString(
"copperLayerFrontHole_pos") +=
672 copperLayerFrontHole_pos->
SetDz(0.0);
676 copperLayerBackHole_pos->
SetName(
TString(
"copperLayerBackHole_pos") +=
680 copperLayerBackHole_pos->
SetDz(0.0);
687 TString expression =
"copperLayerFrontBlankS";
689 expression +=
"-copperLayerFrontHoleS";
691 expression +=
":copperLayerFrontHole_pos";
694 copperLayerFrontS->
MakeNode(expression);
702 TString expression =
"copperLayerBackBlankS";
704 expression +=
"-copperLayerBackHoleS";
706 expression +=
":copperLayerBackHole_pos";
709 copperLayerBackS->
MakeNode(expression);
720 if (copperLayerV_medium) {
721 copperLayerFrontV->
SetMedium(copperLayerV_medium);
722 copperLayerBackV->
SetMedium(copperLayerV_medium);
724 Fatal(
"Main",
"Invalid medium for copperLayerV!");
735 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
736 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
742 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
743 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
746 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
747 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
752 Double_t glueLayerHole_Radius = 6.0;
758 layerFront_XSize * 0.5, layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
761 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
765 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
768 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
771 glueLayerFrontHole_pos->
SetName(
TString(
"glueLayerFrontHole_pos") +=
775 glueLayerFrontHole_pos->
SetDz(0.0);
779 glueLayerBackHole_pos->
SetName(
TString(
"glueLayerBackHole_pos") +=
783 glueLayerBackHole_pos->
SetDz(0.0);
790 TString expression =
"glueLayerFrontBlankS";
792 expression +=
"-glueLayerFrontHoleS";
794 expression +=
":glueLayerFrontHole_pos";
797 glueLayerFrontS->
MakeNode(expression);
805 TString expression =
"glueLayerBackBlankS";
807 expression +=
"-glueLayerBackHoleS";
809 expression +=
":glueLayerBackHole_pos";
812 glueLayerBackS->
MakeNode(expression);
823 if (glueLayerV_medium) {
824 glueLayerFrontV->
SetMedium(glueLayerV_medium);
825 glueLayerBackV->
SetMedium(glueLayerV_medium);
827 Fatal(
"Main",
"Invalid medium for glueLayerV!");
838 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
839 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
845 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
846 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
849 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
850 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
854 Double_t epoxideLayer_ZSize = 0.105;
855 Double_t epoxideLayerHole_Radius = 6.0;
861 layerFront_XSize * 0.5, layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
865 layerBack_XSize * 0.5, layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
870 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
874 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
877 epoxideLayerFrontHole_pos->
SetName(
TString(
"epoxideLayerFrontHole_pos") +=
881 epoxideLayerFrontHole_pos->
SetDz(0.0);
885 epoxideLayerBackHole_pos->
SetName(
TString(
"epoxideLayerBackHole_pos") +=
889 epoxideLayerBackHole_pos->
SetDz(0.0);
896 TString expression =
"epoxideLayerFrontBlankS";
898 expression +=
"-epoxideLayerFrontHoleS";
900 expression +=
":epoxideLayerFrontHole_pos";
903 epoxideLayerFrontS->
MakeNode(expression);
911 TString expression =
"epoxideLayerBackBlankS";
913 expression +=
"-epoxideLayerBackHoleS";
915 expression +=
":epoxideLayerBackHole_pos";
918 epoxideLayerBackS->
MakeNode(expression);
931 if (epoxideLayerV_medium) {
932 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
933 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
935 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
946 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
947 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
949 + epoxideLayer_ZSize * 0.5);
954 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
955 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
957 - epoxideLayer_ZSize * 0.5);
959 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
960 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
965 Double_t honeycombLayer_ZSize = 1.4 - (0.06805);
966 Double_t honeycombLayerHole_Radius = 6.0;
972 layerFront_XSize * 0.5, layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
976 layerBack_XSize * 0.5, layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
981 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
985 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
988 honeycombLayerFrontHole_pos->
SetName(
TString(
"honeycombLayerFrontHole_pos") +=
992 honeycombLayerFrontHole_pos->
SetDz(0.0);
996 honeycombLayerBackHole_pos->
SetName(
TString(
"honeycombLayerBackHole_pos") +=
1000 honeycombLayerBackHole_pos->
SetDz(0.0);
1007 TString expression =
"honeycombLayerFrontBlankS";
1009 expression +=
"-honeycombLayerFrontHoleS";
1011 expression +=
":honeycombLayerFrontHole_pos";
1014 honeycombLayerFrontS->
MakeNode(expression);
1022 TString expression =
"honeycombLayerBackBlankS";
1024 expression +=
"-honeycombLayerBackHoleS";
1026 expression +=
":honeycombLayerBackHole_pos";
1029 honeycombLayerBackS->
MakeNode(expression);
1040 if (honeycombLayerV_medium) {
1041 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
1042 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
1044 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
1055 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1056 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1058 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
1063 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1064 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1066 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
1068 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
1069 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
1073 Double_t polyamideLayer_ZSize = 0.0125;
1074 Double_t polyamideLayerHole_Radius = 6.0;
1080 layerFront_XSize * 0.5, layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1084 layerBack_XSize * 0.5, layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1089 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1093 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1096 polyamideLayerFrontHole_pos->
SetName(
TString(
"polyamideLayerFrontHole_pos") +=
1100 polyamideLayerFrontHole_pos->
SetDz(0.0);
1104 polyamideLayerBackHole_pos->
SetName(
TString(
"polyamideLayerBackHole_pos") +=
1108 polyamideLayerBackHole_pos->
SetDz(0.0);
1115 TString expression =
"polyamideLayerFrontBlankS";
1117 expression +=
"-polyamideLayerFrontHoleS";
1119 expression +=
":polyamideLayerFrontHole_pos";
1122 polyamideLayerFrontS->
MakeNode(expression);
1130 TString expression =
"polyamideLayerBackBlankS";
1132 expression +=
"-polyamideLayerBackHoleS";
1134 expression +=
":polyamideLayerBackHole_pos";
1137 polyamideLayerBackS->
MakeNode(expression);
1148 if (polyamideLayerV_medium) {
1149 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
1150 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
1152 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
1163 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1164 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1166 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
1171 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1172 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1174 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
1176 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
1177 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
1194 Double_t backLowerEpoxideFrame_XSize = 161.42;
1195 Double_t backLowerEpoxideFrame_YSize = 2.2;
1196 Double_t backLowerEpoxideFrame_ZSize = 1.5;
1198 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
1199 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
1200 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
1205 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
1206 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
1210 backLowerEpoxideFrameArch_Rmin, backLowerEpoxideFrameArch_Rmax,
1211 backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1216 backLowerEpoxideFrameHalf_pos1->
SetDx(
1217 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1218 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1219 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1225 backLowerEpoxideFrameHalf_pos2->
SetDx(
1226 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1227 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1228 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1234 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
1235 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
1236 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
1240 backLowerEpoxideFrameS->
SetName(
TString(
"backLowerEpoxideFrameS") +=
1243 TString expression =
"backLowerEpoxideFrameHalfS";
1245 expression +=
":backLowerEpoxideFrameHalf1_pos1";
1247 expression +=
"+backLowerEpoxideFrameHalfS";
1249 expression +=
":backLowerEpoxideFrameHalf1_pos2";
1251 expression +=
"+backLowerEpoxideFrameArchS";
1253 expression +=
":backLowerEpoxideFrameArch_pos";
1256 backLowerEpoxideFrameS->
MakeNode(expression);
1265 if (backLowerEpoxideFrameV_medium) {
1266 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
1268 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
1277 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1281 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
1285 Double_t frontLowerEpoxideFrame_XSize = 161.7;
1286 Double_t frontLowerEpoxideFrame_YSize = 2.2;
1287 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
1289 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
1290 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
1291 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
1293 TGeoShape* frontLowerEpoxideFrameHalfS =
1296 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
1297 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
1298 TGeoShape* frontLowerEpoxideFrameArchS =
1301 frontLowerEpoxideFrameArch_Rmin, frontLowerEpoxideFrameArch_Rmax,
1302 frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1307 frontLowerEpoxideFrameHalf_pos1->
SetDx(
1308 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1309 + frontLowerEpoxideFrameArch_Rmin));
1310 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1311 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1317 frontLowerEpoxideFrameHalf_pos2->
SetDx(
1318 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1319 + frontLowerEpoxideFrameArch_Rmin));
1320 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1321 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1327 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
1328 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
1329 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
1333 frontLowerEpoxideFrameS->
SetName(
TString(
"frontLowerEpoxideFrameS") +=
1336 TString expression =
"frontLowerEpoxideFrameHalfS";
1338 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
1340 expression +=
"+frontLowerEpoxideFrameHalfS";
1342 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
1344 expression +=
"+frontLowerEpoxideFrameArchS";
1346 expression +=
":frontLowerEpoxideFrameArch_pos";
1349 frontLowerEpoxideFrameS->
MakeNode(expression);
1358 if (frontLowerEpoxideFrameV_medium) {
1359 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
1361 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
1370 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1374 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
1378 Double_t backSideEpoxideFramePart_XSize = 9.2;
1379 Double_t backSideEpoxideFramePart_YSize = 52.6;
1380 Double_t backSideEpoxideFramePart_ZSize = 1.5;
1382 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
1387 backSideEpoxideFramePart_XSize * 0.5, backSideEpoxideFramePart_YSize * 0.5,
1388 backSideEpoxideFramePart_ZSize * 0.5);
1393 backSideEpoxideFramePart_pos1->
SetDx(
1394 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1395 backSideEpoxideFramePart_pos1->
SetDy(0.0);
1396 backSideEpoxideFramePart_pos1->
SetDz(0.0);
1402 backSideEpoxideFramePart_pos2->
SetDx(
1403 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1404 backSideEpoxideFramePart_pos2->
SetDy(0.0);
1405 backSideEpoxideFramePart_pos2->
SetDz(0.0);
1409 backSideEpoxideFrameS->
SetName(
TString(
"backSideEpoxideFrameS") +=
1412 TString expression =
"backSideEpoxideFramePartS";
1414 expression +=
":backSideEpoxideFramePart_pos1";
1416 expression +=
"+backSideEpoxideFramePartS";
1418 expression +=
":backSideEpoxideFramePart_pos2";
1421 backSideEpoxideFrameS->
MakeNode(expression);
1430 if (backSideEpoxideFrameV_medium) {
1431 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
1433 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
1442 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1444 - frontLowerEpoxideFrame_YSize + 0.2 );
1447 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
1451 Double_t backUpperEpoxideFrame_XSize = 161.42;
1452 Double_t backUpperEpoxideFrame_YSize = 6.2;
1453 Double_t backUpperEpoxideFrame_ZSize = 1.6;
1456 TString(
"backUpperEpoxideFrameS") +=
1458 backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5, backUpperEpoxideFrame_ZSize * 0.5);
1465 if (backUpperEpoxideFrameV_medium) {
1466 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
1468 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
1477 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1482 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
1486 Double_t frontSideEpoxideFramePart_XSize = 3.5;
1487 Double_t frontSideEpoxideFramePart_YSize = 49.9;
1488 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
1490 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
1495 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
1496 frontSideEpoxideFramePart_ZSize * 0.5);
1501 frontSideEpoxideFramePart_pos1->
SetDx(
1502 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1503 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
1504 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
1510 frontSideEpoxideFramePart_pos2->
SetDx(
1511 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1512 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
1513 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
1517 frontSideEpoxideFrameS->
SetName(
TString(
"frontSideEpoxideFrameS") +=
1520 TString expression =
"frontSideEpoxideFramePartS";
1522 expression +=
":frontSideEpoxideFramePart_pos1";
1524 expression +=
"+frontSideEpoxideFramePartS";
1526 expression +=
":frontSideEpoxideFramePart_pos2";
1529 frontSideEpoxideFrameS->
MakeNode(expression);
1538 if (frontSideEpoxideFrameV_medium) {
1539 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
1541 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
1550 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
1552 - frontLowerEpoxideFrame_YSize + 0.2 );
1555 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
1559 Double_t frontUpperEpoxideFrame_XSize = 161.7;
1560 Double_t frontUpperEpoxideFrame_YSize = 3.5;
1561 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
1564 TString(
"frontUpperEpoxideFrameS") +=
1566 frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5, frontUpperEpoxideFrame_ZSize * 0.5);
1573 if (frontUpperEpoxideFrameV_medium) {
1574 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
1576 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
1585 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1590 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
1594 Double_t alumCableSupportPart_XSize = 3.0;
1595 Double_t alumCableSupportPart_YSize = 41.3;
1596 Double_t alumCableSupportPart_ZSize = 0.2;
1598 Double_t alumCableSupport_XDistBetweenParts = 164.82;
1601 TString(
"alumCableSupportPartS") +=
1603 alumCableSupportPart_XSize * 0.5, alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
1608 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1609 alumCableSupportPart_pos1->
SetDy(0.0);
1610 alumCableSupportPart_pos1->
SetDz(0.0);
1616 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1617 alumCableSupportPart_pos2->
SetDy(0.0);
1618 alumCableSupportPart_pos2->
SetDz(0.0);
1624 TString expression =
"alumCableSupportPartS";
1626 expression +=
":alumCableSupportPart_pos1";
1628 expression +=
"+alumCableSupportPartS";
1630 expression +=
":alumCableSupportPart_pos2";
1633 alumCableSupportS->
MakeNode(expression);
1642 if (alumCableSupportV_medium) {
1643 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
1645 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
1654 alumCableSupport_transf[0]->
SetDx(0.0);
1656 - frontLowerEpoxideFrame_YSize + 0.2 );
1658 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1660 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
1664 Double_t amplifierUpperBlockPart1_XSize = 161.44;
1665 Double_t amplifierUpperBlockPart1_YSize = 0.6;
1666 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
1668 Double_t amplifierUpperBlockPart2_XSize = 161.16;
1669 Double_t amplifierUpperBlockPart2_YSize = 0.6;
1670 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
1675 amplifierUpperBlockPart1_XSize * 0.5, amplifierUpperBlockPart1_YSize * 0.5,
1676 amplifierUpperBlockPart1_ZSize * 0.5);
1680 amplifierUpperBlockPart2_XSize * 0.5, amplifierUpperBlockPart2_YSize * 0.5,
1681 amplifierUpperBlockPart2_ZSize * 0.5);
1686 amplifierUpperBlockPart1_pos->
SetDx(0.0);
1687 amplifierUpperBlockPart1_pos->
SetDy(0.0);
1688 amplifierUpperBlockPart1_pos->
SetDz(0.0);
1694 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
1695 amplifierUpperBlockPart2_pos->
SetDy(
1696 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
1697 amplifierUpperBlockPart2_pos->
SetDz(0.0);
1704 TString expression =
"amplifierUpperBlockPart1S";
1706 expression +=
":amplifierUpperBlockPart1_pos";
1708 expression +=
"+amplifierUpperBlockPart1S";
1710 expression +=
":amplifierUpperBlockPart2_pos";
1713 amplifierUpperBlockS->
MakeNode(expression);
1722 if (amplifierUpperBlockV_medium) {
1723 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
1725 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
1734 amplifierUpperBlock_transf[0]->
SetDx(0.0);
1739 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
1743 Double_t amplifierSideBlockPartBig_XSize = 0.6;
1744 Double_t amplifierSideBlockPartBig_YSize = 33.9;
1745 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
1747 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
1748 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
1749 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
1754 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
1755 amplifierSideBlockPartBig_ZSize * 0.5);
1756 TGeoShape* amplifierSideBlockPartSmallS =
1759 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
1760 amplifierSideBlockPartSmall_ZSize * 0.5);
1765 amplifierSideBlockPartBig_pos->
SetDx(0.0);
1766 amplifierSideBlockPartBig_pos->
SetDy(0.0);
1767 amplifierSideBlockPartBig_pos->
SetDz(0.0);
1773 amplifierSideBlockPartSmall_pos->
SetDx(
1774 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
1775 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
1776 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
1782 TString expression =
"amplifierSideBlockPartBigS";
1784 expression +=
":amplifierSideBlockPartBig_pos";
1786 expression +=
"+amplifierSideBlockPartSmallS";
1788 expression +=
":amplifierSideBlockPartSmall_pos";
1791 amplifierSideBlockS->
MakeNode(expression);
1800 if (amplifierSideBlockV_medium) {
1801 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
1803 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
1812 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
1813 amplifierSideBlock_transf[0]->
SetDy(-5.5);
1818 amplifierSideBlock_transf[1]->
RotateY(180.0);
1819 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
1820 amplifierSideBlock_transf[1]->
SetDy(-5.5);
1824 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
1825 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
1835 upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
1841 if (upperPcbV_medium) {
1844 Fatal(
"Main",
"Invalid medium for upperPcbV!");
1853 upperPcb_transf[0]->
SetDx(+0.1 );
1854 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
1856 - frontSideEpoxideFramePart_ZSize);
1858 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
1863 Double_t sidePcbPart_YSize = 35.05;
1868 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
1873 sidePcbPart_pos1->
SetDx(0.0);
1874 sidePcbPart_pos1->
SetDy(0.0);
1875 sidePcbPart_pos1->
SetDz(0.0);
1881 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
1882 sidePcbPart_pos2->
SetDy(0.0);
1883 sidePcbPart_pos2->
SetDz(0.0);
1889 TString expression =
"sidePcbPartS";
1891 expression +=
":sidePcbPart_pos1";
1893 expression +=
"+sidePcbPartS";
1895 expression +=
":sidePcbPart_pos2";
1906 if (sidePcbV_medium) {
1909 Fatal(
"Main",
"Invalid medium for sidePcbV!");
1918 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
1919 sidePcb_transf[0]->
SetDy(-6.8 );
1921 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1924 sidePcb_transf[1]->
RotateY(180.0);
1925 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
1926 sidePcb_transf[1]->
SetDy(-6.8 );
1928 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1930 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
1931 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
1935 Double_t alumSideSupport_XSize = 4.8;
1936 Double_t alumSideSupport_YSize = 52.6;
1937 Double_t alumSideSupport_ZSize = 0.4;
1941 alumSideSupport_XSize * 0.5, alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
1948 if (alumSideSupportV_medium) {
1949 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
1951 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
1960 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
1961 alumSideSupport_transf[0]->
SetDy(+1.8);
1965 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
1966 alumSideSupport_transf[1]->
SetDy(+1.8 );
1969 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
1970 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
1980 boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
1986 if (boschShapeV_medium) {
1987 boschShapeV->
SetMedium(boschShapeV_medium);
1989 Fatal(
"Main",
"Invalid medium for boschShapeV!");
1998 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
1999 boschShape_transf[0]->
SetDy(+1.8 );
2003 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
2004 boschShape_transf[1]->
SetDy(+1.8 );
2012 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
2013 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
2014 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
2015 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
2017 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
2018 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
2019 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
2020 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
2022 Double_t insidePolyacetalShapeLower_XSize = 8.4;
2023 Double_t insidePolyacetalShapeLower_YSize = 52.6;
2024 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
2025 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
2027 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
2028 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
2029 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
2030 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
2032 TGeoShape* insidePolyacetalShapeUpperS =
2035 insidePolyacetalShapeUpper_XSize * 0.5, insidePolyacetalShapeUpper_YSize * 0.5,
2036 insidePolyacetalShapeUpper_ZSize * 0.5);
2037 TGeoShape* outsidePolyacetalShapeUpperS =
2040 outsidePolyacetalShapeUpper_XSize * 0.5, outsidePolyacetalShapeUpper_YSize * 0.5,
2041 outsidePolyacetalShapeUpper_ZSize * 0.5);
2042 TGeoShape* insidePolyacetalShapeLowerS =
2045 insidePolyacetalShapeLower_XSize * 0.5, insidePolyacetalShapeLower_YSize * 0.5,
2046 insidePolyacetalShapeLower_ZSize * 0.5);
2047 TGeoShape* outsidePolyacetalShapeLowerS =
2050 outsidePolyacetalShapeLower_XSize * 0.5, outsidePolyacetalShapeLower_YSize * 0.5,
2051 outsidePolyacetalShapeLower_ZSize * 0.5);
2054 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
2056 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
2058 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
2060 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
2064 if (polyacetalShapeV_medium) {
2065 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2066 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2067 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2068 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2070 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
2085 insidePolyacetalShapeUpper_transf[0]->
SetDx(
2086 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2087 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
2088 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2091 insidePolyacetalShapeUpper_transf[1]->
SetDx(
2092 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2093 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
2094 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2099 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
2100 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2101 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2102 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2103 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2106 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
2107 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2108 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2109 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2110 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2115 insidePolyacetalShapeLower_transf[0]->
SetDx(
2116 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2117 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
2118 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2121 insidePolyacetalShapeLower_transf[1]->
SetDx(
2122 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2123 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
2124 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2129 outsidePolyacetalShapeLower_transf[0]->
SetDx(
2130 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2131 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2132 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2133 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2136 outsidePolyacetalShapeLower_transf[1]->
SetDx(
2137 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2138 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2139 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2140 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2143 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
2144 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
2145 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
2146 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
2150 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
2151 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
2152 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
2153 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
2159 Double_t lowerFiberGlassBlock_XSize = 165.1;
2160 Double_t lowerFiberGlassBlock_YSize = 1.75;
2161 Double_t lowerFiberGlassBlock_ZSize = 0.9;
2163 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
2164 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
2165 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
2170 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
2171 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
2173 TString(
"lowerFiberGlassBlockArchS") +=
2175 lowerFiberGlassBlockArch_Rmin, lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
2178 lowerFiberGlassBlockHalf_pos1->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos1") +=
2181 lowerFiberGlassBlockHalf_pos1->
SetDx(
2182 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2183 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2184 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
2188 lowerFiberGlassBlockHalf_pos2->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos2") +=
2191 lowerFiberGlassBlockHalf_pos2->
SetDx(
2192 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2193 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2194 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
2198 lowerFiberGlassBlockArch_pos->
SetName(
TString(
"lowerFiberGlassBlockArch_pos") +=
2201 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
2202 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
2203 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
2207 lowerFiberGlassBlockS->
SetName(
TString(
"lowerFiberGlassBlockS") +=
2210 TString expression =
"lowerFiberGlassBlockHalfS";
2212 expression +=
":lowerFiberGlassBlockHalf_pos1";
2214 expression +=
"+lowerFiberGlassBlockHalfS";
2216 expression +=
":lowerFiberGlassBlockHalf_pos2";
2218 expression +=
"+lowerFiberGlassBlockArchS";
2220 expression +=
":lowerFiberGlassBlockArch_pos";
2223 lowerFiberGlassBlockS->
MakeNode(expression);
2232 if (lowerFiberGlassBlockV_medium) {
2233 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
2235 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
2244 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
2246 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
2248 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
2252 Double_t sideFiberGlassBlockPart_XSize = 1.45;
2253 Double_t sideFiberGlassBlockPart_YSize = 49.4;
2254 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
2257 TString(
"sideFiberGlassBlockS") +=
2259 sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5, sideFiberGlassBlockPart_ZSize * 0.5);
2266 if (sideFiberGlassBlockV_medium) {
2267 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
2269 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
2278 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2279 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
2280 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2283 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2284 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
2285 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
2287 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
2288 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
2292 Double_t upperFiberGlassBlock_XSize = 165.1;
2293 Double_t upperFiberGlassBlock_YSize = 1.45;
2294 Double_t upperFiberGlassBlock_ZSize = 0.89;
2297 TString(
"upperFiberGlassBlockS") +=
2299 upperFiberGlassBlock_XSize * 0.5, upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
2306 if (upperFiberGlassBlockV_medium) {
2307 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
2309 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
2318 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
2319 upperFiberGlassBlock_transf[0]->
SetDy(
2320 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
2321 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2323 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
2327 Double_t upperBrasslayer_XSize = 165.1;
2328 Double_t upperBrasslayer_YSize = 1.45;
2329 Double_t upperBrasslayer_ZSize = 0.005;
2331 Double_t sideBrasslayer_XSize = 1.45;
2332 Double_t sideBrasslayer_YSize = 49.4;
2333 Double_t sideBrasslayer_ZSize = 0.005;
2337 upperBrasslayer_XSize * 0.5, upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
2340 sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5, sideBrasslayer_ZSize * 0.5);
2349 if (upperBrasslayerV_medium) {
2350 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2351 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2353 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
2364 upperBrasslayer_transf[0]->
SetDx(0.0);
2365 upperBrasslayer_transf[0]->
SetDy(
2366 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
2372 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2373 sideBrasslayer_transf[0]->
SetDy(+0.45 );
2377 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2378 sideBrasslayer_transf[1]->
SetDy(+0.45 );
2381 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
2383 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
2384 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
2388 Double_t upperSteellayer_XSize = 165.1;
2389 Double_t upperSteellayer_YSize = 1.45;
2390 Double_t upperSteellayer_ZSize = 0.005;
2392 Double_t sideSteellayer_XSize = 1.45;
2393 Double_t sideSteellayer_YSize = 49.4;
2394 Double_t sideSteellayer_ZSize = 0.005;
2398 upperSteellayer_XSize * 0.5, upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
2401 sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5, sideSteellayer_ZSize * 0.5);
2410 if (upperSteellayerV_medium) {
2411 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
2412 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
2414 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
2425 upperSteellayer_transf[0]->
SetDx(0.0);
2426 upperSteellayer_transf[0]->
SetDy(
2427 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
2433 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2434 sideSteellayer_transf[0]->
SetDy(+0.45 );
2438 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2439 sideSteellayer_transf[1]->
SetDy(+0.45 );
2442 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
2444 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
2445 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
2478 Double_t layerFront_XShift = -0.445;
2483 Double_t layerBack_XShift = -0.445;
2487 Double_t copperLayer_ZSize = 0.00655;
2488 Double_t copperLayerHole_Radius = 6.0;
2494 layerFront_XSize * 0.5, layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
2498 layerBack_XSize * 0.5, layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
2503 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2507 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2510 copperLayerFrontHole_pos->
SetName(
TString(
"copperLayerFrontHole_pos") +=
2514 copperLayerFrontHole_pos->
SetDz(0.0);
2518 copperLayerBackHole_pos->
SetName(
TString(
"copperLayerBackHole_pos") +=
2522 copperLayerBackHole_pos->
SetDz(0.0);
2529 TString expression =
"copperLayerFrontBlankS";
2531 expression +=
"-copperLayerFrontHoleS";
2533 expression +=
":copperLayerFrontHole_pos";
2536 copperLayerFrontS->
MakeNode(expression);
2544 TString expression =
"copperLayerBackBlankS";
2546 expression +=
"-copperLayerBackHoleS";
2548 expression +=
":copperLayerBackHole_pos";
2551 copperLayerBackS->
MakeNode(expression);
2562 if (copperLayerV_medium) {
2563 copperLayerFrontV->
SetMedium(copperLayerV_medium);
2564 copperLayerBackV->
SetMedium(copperLayerV_medium);
2566 Fatal(
"Main",
"Invalid medium for copperLayerV!");
2577 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2578 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2584 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2585 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2588 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
2589 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
2594 Double_t glueLayerHole_Radius = 6.0;
2600 layerFront_XSize * 0.5, layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
2603 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
2607 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2610 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2613 glueLayerFrontHole_pos->
SetName(
TString(
"glueLayerFrontHole_pos") +=
2617 glueLayerFrontHole_pos->
SetDz(0.0);
2621 glueLayerBackHole_pos->
SetName(
TString(
"glueLayerBackHole_pos") +=
2625 glueLayerBackHole_pos->
SetDz(0.0);
2632 TString expression =
"glueLayerFrontBlankS";
2634 expression +=
"-glueLayerFrontHoleS";
2636 expression +=
":glueLayerFrontHole_pos";
2639 glueLayerFrontS->
MakeNode(expression);
2647 TString expression =
"glueLayerBackBlankS";
2649 expression +=
"-glueLayerBackHoleS";
2651 expression +=
":glueLayerBackHole_pos";
2654 glueLayerBackS->
MakeNode(expression);
2665 if (glueLayerV_medium) {
2666 glueLayerFrontV->
SetMedium(glueLayerV_medium);
2667 glueLayerBackV->
SetMedium(glueLayerV_medium);
2669 Fatal(
"Main",
"Invalid medium for glueLayerV!");
2680 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2681 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2687 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2688 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2691 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
2692 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
2696 Double_t epoxideLayer_ZSize = 0.105;
2697 Double_t epoxideLayerHole_Radius = 6.0;
2703 layerFront_XSize * 0.5, layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2707 layerBack_XSize * 0.5, layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2712 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2716 0.0, epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2719 epoxideLayerFrontHole_pos->
SetName(
TString(
"epoxideLayerFrontHole_pos") +=
2723 epoxideLayerFrontHole_pos->
SetDz(0.0);
2727 epoxideLayerBackHole_pos->
SetName(
TString(
"epoxideLayerBackHole_pos") +=
2731 epoxideLayerBackHole_pos->
SetDz(0.0);
2738 TString expression =
"epoxideLayerFrontBlankS";
2740 expression +=
"-epoxideLayerFrontHoleS";
2742 expression +=
":epoxideLayerFrontHole_pos";
2745 epoxideLayerFrontS->
MakeNode(expression);
2753 TString expression =
"epoxideLayerBackBlankS";
2755 expression +=
"-epoxideLayerBackHoleS";
2757 expression +=
":epoxideLayerBackHole_pos";
2760 epoxideLayerBackS->
MakeNode(expression);
2771 if (epoxideLayerV_medium) {
2772 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
2773 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
2775 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
2786 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2787 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2789 + epoxideLayer_ZSize * 0.5);
2794 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2795 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2797 - epoxideLayer_ZSize * 0.5);
2799 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
2800 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
2805 Double_t honeycombLayer_ZSize = 1.4 - (0.06805);
2806 Double_t honeycombLayerHole_Radius = 6.0;
2812 layerFront_XSize * 0.5, layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2816 layerBack_XSize * 0.5, layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2821 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2825 0.0, honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2828 honeycombLayerFrontHole_pos->
SetName(
TString(
"honeycombLayerFrontHole_pos") +=
2832 honeycombLayerFrontHole_pos->
SetDz(0.0);
2836 honeycombLayerBackHole_pos->
SetName(
TString(
"honeycombLayerBackHole_pos") +=
2840 honeycombLayerBackHole_pos->
SetDz(0.0);
2847 TString expression =
"honeycombLayerFrontBlankS";
2849 expression +=
"-honeycombLayerFrontHoleS";
2851 expression +=
":honeycombLayerFrontHole_pos";
2854 honeycombLayerFrontS->
MakeNode(expression);
2862 TString expression =
"honeycombLayerBackBlankS";
2864 expression +=
"-honeycombLayerBackHoleS";
2866 expression +=
":honeycombLayerBackHole_pos";
2869 honeycombLayerBackS->
MakeNode(expression);
2880 if (honeycombLayerV_medium) {
2881 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
2882 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
2884 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
2895 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2896 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2898 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
2903 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2904 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2906 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
2908 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
2909 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
2913 Double_t polyamideLayer_ZSize = 0.0125;
2914 Double_t polyamideLayerHole_Radius = 6.0;
2920 layerFront_XSize * 0.5, layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
2924 layerBack_XSize * 0.5, layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
2929 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
2933 0.0, polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
2936 polyamideLayerFrontHole_pos->
SetName(
TString(
"polyamideLayerFrontHole_pos") +=
2940 polyamideLayerFrontHole_pos->
SetDz(0.0);
2944 polyamideLayerBackHole_pos->
SetName(
TString(
"polyamideLayerBackHole_pos") +=
2948 polyamideLayerBackHole_pos->
SetDz(0.0);
2955 TString expression =
"polyamideLayerFrontBlankS";
2957 expression +=
"-polyamideLayerFrontHoleS";
2959 expression +=
":polyamideLayerFrontHole_pos";
2962 polyamideLayerFrontS->
MakeNode(expression);
2970 TString expression =
"polyamideLayerBackBlankS";
2972 expression +=
"-polyamideLayerBackHoleS";
2974 expression +=
":polyamideLayerBackHole_pos";
2977 polyamideLayerBackS->
MakeNode(expression);
2988 if (polyamideLayerV_medium) {
2989 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
2990 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
2992 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
3003 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3004 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3006 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
3011 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3012 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3014 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
3016 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
3017 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
3034 Double_t backLowerEpoxideFrame_XSize = 161.42;
3035 Double_t backLowerEpoxideFrame_YSize = 2.2;
3036 Double_t backLowerEpoxideFrame_ZSize = 1.5;
3038 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
3039 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
3040 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
3044 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
3045 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
3047 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
3048 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3053 backLowerEpoxideFrameHalf_pos1->
SetDx(
3054 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3055 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3056 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3062 backLowerEpoxideFrameHalf_pos2->
SetDx(
3063 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3064 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3065 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3070 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
3071 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
3072 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
3078 TString expression =
"backLowerEpoxideFrameHalfS";
3080 expression +=
":backLowerEpoxideFrameHalf1_pos1";
3082 expression +=
"+backLowerEpoxideFrameHalfS";
3084 expression +=
":backLowerEpoxideFrameHalf1_pos2";
3086 expression +=
"+backLowerEpoxideFrameArchS";
3088 expression +=
":backLowerEpoxideFrameArch_pos";
3091 backLowerEpoxideFrameS->
MakeNode(expression);
3100 if (backLowerEpoxideFrameV_medium) {
3101 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
3103 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
3112 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3116 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
3120 Double_t frontLowerEpoxideFrame_XSize = 161.7;
3121 Double_t frontLowerEpoxideFrame_YSize = 2.2;
3122 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
3124 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
3125 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
3126 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
3128 TGeoShape* frontLowerEpoxideFrameHalfS =
3130 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
3131 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
3133 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
3134 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3139 frontLowerEpoxideFrameHalf_pos1->
SetDx(
3140 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3141 + frontLowerEpoxideFrameArch_Rmin));
3142 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3143 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3149 frontLowerEpoxideFrameHalf_pos2->
SetDx(
3150 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3151 + frontLowerEpoxideFrameArch_Rmin));
3152 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3153 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3159 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
3160 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
3161 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
3167 TString expression =
"frontLowerEpoxideFrameHalfS";
3169 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
3171 expression +=
"+frontLowerEpoxideFrameHalfS";
3173 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
3175 expression +=
"+frontLowerEpoxideFrameArchS";
3177 expression +=
":frontLowerEpoxideFrameArch_pos";
3180 frontLowerEpoxideFrameS->
MakeNode(expression);
3189 if (frontLowerEpoxideFrameV_medium) {
3190 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
3192 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
3201 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
3205 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
3209 Double_t backSideEpoxideFramePart_XSize = 9.2;
3210 Double_t backSideEpoxideFramePart_YSize = 52.6 - 6.0;
3211 Double_t backSideEpoxideFramePart_ZSize = 1.5;
3213 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
3216 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
3217 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
3221 backSideEpoxideFramePart_pos1->
SetDx(
3222 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3223 backSideEpoxideFramePart_pos1->
SetDy(0.0);
3224 backSideEpoxideFramePart_pos1->
SetDz(0.0);
3229 backSideEpoxideFramePart_pos2->
SetDx(
3230 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3231 backSideEpoxideFramePart_pos2->
SetDy(0.0);
3232 backSideEpoxideFramePart_pos2->
SetDz(0.0);
3238 TString expression =
"backSideEpoxideFramePartS";
3240 expression +=
":backSideEpoxideFramePart_pos1";
3242 expression +=
"+backSideEpoxideFramePartS";
3244 expression +=
":backSideEpoxideFramePart_pos2";
3247 backSideEpoxideFrameS->
MakeNode(expression);
3256 if (backSideEpoxideFrameV_medium) {
3257 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
3259 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
3268 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
3270 - frontLowerEpoxideFrame_YSize + 0.2 );
3273 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
3277 Double_t backUpperEpoxideFrame_XSize = 161.42;
3278 Double_t backUpperEpoxideFrame_YSize = 6.2;
3279 Double_t backUpperEpoxideFrame_ZSize = 1.6;
3282 TString(
"backUpperEpoxideFrameS") +=
TString(
"_") + frames->
GetName(), backUpperEpoxideFrame_XSize * 0.5,
3283 backUpperEpoxideFrame_YSize * 0.5, backUpperEpoxideFrame_ZSize * 0.5);
3290 if (backUpperEpoxideFrameV_medium) {
3291 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
3293 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
3302 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3307 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
3311 Double_t frontSideEpoxideFramePart_XSize = 3.5;
3312 Double_t frontSideEpoxideFramePart_YSize = 49.9 - 6.0;
3313 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
3315 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
3319 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
3320 frontSideEpoxideFramePart_ZSize * 0.5);
3325 frontSideEpoxideFramePart_pos1->
SetDx(
3326 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3327 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
3328 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
3334 frontSideEpoxideFramePart_pos2->
SetDx(
3335 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3336 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
3337 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
3343 TString expression =
"frontSideEpoxideFramePartS";
3345 expression +=
":frontSideEpoxideFramePart_pos1";
3347 expression +=
"+frontSideEpoxideFramePartS";
3349 expression +=
":frontSideEpoxideFramePart_pos2";
3352 frontSideEpoxideFrameS->
MakeNode(expression);
3361 if (frontSideEpoxideFrameV_medium) {
3362 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
3364 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
3373 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
3375 - frontLowerEpoxideFrame_YSize + 0.2 );
3378 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
3382 Double_t frontUpperEpoxideFrame_XSize = 161.7;
3383 Double_t frontUpperEpoxideFrame_YSize = 3.5;
3384 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
3387 TString(
"frontUpperEpoxideFrameS") +=
TString(
"_") + frames->
GetName(), frontUpperEpoxideFrame_XSize * 0.5,
3388 frontUpperEpoxideFrame_YSize * 0.5, frontUpperEpoxideFrame_ZSize * 0.5);
3395 if (frontUpperEpoxideFrameV_medium) {
3396 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
3398 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
3407 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3412 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
3416 Double_t alumCableSupportPart_XSize = 3.0;
3417 Double_t alumCableSupportPart_YSize = 41.3 - 6.0;
3418 Double_t alumCableSupportPart_ZSize = 0.2;
3420 Double_t alumCableSupport_XDistBetweenParts = 164.82;
3423 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
3424 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
3428 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3429 alumCableSupportPart_pos1->
SetDy(0.0);
3430 alumCableSupportPart_pos1->
SetDz(0.0);
3435 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3436 alumCableSupportPart_pos2->
SetDy(0.0);
3437 alumCableSupportPart_pos2->
SetDz(0.0);
3443 TString expression =
"alumCableSupportPartS";
3445 expression +=
":alumCableSupportPart_pos1";
3447 expression +=
"+alumCableSupportPartS";
3449 expression +=
":alumCableSupportPart_pos2";
3452 alumCableSupportS->
MakeNode(expression);
3461 if (alumCableSupportV_medium) {
3462 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
3464 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
3473 alumCableSupport_transf[0]->
SetDx(0.0);
3475 - frontLowerEpoxideFrame_YSize + 0.2 );
3477 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3479 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
3483 Double_t amplifierUpperBlockPart1_XSize = 161.44;
3484 Double_t amplifierUpperBlockPart1_YSize = 0.6;
3485 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
3487 Double_t amplifierUpperBlockPart2_XSize = 161.16;
3488 Double_t amplifierUpperBlockPart2_YSize = 0.6;
3489 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
3492 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
3493 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
3495 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
3496 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
3500 amplifierUpperBlockPart1_pos->
SetDx(0.0);
3501 amplifierUpperBlockPart1_pos->
SetDy(0.0);
3502 amplifierUpperBlockPart1_pos->
SetDz(0.0);
3507 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
3508 amplifierUpperBlockPart2_pos->
SetDy(
3509 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
3510 amplifierUpperBlockPart2_pos->
SetDz(0.0);
3516 TString expression =
"amplifierUpperBlockPart1S";
3518 expression +=
":amplifierUpperBlockPart1_pos";
3520 expression +=
"+amplifierUpperBlockPart1S";
3522 expression +=
":amplifierUpperBlockPart2_pos";
3525 amplifierUpperBlockS->
MakeNode(expression);
3534 if (amplifierUpperBlockV_medium) {
3535 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
3537 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
3546 amplifierUpperBlock_transf[0]->
SetDx(0.0);
3551 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
3555 Double_t amplifierSideBlockPartBig_XSize = 0.6;
3556 Double_t amplifierSideBlockPartBig_YSize = 33.9;
3557 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
3559 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
3560 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
3561 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
3565 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
3566 amplifierSideBlockPartBig_ZSize * 0.5);
3567 TGeoShape* amplifierSideBlockPartSmallS =
3569 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
3570 amplifierSideBlockPartSmall_ZSize * 0.5);
3574 amplifierSideBlockPartBig_pos->
SetDx(0.0);
3575 amplifierSideBlockPartBig_pos->
SetDy(0.0);
3576 amplifierSideBlockPartBig_pos->
SetDz(0.0);
3582 amplifierSideBlockPartSmall_pos->
SetDx(
3583 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
3584 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
3585 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
3591 TString expression =
"amplifierSideBlockPartBigS";
3593 expression +=
":amplifierSideBlockPartBig_pos";
3595 expression +=
"+amplifierSideBlockPartSmallS";
3597 expression +=
":amplifierSideBlockPartSmall_pos";
3600 amplifierSideBlockS->
MakeNode(expression);
3609 if (amplifierSideBlockV_medium) {
3610 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
3612 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
3621 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
3622 amplifierSideBlock_transf[0]->
SetDy(-5.5 + 6.0 * 0.5);
3627 amplifierSideBlock_transf[1]->
RotateY(180.0);
3628 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
3629 amplifierSideBlock_transf[1]->
SetDy(-5.5 + 6.0 * 0.5);
3633 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
3634 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
3643 upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
3649 if (upperPcbV_medium) {
3652 Fatal(
"Main",
"Invalid medium for upperPcbV!");
3661 upperPcb_transf[0]->
SetDx(+0.1 );
3662 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ) - 6.0 * 0.5);
3664 - frontSideEpoxideFramePart_ZSize);
3666 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
3671 Double_t sidePcbPart_YSize = 35.05;
3675 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
3679 sidePcbPart_pos1->
SetDx(0.0);
3680 sidePcbPart_pos1->
SetDy(0.0);
3681 sidePcbPart_pos1->
SetDz(0.0);
3686 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
3687 sidePcbPart_pos2->
SetDy(0.0);
3688 sidePcbPart_pos2->
SetDz(0.0);
3694 TString expression =
"sidePcbPartS";
3696 expression +=
":sidePcbPart_pos1";
3698 expression +=
"+sidePcbPartS";
3700 expression +=
":sidePcbPart_pos2";
3711 if (sidePcbV_medium) {
3714 Fatal(
"Main",
"Invalid medium for sidePcbV!");
3723 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
3724 sidePcb_transf[0]->
SetDy(-6.8 + 6.0 * 0.5);
3726 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3729 sidePcb_transf[1]->
RotateY(180.0);
3730 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
3731 sidePcb_transf[1]->
SetDy(-6.8 + 6.0 * 0.5);
3733 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3735 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
3736 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
3740 Double_t alumSideSupport_XSize = 4.8;
3741 Double_t alumSideSupport_YSize = 52.6 - 6.0;
3742 Double_t alumSideSupport_ZSize = 0.4;
3746 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
3753 if (alumSideSupportV_medium) {
3754 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
3756 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
3765 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
3766 alumSideSupport_transf[0]->
SetDy(+1.8);
3770 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
3771 alumSideSupport_transf[1]->
SetDy(+1.8 );
3774 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
3775 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
3780 Double_t boschShape_YSize = 52.6 - 6.0;
3784 boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
3790 if (boschShapeV_medium) {
3791 boschShapeV->
SetMedium(boschShapeV_medium);
3793 Fatal(
"Main",
"Invalid medium for boschShapeV!");
3802 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
3803 boschShape_transf[0]->
SetDy(+1.8 );
3807 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
3808 boschShape_transf[1]->
SetDy(+1.8 );
3816 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
3817 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
3818 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
3819 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
3821 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
3822 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
3823 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
3824 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
3826 Double_t insidePolyacetalShapeLower_XSize = 8.4;
3827 Double_t insidePolyacetalShapeLower_YSize = 52.6 - 6.0;
3828 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
3829 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
3831 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
3832 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
3833 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
3834 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
3836 TGeoShape* insidePolyacetalShapeUpperS =
3838 insidePolyacetalShapeUpper_XSize * 0.5, insidePolyacetalShapeUpper_YSize * 0.5,
3839 insidePolyacetalShapeUpper_ZSize * 0.5);
3840 TGeoShape* outsidePolyacetalShapeUpperS =
3842 outsidePolyacetalShapeUpper_XSize * 0.5, outsidePolyacetalShapeUpper_YSize * 0.5,
3843 outsidePolyacetalShapeUpper_ZSize * 0.5);
3844 TGeoShape* insidePolyacetalShapeLowerS =
3846 insidePolyacetalShapeLower_XSize * 0.5, insidePolyacetalShapeLower_YSize * 0.5,
3847 insidePolyacetalShapeLower_ZSize * 0.5);
3848 TGeoShape* outsidePolyacetalShapeLowerS =
3850 outsidePolyacetalShapeLower_XSize * 0.5, outsidePolyacetalShapeLower_YSize * 0.5,
3851 outsidePolyacetalShapeLower_ZSize * 0.5);
3854 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
3856 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
3858 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
3860 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
3864 if (polyacetalShapeV_medium) {
3865 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3866 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3867 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3868 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3870 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
3885 insidePolyacetalShapeUpper_transf[0]->
SetDx(
3886 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3887 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
3888 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3891 insidePolyacetalShapeUpper_transf[1]->
SetDx(
3892 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3893 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
3894 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3899 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
3900 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3901 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3902 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3903 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3906 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
3907 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3908 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3909 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3910 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3915 insidePolyacetalShapeLower_transf[0]->
SetDx(
3916 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3917 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
3918 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
3921 insidePolyacetalShapeLower_transf[1]->
SetDx(
3922 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3923 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
3924 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
3929 outsidePolyacetalShapeLower_transf[0]->
SetDx(
3930 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3931 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
3932 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
3933 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
3936 outsidePolyacetalShapeLower_transf[1]->
SetDx(
3937 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3938 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
3939 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
3940 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
3943 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
3944 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
3945 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
3946 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
3950 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
3951 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
3952 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
3953 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
3959 Double_t lowerFiberGlassBlock_XSize = 165.1;
3960 Double_t lowerFiberGlassBlock_YSize = 1.75;
3961 Double_t lowerFiberGlassBlock_ZSize = 0.9;
3963 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
3964 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
3965 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
3969 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
3970 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
3972 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
3973 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
3976 lowerFiberGlassBlockHalf_pos1->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos1") +=
3978 lowerFiberGlassBlockHalf_pos1->
SetDx(
3979 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
3980 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
3981 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
3985 lowerFiberGlassBlockHalf_pos2->
SetName(
TString(
"lowerFiberGlassBlockHalf_pos2") +=
3987 lowerFiberGlassBlockHalf_pos2->
SetDx(
3988 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
3989 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
3990 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
3995 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
3996 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
3997 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
4003 TString expression =
"lowerFiberGlassBlockHalfS";
4005 expression +=
":lowerFiberGlassBlockHalf_pos1";
4007 expression +=
"+lowerFiberGlassBlockHalfS";
4009 expression +=
":lowerFiberGlassBlockHalf_pos2";
4011 expression +=
"+lowerFiberGlassBlockArchS";
4013 expression +=
":lowerFiberGlassBlockArch_pos";
4016 lowerFiberGlassBlockS->
MakeNode(expression);
4025 if (lowerFiberGlassBlockV_medium) {
4026 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
4028 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
4037 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
4039 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
4041 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
4045 Double_t sideFiberGlassBlockPart_XSize = 1.45;
4046 Double_t sideFiberGlassBlockPart_YSize = 49.4 - 6.0;
4047 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
4050 TString(
"sideFiberGlassBlockS") +=
TString(
"_") + frames->
GetName(), sideFiberGlassBlockPart_XSize * 0.5,
4051 sideFiberGlassBlockPart_YSize * 0.5, sideFiberGlassBlockPart_ZSize * 0.5);
4058 if (sideFiberGlassBlockV_medium) {
4059 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
4061 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
4070 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4071 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
4072 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4075 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4076 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
4077 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
4079 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
4080 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
4084 Double_t upperFiberGlassBlock_XSize = 165.1;
4085 Double_t upperFiberGlassBlock_YSize = 1.45;
4086 Double_t upperFiberGlassBlock_ZSize = 0.89;
4089 TString(
"upperFiberGlassBlockS") +=
TString(
"_") + frames->
GetName(), upperFiberGlassBlock_XSize * 0.5,
4090 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
4097 if (upperFiberGlassBlockV_medium) {
4098 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
4100 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
4109 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
4110 upperFiberGlassBlock_transf[0]->
SetDy(
4111 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
4112 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4114 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
4118 Double_t upperBrasslayer_XSize = 165.1;
4119 Double_t upperBrasslayer_YSize = 1.45;
4120 Double_t upperBrasslayer_ZSize = 0.005;
4122 Double_t sideBrasslayer_XSize = 1.45;
4123 Double_t sideBrasslayer_YSize = 49.4 - 6.0;
4124 Double_t sideBrasslayer_ZSize = 0.005;
4128 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
4131 sideBrasslayer_YSize * 0.5, sideBrasslayer_ZSize * 0.5);
4140 if (upperBrasslayerV_medium) {
4141 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4142 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4144 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
4155 upperBrasslayer_transf[0]->
SetDx(0.0);
4156 upperBrasslayer_transf[0]->
SetDy(
4157 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
4163 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4164 sideBrasslayer_transf[0]->
SetDy(+0.45 );
4168 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4169 sideBrasslayer_transf[1]->
SetDy(+0.45 );
4172 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
4174 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
4175 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
4179 Double_t upperSteellayer_XSize = 165.1;
4180 Double_t upperSteellayer_YSize = 1.45;
4181 Double_t upperSteellayer_ZSize = 0.005;
4183 Double_t sideSteellayer_XSize = 1.45;
4184 Double_t sideSteellayer_YSize = 49.4 - 6.0;
4185 Double_t sideSteellayer_ZSize = 0.005;
4189 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
4192 sideSteellayer_YSize * 0.5, sideSteellayer_ZSize * 0.5);
4201 if (upperSteellayerV_medium) {
4202 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
4203 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
4205 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
4216 upperSteellayer_transf[0]->
SetDx(0.0);
4217 upperSteellayer_transf[0]->
SetDy(
4218 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
4224 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4225 sideSteellayer_transf[0]->
SetDy(+0.45 );
4229 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4230 sideSteellayer_transf[1]->
SetDy(+0.45 );
4233 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
4235 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
4236 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
4441 Double_t outsideLayer_XSize = 10.5;
4442 Double_t outsideLayer_YSize = 10.5;
4447 Double_t copperOutsideLayer1_ZSize = 0.0005;
4448 Double_t kaptonOutsideLayer1_ZSize = 0.005;
4450 Double_t copperOutsideLayer2_ZSize = 0.0007;
4451 Double_t kaptonOutsideLayer2_ZSize = 0.003;
4453 Double_t copperOutsideLayer3_ZSize = 0.0007;
4454 Double_t kaptonOutsideLayer3_ZSize = 0.003;
4456 Double_t copperOutsideLayer4_ZSize = 0.0007;
4457 Double_t kaptonOutsideLayer4_ZSize = 0.003;
4461 outsideLayer_YSize * 0.5, copperOutsideLayer1_ZSize * 0.5);
4464 outsideLayer_YSize * 0.5, kaptonOutsideLayer1_ZSize * 0.5);
4468 outsideLayer_YSize * 0.5, copperOutsideLayer2_ZSize * 0.5);
4471 outsideLayer_YSize * 0.5, kaptonOutsideLayer2_ZSize * 0.5);
4475 outsideLayer_YSize * 0.5, copperOutsideLayer3_ZSize * 0.5);
4478 outsideLayer_YSize * 0.5, kaptonOutsideLayer3_ZSize * 0.5);
4482 outsideLayer_YSize * 0.5, copperOutsideLayer4_ZSize * 0.5);
4485 outsideLayer_YSize * 0.5, kaptonOutsideLayer4_ZSize * 0.5);
4489 insideLayer_YSize * 0.5, copperOutsideLayer1_ZSize * 0.5 + 0.01);
4492 insideLayer_YSize * 0.5, kaptonOutsideLayer1_ZSize * 0.5 + 0.01);
4496 insideLayer_YSize * 0.5, copperOutsideLayer2_ZSize * 0.5 + 0.01);
4499 insideLayer_YSize * 0.5, kaptonOutsideLayer2_ZSize * 0.5 + 0.01);
4503 insideLayer_YSize * 0.5, copperOutsideLayer3_ZSize * 0.5 + 0.01);
4506 insideLayer_YSize * 0.5, kaptonOutsideLayer3_ZSize * 0.5 + 0.01);
4510 insideLayer_YSize * 0.5, copperOutsideLayer4_ZSize * 0.5 + 0.01);
4513 insideLayer_YSize * 0.5, kaptonOutsideLayer4_ZSize * 0.5 + 0.01);
4518 TString expression =
"copperOutsideLayerBlank1S";
4519 expression +=
TString(
"_") + layer_name;
4520 expression +=
"-copperInsideLayerBlank1S";
4521 expression +=
TString(
"_") + layer_name;
4523 copperOutsideLayer1S->
MakeNode(expression);
4529 TString expression =
"kaptonOutsideLayerBlank1S";
4530 expression +=
TString(
"_") + layer_name;
4531 expression +=
"-kaptonInsideLayerBlank1S";
4532 expression +=
TString(
"_") + layer_name;
4534 kaptonOutsideLayer1S->
MakeNode(expression);
4541 TString expression =
"copperOutsideLayerBlank2S";
4542 expression +=
TString(
"_") + layer_name;
4543 expression +=
"-copperInsideLayerBlank2S";
4544 expression +=
TString(
"_") + layer_name;
4546 copperOutsideLayer2S->
MakeNode(expression);
4552 TString expression =
"kaptonOutsideLayerBlank2S";
4553 expression +=
TString(
"_") + layer_name;
4554 expression +=
"-kaptonInsideLayerBlank2S";
4555 expression +=
TString(
"_") + layer_name;
4557 kaptonOutsideLayer2S->
MakeNode(expression);
4564 TString expression =
"copperOutsideLayerBlank3S";
4565 expression +=
TString(
"_") + layer_name;
4566 expression +=
"-copperInsideLayerBlank3S";
4567 expression +=
TString(
"_") + layer_name;
4569 copperOutsideLayer3S->
MakeNode(expression);
4575 TString expression =
"kaptonOutsideLayerBlank3S";
4576 expression +=
TString(
"_") + layer_name;
4577 expression +=
"-kaptonInsideLayerBlank3S";
4578 expression +=
TString(
"_") + layer_name;
4580 kaptonOutsideLayer3S->
MakeNode(expression);
4587 TString expression =
"copperOutsideLayerBlank4S";
4588 expression +=
TString(
"_") + layer_name;
4589 expression +=
"-copperInsideLayerBlank4S";
4590 expression +=
TString(
"_") + layer_name;
4592 copperOutsideLayer4S->
MakeNode(expression);
4598 TString expression =
"kaptonOutsideLayerBlank4S";
4599 expression +=
TString(
"_") + layer_name;
4600 expression +=
"-kaptonInsideLayerBlank4S";
4601 expression +=
TString(
"_") + layer_name;
4603 kaptonOutsideLayer4S->
MakeNode(expression);
4629 if (copperOutsideLayerV_medium) {
4630 copperOutsideLayer1V->
SetMedium(copperOutsideLayerV_medium);
4631 copperOutsideLayer2V->
SetMedium(copperOutsideLayerV_medium);
4632 copperOutsideLayer3V->
SetMedium(copperOutsideLayerV_medium);
4633 copperOutsideLayer4V->
SetMedium(copperOutsideLayerV_medium);
4635 Fatal(
"Main",
"Invalid medium for copperOutsideLayerV!");
4638 if (kaptonOutsideLayerV_medium) {
4639 kaptonOutsideLayer1V->
SetMedium(kaptonOutsideLayerV_medium);
4640 kaptonOutsideLayer2V->
SetMedium(kaptonOutsideLayerV_medium);
4641 kaptonOutsideLayer3V->
SetMedium(kaptonOutsideLayerV_medium);
4642 kaptonOutsideLayer4V->
SetMedium(kaptonOutsideLayerV_medium);
4644 Fatal(
"Main",
"Invalid medium for kaptonOutsideLayerV!");
4666 copperOutsideLayer1V_transf[0]->
SetDx(0.0);
4667 copperOutsideLayer1V_transf[0]->
SetDy(0.0);
4672 kaptonOutsideLayer1V_transf[0]->
SetDx(0.0);
4673 kaptonOutsideLayer1V_transf[0]->
SetDy(0.0);
4674 kaptonOutsideLayer1V_transf[0]->
SetDz(-(copperOutsideLayer1_ZSize * 0.5 + kaptonOutsideLayer1_ZSize * 0.5)
4679 copperOutsideLayer2V_transf[0]->
SetDx(0.0);
4680 copperOutsideLayer2V_transf[0]->
SetDy(0.0);
4685 kaptonOutsideLayer2V_transf[0]->
SetDx(0.0);
4686 kaptonOutsideLayer2V_transf[0]->
SetDy(0.0);
4687 kaptonOutsideLayer2V_transf[0]->
SetDz(-(copperOutsideLayer2_ZSize * 0.5 + kaptonOutsideLayer2_ZSize * 0.5)
4692 copperOutsideLayer3V_transf[0]->
SetDx(0.0);
4693 copperOutsideLayer3V_transf[0]->
SetDy(0.0);
4698 kaptonOutsideLayer3V_transf[0]->
SetDx(0.0);
4699 kaptonOutsideLayer3V_transf[0]->
SetDy(0.0);
4700 kaptonOutsideLayer3V_transf[0]->
SetDz(-(copperOutsideLayer3_ZSize * 0.5 + kaptonOutsideLayer3_ZSize * 0.5)
4705 copperOutsideLayer4V_transf[0]->
SetDx(0.0);
4706 copperOutsideLayer4V_transf[0]->
SetDy(0.0);
4711 kaptonOutsideLayer4V_transf[0]->
SetDx(0.0);
4712 kaptonOutsideLayer4V_transf[0]->
SetDy(0.0);
4713 kaptonOutsideLayer4V_transf[0]->
SetDz(-(copperOutsideLayer4_ZSize * 0.5 + kaptonOutsideLayer4_ZSize * 0.5)
4716 layers->
AddNode(copperOutsideLayer1V, 0, copperOutsideLayer1V_transf[0]);
4717 layers->
AddNode(kaptonOutsideLayer1V, 0, kaptonOutsideLayer1V_transf[0]);
4718 layers->
AddNode(copperOutsideLayer2V, 0, copperOutsideLayer2V_transf[0]);
4719 layers->
AddNode(kaptonOutsideLayer2V, 0, kaptonOutsideLayer2V_transf[0]);
4720 layers->
AddNode(copperOutsideLayer3V, 0, copperOutsideLayer3V_transf[0]);
4721 layers->
AddNode(kaptonOutsideLayer3V, 0, kaptonOutsideLayer3V_transf[0]);
4722 layers->
AddNode(copperOutsideLayer4V, 0, copperOutsideLayer4V_transf[0]);
4723 layers->
AddNode(kaptonOutsideLayer4V, 0, kaptonOutsideLayer4V_transf[0]);
4739 Double_t outsideFilmFrame_XSize = 12.5;
4740 Double_t outsideFilmFrame_YSize = 12.5;
4742 Double_t insideFilmFrame_XSize = 10.5;
4743 Double_t insideFilmFrame_YSize = 10.5;
4745 Double_t fiberglassFilmFrame_ZSize = 0.05;
4746 Double_t epoxideFilmFrame_ZSize = 0.005;
4747 Double_t kaptonFilmFrame_ZSize = 0.005;
4749 TGeoShape* fiberglassOutsideFilmFrameBlankS =
4751 outsideFilmFrame_XSize * 0.5, outsideFilmFrame_YSize * 0.5, fiberglassFilmFrame_ZSize * 0.5);
4752 TGeoShape* fiberglassInsideFilmFrameBlankS =
4754 insideFilmFrame_XSize * 0.5, insideFilmFrame_YSize * 0.5, fiberglassFilmFrame_ZSize * 0.5 + 0.01);
4756 TGeoShape* epoxideOutsideFilmFrameBlankS =
4757 new TGeoBBox(
TString(
"epoxideOutsideFilmFrameBlankS") +
TString(
"_") + frame_name, outsideFilmFrame_XSize * 0.5,
4758 outsideFilmFrame_YSize * 0.5, epoxideFilmFrame_ZSize * 0.5);
4759 TGeoShape* epoxideInsideFilmFrameBlankS =
4760 new TGeoBBox(
TString(
"epoxideInsideFilmFrameBlankS") +
TString(
"_") + frame_name, insideFilmFrame_XSize * 0.5,
4761 insideFilmFrame_YSize * 0.5, epoxideFilmFrame_ZSize * 0.5 + 0.01);
4763 TGeoShape* kaptonOutsideFilmFrameBlankS =
4764 new TGeoBBox(
TString(
"kaptonOutsideFilmFrameBlankS") +
TString(
"_") + frame_name, outsideFilmFrame_XSize * 0.5,
4765 outsideFilmFrame_YSize * 0.5, kaptonFilmFrame_ZSize * 0.5);
4766 TGeoShape* kaptonInsideFilmFrameBlankS =
4767 new TGeoBBox(
TString(
"kaptonInsideFilmFrameBlankS") +
TString(
"_") + frame_name, insideFilmFrame_XSize * 0.5,
4768 insideFilmFrame_YSize * 0.5, kaptonFilmFrame_ZSize * 0.5 + 0.01);
4773 TString expression =
"fiberglassOutsideFilmFrameBlankS";
4774 expression +=
TString(
"_") + frame_name;
4775 expression +=
"-fiberglassInsideFilmFrameBlankS";
4776 expression +=
TString(
"_") + frame_name;
4778 fiberglassFilmFrameS->
MakeNode(expression);
4785 TString expression =
"epoxideOutsideFilmFrameBlankS";
4786 expression +=
TString(
"_") + frame_name;
4787 expression +=
"-epoxideInsideFilmFrameBlankS";
4788 expression +=
TString(
"_") + frame_name;
4790 epoxideFilmFrameS->
MakeNode(expression);
4797 TString expression =
"kaptonOutsideFilmFrameBlankS";
4798 expression +=
TString(
"_") + frame_name;
4799 expression +=
"-kaptonInsideFilmFrameBlankS";
4800 expression +=
TString(
"_") + frame_name;
4802 kaptonFilmFrameS->
MakeNode(expression);
4814 if (fiberglassFilmFrameV_medium) {
4815 fiberglassFilmFrameV->
SetMedium(fiberglassFilmFrameV_medium);
4817 Fatal(
"Main",
"Invalid medium for fiberglassFilmFrameV!");
4820 if (epoxideFilmFrameV_medium) {
4821 epoxideFilmFrameV->
SetMedium(epoxideFilmFrameV_medium);
4823 Fatal(
"Main",
"Invalid medium for epoxideFilmFrameV!");
4826 if (kaptonFilmFrameV_medium) {
4827 kaptonFilmFrameV->
SetMedium(kaptonFilmFrameV_medium);
4829 Fatal(
"Main",
"Invalid medium for kaptonFilmFrameV!");
4841 kaptonFilmFrameV_transf1[0]->
SetDx(0.0);
4842 kaptonFilmFrameV_transf1[0]->
SetDy(0.0);
4847 epoxideFilmFrameV_transf1f[0]->
SetDx(0.0);
4848 epoxideFilmFrameV_transf1f[0]->
SetDy(0.0);
4850 - epoxideFilmFrame_ZSize * 0.5 + 0.06);
4854 epoxideFilmFrameV_transf1b[0]->
SetDx(0.0);
4855 epoxideFilmFrameV_transf1b[0]->
SetDy(0.0);
4857 + epoxideFilmFrame_ZSize * 0.5 + 0.06);
4861 fiberglassFilmFrameV_transf1f[0]->
SetDx(0.0);
4862 fiberglassFilmFrameV_transf1f[0]->
SetDy(0.0);
4864 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06);
4868 fiberglassFilmFrameV_transf1b[0]->
SetDx(0.0);
4869 fiberglassFilmFrameV_transf1b[0]->
SetDy(0.0);
4871 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06);
4875 kaptonFilmFrameV_transf1[1]->
SetDx(0.0);
4876 kaptonFilmFrameV_transf1[1]->
SetDy(0.0);
4880 epoxideFilmFrameV_transf1f[1]->
SetDx(0.0);
4881 epoxideFilmFrameV_transf1f[1]->
SetDy(0.0);
4883 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4886 epoxideFilmFrameV_transf1b[1]->
SetDx(0.0);
4887 epoxideFilmFrameV_transf1b[1]->
SetDy(0.0);
4889 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4892 fiberglassFilmFrameV_transf1f[1]->
SetDx(0.0);
4893 fiberglassFilmFrameV_transf1f[1]->
SetDy(0.0);
4895 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4898 fiberglassFilmFrameV_transf1b[1]->
SetDx(0.0);
4899 fiberglassFilmFrameV_transf1b[1]->
SetDy(0.0);
4901 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.306);
4905 kaptonFilmFrameV_transf1[2]->
SetDx(0.0);
4906 kaptonFilmFrameV_transf1[2]->
SetDy(0.0);
4910 epoxideFilmFrameV_transf1f[2]->
SetDx(0.0);
4911 epoxideFilmFrameV_transf1f[2]->
SetDy(0.0);
4913 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4916 epoxideFilmFrameV_transf1b[2]->
SetDx(0.0);
4917 epoxideFilmFrameV_transf1b[2]->
SetDy(0.0);
4919 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4922 fiberglassFilmFrameV_transf1f[2]->
SetDx(0.0);
4923 fiberglassFilmFrameV_transf1f[2]->
SetDy(0.0);
4925 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4928 fiberglassFilmFrameV_transf1b[2]->
SetDx(0.0);
4929 fiberglassFilmFrameV_transf1b[2]->
SetDy(0.0);
4931 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.559);
4935 kaptonFilmFrameV_transf1[3]->
SetDx(0.0);
4936 kaptonFilmFrameV_transf1[3]->
SetDy(0.0);
4940 epoxideFilmFrameV_transf1f[3]->
SetDx(0.0);
4941 epoxideFilmFrameV_transf1f[3]->
SetDy(0.0);
4943 - epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4946 epoxideFilmFrameV_transf1b[3]->
SetDx(0.0);
4947 epoxideFilmFrameV_transf1b[3]->
SetDy(0.0);
4949 + epoxideFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4952 fiberglassFilmFrameV_transf1f[3]->
SetDx(0.0);
4953 fiberglassFilmFrameV_transf1f[3]->
SetDy(0.0);
4955 - epoxideFilmFrame_ZSize - fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4958 fiberglassFilmFrameV_transf1b[3]->
SetDx(0.0);
4959 fiberglassFilmFrameV_transf1b[3]->
SetDy(0.0);
4961 + epoxideFilmFrame_ZSize + fiberglassFilmFrame_ZSize * 0.5 + 0.06 + 0.763);
4963 frames->
AddNode(kaptonFilmFrameV, 0, kaptonFilmFrameV_transf1[0]);
4964 frames->
AddNode(epoxideFilmFrameV, 0, epoxideFilmFrameV_transf1f[0]);
4965 frames->
AddNode(epoxideFilmFrameV, 1, epoxideFilmFrameV_transf1b[0]);
4966 frames->
AddNode(fiberglassFilmFrameV, 0, fiberglassFilmFrameV_transf1f[0]);
4967 frames->
AddNode(fiberglassFilmFrameV, 1, fiberglassFilmFrameV_transf1b[0]);
4969 frames->
AddNode(kaptonFilmFrameV, 1, kaptonFilmFrameV_transf1[1]);
4970 frames->
AddNode(epoxideFilmFrameV, 2, epoxideFilmFrameV_transf1f[1]);
4971 frames->
AddNode(epoxideFilmFrameV, 3, epoxideFilmFrameV_transf1b[1]);
4972 frames->
AddNode(fiberglassFilmFrameV, 2, fiberglassFilmFrameV_transf1f[1]);
4973 frames->
AddNode(fiberglassFilmFrameV, 3, fiberglassFilmFrameV_transf1b[1]);
4975 frames->
AddNode(kaptonFilmFrameV, 2, kaptonFilmFrameV_transf1[2]);
4976 frames->
AddNode(epoxideFilmFrameV, 4, epoxideFilmFrameV_transf1f[2]);
4977 frames->
AddNode(epoxideFilmFrameV, 5, epoxideFilmFrameV_transf1b[2]);
4978 frames->
AddNode(fiberglassFilmFrameV, 4, fiberglassFilmFrameV_transf1f[2]);
4979 frames->
AddNode(fiberglassFilmFrameV, 5, fiberglassFilmFrameV_transf1b[2]);
4981 frames->
AddNode(kaptonFilmFrameV, 3, kaptonFilmFrameV_transf1[3]);
4982 frames->
AddNode(epoxideFilmFrameV, 6, epoxideFilmFrameV_transf1f[3]);
4983 frames->
AddNode(epoxideFilmFrameV, 7, epoxideFilmFrameV_transf1b[3]);
4984 frames->
AddNode(fiberglassFilmFrameV, 6, fiberglassFilmFrameV_transf1f[3]);
4985 frames->
AddNode(fiberglassFilmFrameV, 7, fiberglassFilmFrameV_transf1b[3]);
4991 Double_t kaptonCover_ZSize = 0.005;
4993 Double_t insideFiberglassCover_XSize = 10.4;
4994 Double_t insideFiberglassCover_YSize = 10.4;
4995 Double_t outsideFiberglassCover_XSize = 18.3;
4996 Double_t outsideFiberglassCover_YSize = 18.3;
4997 Double_t outsideFiberglassCover_ZSize = 0.175;
4999 Double_t insideCopperCover_XSize = 10.4;
5000 Double_t insideCopperCover_YSize = 10.4;
5001 Double_t outsideCopperCover_XSize = 18.3;
5002 Double_t outsideCopperCover_YSize = 18.3;
5003 Double_t outsideCopperCover_ZSize = 0.007;
5006 kaptonCover_YSize * 0.5, kaptonCover_ZSize * 0.5);
5009 TString(
"fiberglassOutsideCoverBlankS") +
TString(
"_") + frame_name, outsideFiberglassCover_XSize * 0.5,
5010 outsideFiberglassCover_YSize * 0.5, outsideFiberglassCover_ZSize * 0.5);
5012 TString(
"fiberglassInsideCoverBlankS") +
TString(
"_") + frame_name, insideFiberglassCover_XSize * 0.5,
5013 insideFiberglassCover_YSize * 0.5, outsideFiberglassCover_ZSize * 0.5 + 0.01);
5016 new TGeoBBox(
TString(
"copperOutsideCoverBlankS") +
TString(
"_") + frame_name, outsideCopperCover_XSize * 0.5,
5017 outsideCopperCover_YSize * 0.5, outsideCopperCover_ZSize * 0.5);
5019 new TGeoBBox(
TString(
"copperInsideCoverBlankS") +
TString(
"_") + frame_name, insideCopperCover_XSize * 0.5,
5020 insideCopperCover_YSize * 0.5, outsideCopperCover_ZSize * 0.5 + 0.01);
5025 TString expression =
"fiberglassOutsideCoverBlankS";
5026 expression +=
TString(
"_") + frame_name;
5027 expression +=
"-fiberglassInsideCoverBlankS";
5028 expression +=
TString(
"_") + frame_name;
5030 fiberglassCoverS->
MakeNode(expression);
5037 TString expression =
"copperOutsideCoverBlankS";
5038 expression +=
TString(
"_") + frame_name;
5039 expression +=
"-copperInsideCoverBlankS";
5040 expression +=
TString(
"_") + frame_name;
5042 copperCoverS->
MakeNode(expression);
5052 if (kaptonCoverV_medium) {
5053 kaptonCoverV->
SetMedium(kaptonCoverV_medium);
5055 Fatal(
"Main",
"Invalid medium for kaptonCoverV!");
5058 if (fiberglassCoverV_medium) {
5059 fiberglassCoverV->
SetMedium(fiberglassCoverV_medium);
5061 Fatal(
"Main",
"Invalid medium for fiberglassCoverV!");
5064 if (copperCoverV_medium) {
5065 copperCoverV->
SetMedium(copperCoverV_medium);
5067 Fatal(
"Main",
"Invalid medium for copperCoverV!");
5078 kaptonCoverV_transf[0]->
SetDx(0.0);
5079 kaptonCoverV_transf[0]->
SetDy(0.0);
5084 fiberglassCoverV_transf[0]->
SetDx(0.0);
5085 fiberglassCoverV_transf[0]->
SetDy(0.0);
5087 - outsideFiberglassCover_ZSize * 0.5);
5091 copperCoverV_transf[0]->
SetDx(0.0);
5092 copperCoverV_transf[0]->
SetDy(0.0);
5094 - outsideFiberglassCover_ZSize - outsideCopperCover_ZSize * 0.5);
5096 frames->
AddNode(kaptonCoverV, 0, kaptonCoverV_transf[0]);
5097 frames->
AddNode(fiberglassCoverV, 0, fiberglassCoverV_transf[0]);
5098 frames->
AddNode(copperCoverV, 0, copperCoverV_transf[0]);
5102 Double_t insideSteelSideFrame_XSize = 14.9;
5103 Double_t insideSteelSideFrame_YSize = 14.9;
5104 Double_t outsideSteelSideFrame_XSize = 18.0;
5105 Double_t outsideSteelSideFrame_YSize = 18.0;
5106 Double_t outsideSteelSideFrame_ZSize = 0.03;
5108 Double_t insideFiberglassSideFrame_XSize = 14.9;
5109 Double_t insideFiberglassSideFrame_YSize = 14.9;
5110 Double_t outsideFiberglassSideFrame_XSize = 18.0;
5111 Double_t outsideFiberglassSideFrame_YSize = 18.0;
5112 Double_t outsideFiberglassSideFrame_ZSize = 1.2;
5115 TString(
"steelOutsideSideFrameBlankS") +
TString(
"_") + frame_name, outsideSteelSideFrame_XSize * 0.5,
5116 outsideSteelSideFrame_YSize * 0.5, outsideSteelSideFrame_ZSize * 0.5);
5118 TString(
"steelInsideSideFrameBlankS") +
TString(
"_") + frame_name, insideSteelSideFrame_XSize * 0.5,
5119 insideSteelSideFrame_YSize * 0.5, outsideSteelSideFrame_ZSize * 0.5 + 0.01);
5122 TString(
"fiberglassOutsideSideFrameBlankS") +
TString(
"_") + frame_name, outsideFiberglassSideFrame_XSize * 0.5,
5123 outsideFiberglassSideFrame_YSize * 0.5, outsideFiberglassSideFrame_ZSize * 0.5);
5125 TString(
"fiberglassInsideSideFrameBlankS") +
TString(
"_") + frame_name, insideFiberglassSideFrame_XSize * 0.5,
5126 insideFiberglassSideFrame_YSize * 0.5, outsideFiberglassSideFrame_ZSize * 0.5 + 0.01);
5131 TString expression =
"steelOutsideSideFrameBlankS";
5132 expression +=
TString(
"_") + frame_name;
5133 expression +=
"-steelInsideSideFrameBlankS";
5134 expression +=
TString(
"_") + frame_name;
5136 steelSideFrameS->
MakeNode(expression);
5143 TString expression =
"fiberglassOutsideSideFrameBlankS";
5144 expression +=
TString(
"_") + frame_name;
5145 expression +=
"-fiberglassInsideSideFrameBlankS";
5146 expression +=
TString(
"_") + frame_name;
5148 fiberglassSideFrameS->
MakeNode(expression);
5158 if (steelSideFrameV_medium) {
5159 steelSideFrameV->
SetMedium(steelSideFrameV_medium);
5161 Fatal(
"Main",
"Invalid medium for steelSideFrameV!");
5164 if (fiberglassSideFrameV_medium) {
5165 fiberglassSideFrameV->
SetMedium(fiberglassSideFrameV_medium);
5167 Fatal(
"Main",
"Invalid medium for fiberglassSideFrameV!");
5177 steelSideFrameV_transf[0]->
SetDx(0.0);
5178 steelSideFrameV_transf[0]->
SetDy(0.0);
5180 + outsideSteelSideFrame_ZSize * 0.5);
5184 fiberglassSideFrameV_transf[0]->
SetDx(0.0);
5185 fiberglassSideFrameV_transf[0]->
SetDy(0.0);
5187 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5188 + outsideFiberglassSideFrame_ZSize * 0.5);
5190 frames->
AddNode(steelSideFrameV, 0, steelSideFrameV_transf[0]);
5191 frames->
AddNode(fiberglassSideFrameV, 0, fiberglassSideFrameV_transf[0]);
5195 Double_t copperSupportPlane_XSize = 24.0;
5196 Double_t copperSupportPlane_YSize = 24.0;
5197 Double_t copperSupportPlane_ZSize = 0.001;
5199 Double_t kaptonSupportPlane_XSize = 24.0;
5200 Double_t kaptonSupportPlane_YSize = 24.0;
5201 Double_t kaptonSupportPlane_ZSize = 0.005;
5203 Double_t fiberglassSupportPlane_XSize = 24.0;
5204 Double_t fiberglassSupportPlane_YSize = 24.0;
5205 Double_t fiberglassSupportPlane_ZSize = 0.17;
5209 copperSupportPlane_YSize * 0.5, copperSupportPlane_ZSize * 0.5);
5212 kaptonSupportPlane_YSize * 0.5, kaptonSupportPlane_ZSize * 0.5);
5214 new TGeoBBox(
TString(
"fiberglassSupportPlaneS") +
TString(
"_") + frame_name, fiberglassSupportPlane_XSize * 0.5,
5215 fiberglassSupportPlane_YSize * 0.5, fiberglassSupportPlane_ZSize * 0.5);
5225 if (copperSupportPlaneV_medium) {
5226 copperSupportPlaneV->
SetMedium(copperSupportPlaneV_medium);
5228 Fatal(
"Main",
"Invalid medium for copperSupportPlaneV!");
5231 if (kaptonSupportPlaneV_medium) {
5232 kaptonSupportPlaneV->
SetMedium(kaptonSupportPlaneV_medium);
5234 Fatal(
"Main",
"Invalid medium for kaptonSupportPlaneV!");
5237 if (fiberglassSupportPlaneV_medium) {
5238 fiberglassSupportPlaneV->
SetMedium(fiberglassSupportPlaneV_medium);
5240 Fatal(
"Main",
"Invalid medium for fiberglassSupportPlaneV!");
5251 copperSupportPlaneV_transf[0]->
SetDx(0.0);
5252 copperSupportPlaneV_transf[0]->
SetDy(0.0);
5254 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5255 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize * 0.5);
5259 kaptonSupportPlaneV_transf[0]->
SetDx(0.0);
5260 kaptonSupportPlaneV_transf[0]->
SetDy(0.0);
5261 kaptonSupportPlaneV_transf[0]->
SetDz(
5263 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize * 0.5);
5267 fiberglassSupportPlaneV_transf[0]->
SetDx(0.0);
5268 fiberglassSupportPlaneV_transf[0]->
SetDy(0.0);
5270 + fiberglassFilmFrame_ZSize * 0.5 + outsideSteelSideFrame_ZSize
5271 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize
5272 + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize * 0.5);
5274 frames->
AddNode(copperSupportPlaneV, 0, copperSupportPlaneV_transf[0]);
5275 frames->
AddNode(kaptonSupportPlaneV, 0, kaptonSupportPlaneV_transf[0]);
5276 frames->
AddNode(fiberglassSupportPlaneV, 0, fiberglassSupportPlaneV_transf[0]);
5280 Double_t fiberglassBase_XSize = 70.0;
5281 Double_t fiberglassBase_YSize = 40.5;
5282 Double_t fiberglassBase_ZSize = 0.225;
5284 Double_t fiberglassBaseWindow_XSize = 11.0;
5285 Double_t fiberglassBaseWindow_YSize = 11.5;
5286 Double_t fiberglassBaseWindow_ZSize = 0.225;
5288 Double_t fiberglassBaseWindow_YShift = 4.25;
5292 fiberglassBase_YSize * 0.5, fiberglassBase_ZSize * 0.5);
5294 new TGeoBBox(
TString(
"fiberglassBaseWindowS") +
TString(
"_") + frame_name, fiberglassBaseWindow_XSize * 0.5,
5295 fiberglassBaseWindow_YSize * 0.5, fiberglassBaseWindow_ZSize * 0.5 + 0.01);
5299 fiberglassBaseWindow_pos->
SetDx(0.0);
5300 fiberglassBaseWindow_pos->
SetDy(fiberglassBaseWindow_YShift);
5301 fiberglassBaseWindow_pos->
SetDz(0.0);
5307 TString expression =
"fiberglassBaseBlankS";
5308 expression +=
TString(
"_") + frame_name;
5309 expression +=
":fiberglassBaseWindow_pos";
5310 expression +=
TString(
"_") + frame_name;
5311 expression +=
"-fiberglassBaseWindowS";
5312 expression +=
TString(
"_") + frame_name;
5314 fiberglassBaseS->
MakeNode(expression);
5322 if (fiberglassBaseV_medium) {
5323 fiberglassBaseV->
SetMedium(fiberglassBaseV_medium);
5325 Fatal(
"Main",
"Invalid medium for fiberglassBaseV!");
5332 fiberglassBaseV_transf[0]->
SetDx(0.0);
5333 fiberglassBaseV_transf[0]->
SetDy(0.0);
5335 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5336 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5337 + fiberglassSupportPlane_ZSize + fiberglassBase_ZSize * 0.5 + 0.3);
5339 frames->
AddNode(fiberglassBaseV, 0, fiberglassBaseV_transf[0]);
5348 bottomPCB_YSize * 0.5, bottomPCB_ZSize * 0.5);
5353 if (bottomPCBV_medium) {
5354 bottomPCBV->
SetMedium(bottomPCBV_medium);
5356 Fatal(
"Main",
"Invalid medium for bottomPCBV!");
5363 bottomPCBV_transf[0]->
SetDx(+18.0 - bottomPCB_XSize * 0.5);
5364 bottomPCBV_transf[0]->
SetDy(0.0);
5366 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5367 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5368 + 0.3 - bottomPCB_ZSize * 0.5 - 0.776);
5371 bottomPCBV_transf[1]->
SetDx(+18.0 - bottomPCB_XSize * 0.5);
5372 bottomPCBV_transf[1]->
SetDy(0.0);
5374 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5375 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5376 + 0.3 - bottomPCB_ZSize * 0.5 - 0.776);
5377 bottomPCBV_transf[1]->
RotateZ(90.0);
5379 frames->
AddNode(bottomPCBV, 0, bottomPCBV_transf[0]);
5380 frames->
AddNode(bottomPCBV, 1, bottomPCBV_transf[1]);
5384 Double_t amplifierPCB_XSize = 0.15;
5385 Double_t amplifierPCB_YSize = 13.5;
5390 amplifierPCB_YSize * 0.5, amplifierPCB_ZSize * 0.5);
5395 if (amplifierPCBV_medium) {
5396 amplifierPCBV->
SetMedium(amplifierPCBV_medium);
5398 Fatal(
"Main",
"Invalid medium for amplifierPCBV!");
5405 amplifierPCBV_transf[0]->
SetDx(+18.0 - amplifierPCB_XSize * 0.5 - 0.9);
5406 amplifierPCBV_transf[0]->
SetDy(0.0);
5408 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5409 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5410 + 0.3 - bottomPCB_ZSize - 0.776 - amplifierPCB_ZSize * 0.5);
5413 amplifierPCBV_transf[1]->
SetDx(+18.0 - amplifierPCB_XSize * 0.5 - 0.9);
5414 amplifierPCBV_transf[1]->
SetDy(0.0);
5416 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5417 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize
5418 + 0.3 - bottomPCB_ZSize - 0.776 - amplifierPCB_ZSize * 0.5);
5419 amplifierPCBV_transf[1]->
RotateZ(90.0);
5421 frames->
AddNode(amplifierPCBV, 0, amplifierPCBV_transf[0]);
5422 frames->
AddNode(amplifierPCBV, 1, amplifierPCBV_transf[1]);
5426 Double_t amplifierSupport_XSize = 5.0;
5427 Double_t amplifierSupport_YSize = 0.2;
5428 Double_t amplifierSupport_ZSize = 14.5;
5432 amplifierSupport_YSize * 0.5, amplifierSupport_ZSize * 0.5);
5438 if (amplifierSupportV_medium) {
5439 amplifierSupportV->
SetMedium(amplifierSupportV_medium);
5441 Fatal(
"Main",
"Invalid medium for amplifierSupportV!");
5448 amplifierSupportV_transf[0]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5449 amplifierSupportV_transf[0]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5);
5450 amplifierSupportV_transf[0]->
SetDz(
5452 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5453 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5456 amplifierSupportV_transf[1]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5457 amplifierSupportV_transf[1]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5 + 7.0);
5458 amplifierSupportV_transf[1]->
SetDz(
5460 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5461 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5464 amplifierSupportV_transf[2]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5465 amplifierSupportV_transf[2]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5);
5466 amplifierSupportV_transf[2]->
SetDz(
5468 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5469 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5470 amplifierSupportV_transf[2]->
RotateZ(90.0);
5473 amplifierSupportV_transf[3]->
SetDx(+23.7 - amplifierSupport_XSize * 0.5);
5474 amplifierSupportV_transf[3]->
SetDy(-5.0 + amplifierSupport_YSize * 0.5 + 7.0);
5475 amplifierSupportV_transf[3]->
SetDz(
5477 + outsideFiberglassSideFrame_ZSize + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize
5478 + fiberglassSupportPlane_ZSize + 0.3 - bottomPCB_ZSize - amplifierSupport_ZSize * 0.5);
5479 amplifierSupportV_transf[3]->
RotateZ(90.0);
5481 frames->
AddNode(amplifierSupportV, 0, amplifierSupportV_transf[0]);
5482 frames->
AddNode(amplifierSupportV, 1, amplifierSupportV_transf[1]);
5483 frames->
AddNode(amplifierSupportV, 2, amplifierSupportV_transf[2]);
5484 frames->
AddNode(amplifierSupportV, 3, amplifierSupportV_transf[3]);
5493 longPCB_YSize * 0.5, longPCB_ZSize * 0.5);
5498 if (longPCBV_medium) {
5501 Fatal(
"Main",
"Invalid medium for longPCBV!");
5508 longPCBV_transf[0]->
SetDx(+23.7 + longPCB_XSize * 0.5);
5509 longPCBV_transf[0]->
SetDy(-13.0 + longPCB_YSize * 0.5);
5511 + outsideSteelSideFrame_ZSize + outsideFiberglassSideFrame_ZSize
5512 + copperSupportPlane_ZSize + kaptonSupportPlane_ZSize + fiberglassSupportPlane_ZSize + 0.3
5513 - bottomPCB_ZSize - 14.5 + longPCB_ZSize * 0.5);
5515 frames->
AddNode(longPCBV, 0, longPCBV_transf[0]);