710 Double_t layerFront_XShift = -0.375;
719 Double_t copperLayer_ZSize = 0.00655;
720 Double_t copperLayerHole_Radius = 6.0;
725 layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
728 layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
732 copperLayer_ZSize * 0.5 + 0.01);
734 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
740 copperLayerFrontHole_pos->
SetDz(0.0);
747 copperLayerBackHole_pos->
SetDz(0.0);
753 TString expression =
"copperLayerFrontBlankS";
755 expression +=
"-copperLayerFrontHoleS";
757 expression +=
":copperLayerFrontHole_pos";
760 copperLayerFrontS->
MakeNode(expression);
767 TString expression =
"copperLayerBackBlankS";
769 expression +=
"-copperLayerBackHoleS";
771 expression +=
":copperLayerBackHole_pos";
774 copperLayerBackS->
MakeNode(expression);
785 if (copperLayerV_medium) {
786 copperLayerFrontV->
SetMedium(copperLayerV_medium);
787 copperLayerBackV->
SetMedium(copperLayerV_medium);
789 Fatal(
"Main",
"Invalid medium for copperLayerV!");
800 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
801 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
807 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
808 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
811 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
812 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
817 Double_t glueLayerHole_Radius = 6.0;
822 layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
824 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
827 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
829 glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
835 glueLayerFrontHole_pos->
SetDz(0.0);
842 glueLayerBackHole_pos->
SetDz(0.0);
848 TString expression =
"glueLayerFrontBlankS";
850 expression +=
"-glueLayerFrontHoleS";
852 expression +=
":glueLayerFrontHole_pos";
855 glueLayerFrontS->
MakeNode(expression);
862 TString expression =
"glueLayerBackBlankS";
864 expression +=
"-glueLayerBackHoleS";
866 expression +=
":glueLayerBackHole_pos";
869 glueLayerBackS->
MakeNode(expression);
880 if (glueLayerV_medium) {
881 glueLayerFrontV->
SetMedium(glueLayerV_medium);
882 glueLayerBackV->
SetMedium(glueLayerV_medium);
884 Fatal(
"Main",
"Invalid medium for glueLayerV!");
895 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
896 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
902 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
903 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
906 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
907 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
911 Double_t epoxideLayer_ZSize = 0.105;
912 Double_t epoxideLayerHole_Radius = 6.0;
917 layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
920 layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
924 epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
927 epoxideLayer_ZSize * 0.5 + 0.01);
933 epoxideLayerFrontHole_pos->
SetDz(0.0);
940 epoxideLayerBackHole_pos->
SetDz(0.0);
946 TString expression =
"epoxideLayerFrontBlankS";
948 expression +=
"-epoxideLayerFrontHoleS";
950 expression +=
":epoxideLayerFrontHole_pos";
953 epoxideLayerFrontS->
MakeNode(expression);
960 TString expression =
"epoxideLayerBackBlankS";
962 expression +=
"-epoxideLayerBackHoleS";
964 expression +=
":epoxideLayerBackHole_pos";
967 epoxideLayerBackS->
MakeNode(expression);
978 if (epoxideLayerV_medium) {
979 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
980 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
982 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
993 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
994 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
996 + epoxideLayer_ZSize * 0.5);
1001 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1002 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1004 - epoxideLayer_ZSize * 0.5);
1006 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
1007 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
1012 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
1013 Double_t honeycombLayerHole_Radius = 6.0;
1018 layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
1021 layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
1025 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
1028 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
1034 honeycombLayerFrontHole_pos->
SetDz(0.0);
1041 honeycombLayerBackHole_pos->
SetDz(0.0);
1047 TString expression =
"honeycombLayerFrontBlankS";
1049 expression +=
"-honeycombLayerFrontHoleS";
1051 expression +=
":honeycombLayerFrontHole_pos";
1054 honeycombLayerFrontS->
MakeNode(expression);
1061 TString expression =
"honeycombLayerBackBlankS";
1063 expression +=
"-honeycombLayerBackHoleS";
1065 expression +=
":honeycombLayerBackHole_pos";
1068 honeycombLayerBackS->
MakeNode(expression);
1079 if (honeycombLayerV_medium) {
1080 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
1081 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
1083 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
1094 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1095 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1097 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
1102 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1103 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1105 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
1107 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
1108 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
1112 Double_t polyamideLayer_ZSize = 0.0125;
1113 Double_t polyamideLayerHole_Radius = 6.0;
1118 layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1121 layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
1125 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1128 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
1134 polyamideLayerFrontHole_pos->
SetDz(0.0);
1141 polyamideLayerBackHole_pos->
SetDz(0.0);
1147 TString expression =
"polyamideLayerFrontBlankS";
1149 expression +=
"-polyamideLayerFrontHoleS";
1151 expression +=
":polyamideLayerFrontHole_pos";
1154 polyamideLayerFrontS->
MakeNode(expression);
1161 TString expression =
"polyamideLayerBackBlankS";
1163 expression +=
"-polyamideLayerBackHoleS";
1165 expression +=
":polyamideLayerBackHole_pos";
1168 polyamideLayerBackS->
MakeNode(expression);
1179 if (polyamideLayerV_medium) {
1180 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
1181 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
1183 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
1194 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
1195 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
1197 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
1202 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
1203 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
1205 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
1207 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
1208 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
1285 Double_t backLowerEpoxideFrame_XSize = 161.42;
1286 Double_t backLowerEpoxideFrame_YSize = 2.2;
1287 Double_t backLowerEpoxideFrame_ZSize = 1.5;
1289 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
1290 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
1291 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
1295 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
1296 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
1298 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
1299 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1302 backLowerEpoxideFrameHalf_pos1->
SetName(
"backLowerEpoxideFrameHalf1_pos1");
1303 backLowerEpoxideFrameHalf_pos1->
SetDx(
1304 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1305 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1306 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1310 backLowerEpoxideFrameHalf_pos2->
SetName(
"backLowerEpoxideFrameHalf1_pos2");
1311 backLowerEpoxideFrameHalf_pos2->
SetDx(
1312 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1313 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1314 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1318 backLowerEpoxideFrameArch_pos->
SetName(
"backLowerEpoxideFrameArch_pos");
1319 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
1320 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
1321 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
1327 TString expression =
"backLowerEpoxideFrameHalfS";
1329 expression +=
":backLowerEpoxideFrameHalf1_pos1";
1330 expression +=
"+backLowerEpoxideFrameHalfS";
1332 expression +=
":backLowerEpoxideFrameHalf1_pos2";
1333 expression +=
"+backLowerEpoxideFrameArchS";
1335 expression +=
":backLowerEpoxideFrameArch_pos";
1337 backLowerEpoxideFrameS->
MakeNode(expression);
1346 if (backLowerEpoxideFrameV_medium) {
1347 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
1349 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
1358 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1363 backLowerEpoxideFrame_transf[0]->
SetDx(backLowerEpoxideFrame_transf[0]->GetTranslation()[0] + 0.3);
1364 backLowerEpoxideFrame_transf[0]->
SetDy(backLowerEpoxideFrame_transf[0]->GetTranslation()[1] - 0.5);
1365 backLowerEpoxideFrame_transf[0]->
SetDz(backLowerEpoxideFrame_transf[0]->GetTranslation()[2] - 0.0);
1367 if (istation == 2 || istation == 4) {
1368 backLowerEpoxideFrame_transf[0]->
SetDx(backLowerEpoxideFrame_transf[0]->GetTranslation()[0] + 0.0);
1369 backLowerEpoxideFrame_transf[0]->
SetDy(backLowerEpoxideFrame_transf[0]->GetTranslation()[1] - 0.0);
1370 backLowerEpoxideFrame_transf[0]->
SetDz(backLowerEpoxideFrame_transf[0]->GetTranslation()[2] + 0.12);
1373 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
1377 Double_t frontLowerEpoxideFrame_XSize = 161.7;
1378 Double_t frontLowerEpoxideFrame_YSize = 2.2;
1379 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
1381 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
1382 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
1383 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
1385 TGeoShape* frontLowerEpoxideFrameHalfS =
1387 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
1388 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
1390 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
1391 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1394 frontLowerEpoxideFrameHalf_pos1->
SetName(
"frontLowerEpoxideFrameHalf1_pos1");
1395 frontLowerEpoxideFrameHalf_pos1->
SetDx(
1396 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1397 + frontLowerEpoxideFrameArch_Rmin));
1398 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1399 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1403 frontLowerEpoxideFrameHalf_pos2->
SetName(
"frontLowerEpoxideFrameHalf1_pos2");
1404 frontLowerEpoxideFrameHalf_pos2->
SetDx(
1405 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1406 + frontLowerEpoxideFrameArch_Rmin));
1407 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1408 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1412 frontLowerEpoxideFrameArch_pos->
SetName(
"frontLowerEpoxideFrameArch_pos");
1413 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
1414 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
1415 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
1421 TString expression =
"frontLowerEpoxideFrameHalfS";
1423 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
1424 expression +=
"+frontLowerEpoxideFrameHalfS";
1426 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
1427 expression +=
"+frontLowerEpoxideFrameArchS";
1429 expression +=
":frontLowerEpoxideFrameArch_pos";
1431 frontLowerEpoxideFrameS->
MakeNode(expression);
1440 if (frontLowerEpoxideFrameV_medium) {
1441 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
1443 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
1452 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1456 if (istation == 5) {
1457 frontLowerEpoxideFrame_transf[0]->
SetDx(backLowerEpoxideFrame_transf[0]->GetTranslation()[0] + 0.0);
1458 frontLowerEpoxideFrame_transf[0]->
SetDy(backLowerEpoxideFrame_transf[0]->GetTranslation()[1] - 0.25);
1459 frontLowerEpoxideFrame_transf[0]->
SetDz(backLowerEpoxideFrame_transf[0]->GetTranslation()[2] - 0.0);
1462 if (istation == 1) {
1463 frontLowerEpoxideFrame_transf[0]->
SetDx(0);
1469 if (istation == 0) {
1470 frontLowerEpoxideFrame_transf[0]->
SetDx(0);
1475 if (istation == 3) {
1476 frontLowerEpoxideFrame_transf[0]->
SetDx(0);
1482 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
1486 Double_t backSideEpoxideFramePart_XSize = 9.2;
1487 Double_t backSideEpoxideFramePart_YSize = 52.6;
1488 Double_t backSideEpoxideFramePart_ZSize = 1.6;
1490 Double_t backSideEpoxideFrame_XDistBetweenParts = 162.82;
1493 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
1494 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
1497 backSideEpoxideFramePart_pos1->
SetName(
"backSideEpoxideFramePart_pos1");
1498 backSideEpoxideFramePart_pos1->
SetDx(
1499 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1500 backSideEpoxideFramePart_pos1->
SetDy(0.0);
1501 backSideEpoxideFramePart_pos1->
SetDz(0.0);
1505 backSideEpoxideFramePart_pos2->
SetName(
"backSideEpoxideFramePart_pos2");
1506 backSideEpoxideFramePart_pos2->
SetDx(
1507 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1508 backSideEpoxideFramePart_pos2->
SetDy(0.0);
1509 backSideEpoxideFramePart_pos2->
SetDz(0.0);
1515 TString expression =
"backSideEpoxideFramePartS";
1517 expression +=
":backSideEpoxideFramePart_pos1";
1518 expression +=
"+backSideEpoxideFramePartS";
1520 expression +=
":backSideEpoxideFramePart_pos2";
1522 backSideEpoxideFrameS->
MakeNode(expression);
1531 if (backSideEpoxideFrameV_medium) {
1532 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
1534 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
1543 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1545 - frontLowerEpoxideFrame_YSize + 0.2 );
1548 if (istation == 5) {
1549 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1551 - frontLowerEpoxideFrame_YSize + 0.2 + 0.0);
1556 if (istation == 2 || istation == 4) {
1557 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1559 - frontLowerEpoxideFrame_YSize + 0.2 + 0.0);
1564 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
1568 Double_t backUpperEpoxideFrame_XSize = 161.42;
1569 Double_t backUpperEpoxideFrame_YSize = 6.2;
1570 Double_t backUpperEpoxideFrame_ZSize = 1.6;
1573 new TGeoBBox(
"backUpperEpoxideFrameS", backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5,
1574 backUpperEpoxideFrame_ZSize * 0.5);
1581 if (backUpperEpoxideFrameV_medium) {
1582 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
1584 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
1593 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1598 if (istation == 5) {
1599 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1606 if (istation == 2 || istation == 4) {
1607 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1614 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
1618 Double_t frontSideEpoxideFramePart_XSize = 3.5;
1619 Double_t frontSideEpoxideFramePart_YSize = 49.9;
1620 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
1622 Double_t frontSideEpoxideFrame_XDistBetweenParts = 162.7;
1626 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
1627 frontSideEpoxideFramePart_ZSize * 0.5);
1630 frontSideEpoxideFramePart_pos1->
SetName(
"frontSideEpoxideFramePart_pos1");
1631 frontSideEpoxideFramePart_pos1->
SetDx(
1632 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1633 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
1634 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
1638 frontSideEpoxideFramePart_pos2->
SetName(
"frontSideEpoxideFramePart_pos2");
1639 frontSideEpoxideFramePart_pos2->
SetDx(
1640 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1641 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
1642 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
1648 TString expression =
"frontSideEpoxideFramePartS";
1650 expression +=
":frontSideEpoxideFramePart_pos1";
1651 expression +=
"+frontSideEpoxideFramePartS";
1653 expression +=
":frontSideEpoxideFramePart_pos2";
1655 frontSideEpoxideFrameS->
MakeNode(expression);
1664 if (frontSideEpoxideFrameV_medium) {
1665 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
1667 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
1676 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
1678 - frontLowerEpoxideFrame_YSize + 0.2 );
1682 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
1686 Double_t frontUpperEpoxideFrame_XSize = 161.7;
1687 Double_t frontUpperEpoxideFrame_YSize = 3.5;
1688 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
1691 new TGeoBBox(
"frontUpperEpoxideFrameS", frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5,
1692 frontUpperEpoxideFrame_ZSize * 0.5);
1699 if (frontUpperEpoxideFrameV_medium) {
1700 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
1702 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
1711 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1717 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
1721 Double_t alumCableSupportPart_XSize = 3.0;
1722 Double_t alumCableSupportPart_YSize = 41.3;
1723 Double_t alumCableSupportPart_ZSize = 0.2;
1725 Double_t alumCableSupport_XDistBetweenParts = 164.82;
1728 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
1729 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
1732 alumCableSupportPart_pos1->
SetName(
"alumCableSupportPart_pos1");
1733 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1734 alumCableSupportPart_pos1->
SetDy(0.0);
1735 alumCableSupportPart_pos1->
SetDz(0.0);
1739 alumCableSupportPart_pos2->
SetName(
"alumCableSupportPart_pos2");
1740 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1741 alumCableSupportPart_pos2->
SetDy(0.0);
1742 alumCableSupportPart_pos2->
SetDz(0.0);
1748 TString expression =
"alumCableSupportPartS";
1750 expression +=
":alumCableSupportPart_pos1";
1751 expression +=
"+alumCableSupportPartS";
1753 expression +=
":alumCableSupportPart_pos2";
1755 alumCableSupportS->
MakeNode(expression);
1764 if (alumCableSupportV_medium) {
1765 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
1767 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
1776 alumCableSupport_transf[0]->
SetDx(0.0);
1778 - frontLowerEpoxideFrame_YSize + 0.2 );
1780 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1782 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
1786 Double_t amplifierUpperBlockPart1_XSize = 161.44;
1787 Double_t amplifierUpperBlockPart1_YSize = 0.6;
1788 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
1790 Double_t amplifierUpperBlockPart2_XSize = 161.16;
1791 Double_t amplifierUpperBlockPart2_YSize = 0.6;
1792 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
1795 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
1796 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
1798 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
1799 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
1802 amplifierUpperBlockPart1_pos->
SetName(
"amplifierUpperBlockPart1_pos");
1803 amplifierUpperBlockPart1_pos->
SetDx(0.0);
1804 amplifierUpperBlockPart1_pos->
SetDy(0.0);
1805 amplifierUpperBlockPart1_pos->
SetDz(0.0);
1809 amplifierUpperBlockPart2_pos->
SetName(
"amplifierUpperBlockPart2_pos");
1810 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
1811 amplifierUpperBlockPart2_pos->
SetDy(
1812 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
1813 amplifierUpperBlockPart2_pos->
SetDz(0.0);
1819 TString expression =
"amplifierUpperBlockPart1S";
1821 expression +=
":amplifierUpperBlockPart1_pos";
1822 expression +=
"+amplifierUpperBlockPart1S";
1824 expression +=
":amplifierUpperBlockPart2_pos";
1826 amplifierUpperBlockS->
MakeNode(expression);
1835 if (amplifierUpperBlockV_medium) {
1836 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
1838 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
1847 amplifierUpperBlock_transf[0]->
SetDx(0.0);
1852 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
1856 Double_t amplifierSideBlockPartBig_XSize = 0.6;
1857 Double_t amplifierSideBlockPartBig_YSize = 33.9;
1858 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
1860 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
1861 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
1862 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
1866 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
1867 amplifierSideBlockPartBig_ZSize * 0.5);
1868 TGeoShape* amplifierSideBlockPartSmallS =
1870 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
1871 amplifierSideBlockPartSmall_ZSize * 0.5);
1874 amplifierSideBlockPartBig_pos->
SetName(
"amplifierSideBlockPartBig_pos");
1875 amplifierSideBlockPartBig_pos->
SetDx(0.0);
1876 amplifierSideBlockPartBig_pos->
SetDy(0.0);
1877 amplifierSideBlockPartBig_pos->
SetDz(0.0);
1881 amplifierSideBlockPartSmall_pos->
SetName(
"amplifierSideBlockPartSmall_pos");
1882 amplifierSideBlockPartSmall_pos->
SetDx(
1883 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
1884 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
1885 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
1891 TString expression =
"amplifierSideBlockPartBigS";
1893 expression +=
":amplifierSideBlockPartBig_pos";
1894 expression +=
"+amplifierSideBlockPartSmallS";
1896 expression +=
":amplifierSideBlockPartSmall_pos";
1898 amplifierSideBlockS->
MakeNode(expression);
1907 if (amplifierSideBlockV_medium) {
1908 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
1910 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
1919 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
1920 amplifierSideBlock_transf[0]->
SetDy(-5.5);
1925 amplifierSideBlock_transf[1]->
RotateY(180.0);
1926 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
1927 amplifierSideBlock_transf[1]->
SetDy(-5.5);
1931 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
1932 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
1940 TGeoShape* upperPcbS =
new TGeoBBox(
"upperPcbS", upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
1946 if (upperPcbV_medium) {
1949 Fatal(
"Main",
"Invalid medium for upperPcbV!");
1958 upperPcb_transf[0]->
SetDx(+0.1 );
1959 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
1961 - frontSideEpoxideFramePart_ZSize - 0.1);
1963 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
1968 Double_t sidePcbPart_YSize = 35.05;
1972 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
1975 sidePcbPart_pos1->
SetName(
"sidePcbPart_pos1");
1976 sidePcbPart_pos1->
SetDx(0.0);
1977 sidePcbPart_pos1->
SetDy(0.0);
1978 sidePcbPart_pos1->
SetDz(0.0);
1982 sidePcbPart_pos2->
SetName(
"sidePcbPart_pos2");
1983 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
1984 sidePcbPart_pos2->
SetDy(0.0);
1985 sidePcbPart_pos2->
SetDz(0.0);
1991 TString expression =
"sidePcbPartS";
1993 expression +=
":sidePcbPart_pos1";
1994 expression +=
"+sidePcbPartS";
1996 expression +=
":sidePcbPart_pos2";
2006 if (sidePcbV_medium) {
2009 Fatal(
"Main",
"Invalid medium for sidePcbV!");
2018 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
2019 sidePcb_transf[0]->
SetDy(-6.8 );
2021 + frontSideEpoxideFramePart_ZSize + 1.0 ));
2024 sidePcb_transf[1]->
RotateY(180.0);
2025 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
2026 sidePcb_transf[1]->
SetDy(-6.8 );
2028 + frontSideEpoxideFramePart_ZSize + 1.0 ));
2030 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
2031 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
2035 Double_t alumSideSupport_XSize = 4.8;
2036 Double_t alumSideSupport_YSize = 52.6;
2037 Double_t alumSideSupport_ZSize = 0.4;
2039 TGeoShape* alumSideSupportS =
new TGeoBBox(
"alumSideSupportS", alumSideSupport_XSize * 0.5,
2040 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
2047 if (alumSideSupportV_medium) {
2048 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
2050 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
2059 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
2060 alumSideSupport_transf[0]->
SetDy(+1.8);
2064 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
2065 alumSideSupport_transf[1]->
SetDy(+1.8 );
2068 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
2069 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
2078 new TGeoBBox(
"boschShapeS", boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
2084 if (boschShapeV_medium) {
2085 boschShapeV->
SetMedium(boschShapeV_medium);
2087 Fatal(
"Main",
"Invalid medium for boschShapeV!");
2096 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
2097 boschShape_transf[0]->
SetDy(+1.8 );
2101 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
2102 boschShape_transf[1]->
SetDy(+1.8 );
2110 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
2111 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
2112 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
2113 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
2115 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
2116 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
2117 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
2118 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
2120 Double_t insidePolyacetalShapeLower_XSize = 8.4;
2121 Double_t insidePolyacetalShapeLower_YSize = 52.6;
2122 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
2123 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
2125 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
2126 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
2127 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
2128 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
2130 TGeoShape* insidePolyacetalShapeUpperS =
2131 new TGeoBBox(
"insidePolyacetalShapeUpperS", insidePolyacetalShapeUpper_XSize * 0.5,
2132 insidePolyacetalShapeUpper_YSize * 0.5, insidePolyacetalShapeUpper_ZSize * 0.5);
2133 TGeoShape* outsidePolyacetalShapeUpperS =
2134 new TGeoBBox(
"outsidePolyacetalShapeUpperS", outsidePolyacetalShapeUpper_XSize * 0.5,
2135 outsidePolyacetalShapeUpper_YSize * 0.5, outsidePolyacetalShapeUpper_ZSize * 0.5);
2136 TGeoShape* insidePolyacetalShapeLowerS =
2137 new TGeoBBox(
"insidePolyacetalShapeLowerS", insidePolyacetalShapeLower_XSize * 0.5,
2138 insidePolyacetalShapeLower_YSize * 0.5, insidePolyacetalShapeLower_ZSize * 0.5);
2139 TGeoShape* outsidePolyacetalShapeLowerS =
2140 new TGeoBBox(
"outsidePolyacetalShapeLowerS", outsidePolyacetalShapeLower_XSize * 0.5,
2141 outsidePolyacetalShapeLower_YSize * 0.5, outsidePolyacetalShapeLower_ZSize * 0.5);
2144 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
2146 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
2148 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
2150 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
2154 if (polyacetalShapeV_medium) {
2155 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2156 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
2157 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2158 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
2160 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
2175 insidePolyacetalShapeUpper_transf[0]->
SetDx(
2176 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2177 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
2178 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2181 insidePolyacetalShapeUpper_transf[1]->
SetDx(
2182 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2183 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
2184 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2189 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
2190 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2191 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2192 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2193 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
2196 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
2197 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
2198 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
2199 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
2200 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
2205 insidePolyacetalShapeLower_transf[0]->
SetDx(
2206 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2207 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
2208 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2211 insidePolyacetalShapeLower_transf[1]->
SetDx(
2212 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2213 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
2214 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2219 outsidePolyacetalShapeLower_transf[0]->
SetDx(
2220 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2221 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2222 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2223 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
2226 outsidePolyacetalShapeLower_transf[1]->
SetDx(
2227 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
2228 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
2229 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
2230 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
2233 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
2234 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
2235 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
2236 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
2240 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
2241 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
2242 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
2243 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
2249 Double_t lowerFiberGlassBlock_XSize = 165.1;
2250 Double_t lowerFiberGlassBlock_YSize = 1.75;
2251 Double_t lowerFiberGlassBlock_ZSize = 0.9;
2253 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
2254 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
2255 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
2259 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
2260 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
2262 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
2263 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
2266 lowerFiberGlassBlockHalf_pos1->
SetName(
"lowerFiberGlassBlockHalf_pos1");
2267 lowerFiberGlassBlockHalf_pos1->
SetDx(
2268 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2269 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2270 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
2274 lowerFiberGlassBlockHalf_pos2->
SetName(
"lowerFiberGlassBlockHalf_pos2");
2275 lowerFiberGlassBlockHalf_pos2->
SetDx(
2276 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
2277 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
2278 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
2282 lowerFiberGlassBlockArch_pos->
SetName(
"lowerFiberGlassBlockArch_pos");
2283 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
2284 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
2285 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
2291 TString expression =
"lowerFiberGlassBlockHalfS";
2293 expression +=
":lowerFiberGlassBlockHalf_pos1";
2294 expression +=
"+lowerFiberGlassBlockHalfS";
2296 expression +=
":lowerFiberGlassBlockHalf_pos2";
2297 expression +=
"+lowerFiberGlassBlockArchS";
2299 expression +=
":lowerFiberGlassBlockArch_pos";
2301 lowerFiberGlassBlockS->
MakeNode(expression);
2310 if (lowerFiberGlassBlockV_medium) {
2311 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
2313 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
2322 lowerFiberGlassBlock_transf[0]->
SetDx(+0.0);
2324 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
2326 if (istation == 3) {
2327 lowerFiberGlassBlock_transf[0]->
SetDx(lowerFiberGlassBlock_transf[0]->GetTranslation()[0] + 0.1);
2328 lowerFiberGlassBlock_transf[0]->
SetDy(lowerFiberGlassBlock_transf[0]->GetTranslation()[1] - 0.3);
2329 lowerFiberGlassBlock_transf[0]->
SetDz(lowerFiberGlassBlock_transf[0]->GetTranslation()[2] - 0.1);
2331 if (istation == 1) {
2332 lowerFiberGlassBlock_transf[0]->
SetDx(lowerFiberGlassBlock_transf[0]->GetTranslation()[0] + 0.0);
2333 lowerFiberGlassBlock_transf[0]->
SetDy(lowerFiberGlassBlock_transf[0]->GetTranslation()[1] - 0.0);
2334 lowerFiberGlassBlock_transf[0]->
SetDz(lowerFiberGlassBlock_transf[0]->GetTranslation()[2] - 0.0069);
2336 if (istation == 5) {
2337 lowerFiberGlassBlock_transf[0]->
SetDx(lowerFiberGlassBlock_transf[0]->GetTranslation()[0] + 0.0);
2338 lowerFiberGlassBlock_transf[0]->
SetDy(lowerFiberGlassBlock_transf[0]->GetTranslation()[1] - 0.0);
2339 lowerFiberGlassBlock_transf[0]->
SetDz(lowerFiberGlassBlock_transf[0]->GetTranslation()[2] + 0.0306);
2342 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
2346 Double_t sideFiberGlassBlockPart_XSize = 1.45;
2347 Double_t sideFiberGlassBlockPart_YSize = 49.4;
2348 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
2351 new TGeoBBox(
"sideFiberGlassBlockS", sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5,
2352 sideFiberGlassBlockPart_ZSize * 0.5);
2359 if (sideFiberGlassBlockV_medium) {
2360 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
2362 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
2371 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5)
2373 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
2374 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2377 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
2378 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
2379 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
2381 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
2382 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
2386 Double_t upperFiberGlassBlock_XSize = 165.1;
2387 Double_t upperFiberGlassBlock_YSize = 1.45;
2388 Double_t upperFiberGlassBlock_ZSize = 0.89;
2390 TGeoShape* upperFiberGlassBlockS =
new TGeoBBox(
"upperFiberGlassBlockS", upperFiberGlassBlock_XSize * 0.5,
2391 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
2398 if (upperFiberGlassBlockV_medium) {
2399 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
2401 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
2410 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
2411 upperFiberGlassBlock_transf[0]->
SetDy(
2412 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
2413 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
2415 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
2419 Double_t upperBrasslayer_XSize = 165.1;
2420 Double_t upperBrasslayer_YSize = 1.45;
2421 Double_t upperBrasslayer_ZSize = 0.005;
2423 Double_t sideBrasslayer_XSize = 1.45;
2424 Double_t sideBrasslayer_YSize = 49.4;
2425 Double_t sideBrasslayer_ZSize = 0.005;
2427 TGeoShape* upperBrasslayerS =
new TGeoBBox(
"upperBrasslayerS", upperBrasslayer_XSize * 0.5,
2428 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
2429 TGeoShape* sideBrasslayerS =
new TGeoBBox(
"sideBrasslayerS", sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5,
2430 sideBrasslayer_ZSize * 0.5);
2439 if (upperBrasslayerV_medium) {
2440 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2441 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
2443 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
2454 upperBrasslayer_transf[0]->
SetDx(0.0);
2455 upperBrasslayer_transf[0]->
SetDy(
2456 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
2462 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2463 sideBrasslayer_transf[0]->
SetDy(+0.45 );
2467 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
2468 sideBrasslayer_transf[1]->
SetDy(+0.45 );
2471 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
2473 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
2474 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
2478 Double_t upperSteellayer_XSize = 165.1;
2479 Double_t upperSteellayer_YSize = 1.45;
2480 Double_t upperSteellayer_ZSize = 0.005;
2482 Double_t sideSteellayer_XSize = 1.45;
2483 Double_t sideSteellayer_YSize = 49.4;
2484 Double_t sideSteellayer_ZSize = 0.005;
2486 TGeoShape* upperSteellayerS =
new TGeoBBox(
"upperSteellayerS", upperSteellayer_XSize * 0.5,
2487 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
2488 TGeoShape* sideSteellayerS =
new TGeoBBox(
"sideSteellayerS", sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5,
2489 sideSteellayer_ZSize * 0.5);
2498 if (upperSteellayerV_medium) {
2499 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
2500 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
2502 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
2513 upperSteellayer_transf[0]->
SetDx(0.0);
2514 upperSteellayer_transf[0]->
SetDy(
2515 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
2521 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2522 sideSteellayer_transf[0]->
SetDy(+0.45 );
2526 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2527 sideSteellayer_transf[1]->
SetDy(+0.45 );
2530 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
2532 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
2533 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);
2564 Double_t layerFront_XShift = -0.375;
2569 Double_t layerBack_XShift = -0.445;
2573 Double_t copperLayer_ZSize = 0.00655;
2574 Double_t copperLayerHole_Radius = 6.0;
2579 layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
2582 layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
2586 copperLayer_ZSize * 0.5 + 0.01);
2588 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
2594 copperLayerFrontHole_pos->
SetDz(0.0);
2601 copperLayerBackHole_pos->
SetDz(0.0);
2607 TString expression =
"copperLayerFrontBlankS";
2609 expression +=
"-copperLayerFrontHoleS";
2611 expression +=
":copperLayerFrontHole_pos";
2614 copperLayerFrontS->
MakeNode(expression);
2621 TString expression =
"copperLayerBackBlankS";
2623 expression +=
"-copperLayerBackHoleS";
2625 expression +=
":copperLayerBackHole_pos";
2628 copperLayerBackS->
MakeNode(expression);
2639 if (copperLayerV_medium) {
2640 copperLayerFrontV->
SetMedium(copperLayerV_medium);
2641 copperLayerBackV->
SetMedium(copperLayerV_medium);
2643 Fatal(
"Main",
"Invalid medium for copperLayerV!");
2654 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2655 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2661 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2662 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2665 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
2666 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
2671 Double_t glueLayerHole_Radius = 6.0;
2676 layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
2678 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
2681 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2683 glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
2689 glueLayerFrontHole_pos->
SetDz(0.0);
2696 glueLayerBackHole_pos->
SetDz(0.0);
2702 TString expression =
"glueLayerFrontBlankS";
2704 expression +=
"-glueLayerFrontHoleS";
2706 expression +=
":glueLayerFrontHole_pos";
2709 glueLayerFrontS->
MakeNode(expression);
2716 TString expression =
"glueLayerBackBlankS";
2718 expression +=
"-glueLayerBackHoleS";
2720 expression +=
":glueLayerBackHole_pos";
2723 glueLayerBackS->
MakeNode(expression);
2734 if (glueLayerV_medium) {
2735 glueLayerFrontV->
SetMedium(glueLayerV_medium);
2736 glueLayerBackV->
SetMedium(glueLayerV_medium);
2738 Fatal(
"Main",
"Invalid medium for glueLayerV!");
2749 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2750 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2756 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2757 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2760 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
2761 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
2765 Double_t epoxideLayer_ZSize = 0.105;
2766 Double_t epoxideLayerHole_Radius = 6.0;
2771 layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2774 layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
2778 epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
2781 epoxideLayer_ZSize * 0.5 + 0.01);
2787 epoxideLayerFrontHole_pos->
SetDz(0.0);
2794 epoxideLayerBackHole_pos->
SetDz(0.0);
2800 TString expression =
"epoxideLayerFrontBlankS";
2802 expression +=
"-epoxideLayerFrontHoleS";
2804 expression +=
":epoxideLayerFrontHole_pos";
2807 epoxideLayerFrontS->
MakeNode(expression);
2814 TString expression =
"epoxideLayerBackBlankS";
2816 expression +=
"-epoxideLayerBackHoleS";
2818 expression +=
":epoxideLayerBackHole_pos";
2821 epoxideLayerBackS->
MakeNode(expression);
2832 if (epoxideLayerV_medium) {
2833 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
2834 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
2836 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
2847 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2848 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2850 + epoxideLayer_ZSize * 0.5);
2855 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2856 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2858 - epoxideLayer_ZSize * 0.5);
2860 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
2861 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
2866 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
2867 Double_t honeycombLayerHole_Radius = 6.0;
2872 layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2875 layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
2879 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2882 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
2888 honeycombLayerFrontHole_pos->
SetDz(0.0);
2895 honeycombLayerBackHole_pos->
SetDz(0.0);
2901 TString expression =
"honeycombLayerFrontBlankS";
2903 expression +=
"-honeycombLayerFrontHoleS";
2905 expression +=
":honeycombLayerFrontHole_pos";
2908 honeycombLayerFrontS->
MakeNode(expression);
2915 TString expression =
"honeycombLayerBackBlankS";
2917 expression +=
"-honeycombLayerBackHoleS";
2919 expression +=
":honeycombLayerBackHole_pos";
2922 honeycombLayerBackS->
MakeNode(expression);
2933 if (honeycombLayerV_medium) {
2934 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
2935 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
2937 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
2948 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
2949 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
2951 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
2956 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
2957 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
2959 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
2961 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
2962 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
2966 Double_t polyamideLayer_ZSize = 0.0125;
2967 Double_t polyamideLayerHole_Radius = 6.0;
2972 layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
2975 layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
2979 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
2982 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
2988 polyamideLayerFrontHole_pos->
SetDz(0.0);
2995 polyamideLayerBackHole_pos->
SetDz(0.0);
3001 TString expression =
"polyamideLayerFrontBlankS";
3003 expression +=
"-polyamideLayerFrontHoleS";
3005 expression +=
":polyamideLayerFrontHole_pos";
3008 polyamideLayerFrontS->
MakeNode(expression);
3015 TString expression =
"polyamideLayerBackBlankS";
3017 expression +=
"-polyamideLayerBackHoleS";
3019 expression +=
":polyamideLayerBackHole_pos";
3022 polyamideLayerBackS->
MakeNode(expression);
3033 if (polyamideLayerV_medium) {
3034 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
3035 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
3037 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
3048 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
3049 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
3051 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
3056 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
3057 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
3059 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
3061 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
3062 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
3077 Double_t backLowerEpoxideFrame_XSize = 161.42;
3078 Double_t backLowerEpoxideFrame_YSize = 2.2;
3079 Double_t backLowerEpoxideFrame_ZSize = 1.4;
3081 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
3082 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
3083 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
3087 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
3088 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
3090 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
3091 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3094 backLowerEpoxideFrameHalf_pos1->
SetName(
"backLowerEpoxideFrameHalf1_pos1");
3095 backLowerEpoxideFrameHalf_pos1->
SetDx(
3096 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3097 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3098 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3102 backLowerEpoxideFrameHalf_pos2->
SetName(
"backLowerEpoxideFrameHalf1_pos2");
3103 backLowerEpoxideFrameHalf_pos2->
SetDx(
3104 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
3105 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3106 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3110 backLowerEpoxideFrameArch_pos->
SetName(
"backLowerEpoxideFrameArch_pos");
3111 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
3112 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
3113 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
3119 TString expression =
"backLowerEpoxideFrameHalfS";
3121 expression +=
":backLowerEpoxideFrameHalf1_pos1";
3122 expression +=
"+backLowerEpoxideFrameHalfS";
3124 expression +=
":backLowerEpoxideFrameHalf1_pos2";
3125 expression +=
"+backLowerEpoxideFrameArchS";
3127 expression +=
":backLowerEpoxideFrameArch_pos";
3129 backLowerEpoxideFrameS->
MakeNode(expression);
3138 if (backLowerEpoxideFrameV_medium) {
3139 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
3141 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
3150 backLowerEpoxideFrame_transf[0]->
SetDx(-0.15);
3155 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
3159 Double_t frontLowerEpoxideFrame_XSize = 161.7;
3160 Double_t frontLowerEpoxideFrame_YSize = 2.2;
3161 Double_t frontLowerEpoxideFrame_ZSize = 1.5;
3163 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
3164 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
3165 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
3167 TGeoShape* frontLowerEpoxideFrameHalfS =
3169 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
3170 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
3172 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
3173 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
3176 frontLowerEpoxideFrameHalf_pos1->
SetName(
"frontLowerEpoxideFrameHalf1_pos1");
3177 frontLowerEpoxideFrameHalf_pos1->
SetDx(
3178 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3179 + frontLowerEpoxideFrameArch_Rmin));
3180 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3181 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
3185 frontLowerEpoxideFrameHalf_pos2->
SetName(
"frontLowerEpoxideFrameHalf1_pos2");
3186 frontLowerEpoxideFrameHalf_pos2->
SetDx(
3187 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
3188 + frontLowerEpoxideFrameArch_Rmin));
3189 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
3190 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
3194 frontLowerEpoxideFrameArch_pos->
SetName(
"frontLowerEpoxideFrameArch_pos");
3195 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
3196 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
3197 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
3203 TString expression =
"frontLowerEpoxideFrameHalfS";
3205 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
3206 expression +=
"+frontLowerEpoxideFrameHalfS";
3208 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
3209 expression +=
"+frontLowerEpoxideFrameArchS";
3211 expression +=
":frontLowerEpoxideFrameArch_pos";
3213 frontLowerEpoxideFrameS->
MakeNode(expression);
3222 if (frontLowerEpoxideFrameV_medium) {
3223 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
3225 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
3234 frontLowerEpoxideFrame_transf[0]->
SetDx(-0.2);
3239 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
3243 Double_t backSideEpoxideFramePart_XSize = 9.2;
3244 Double_t backSideEpoxideFramePart_YSize = 52.6 - 6.0;
3245 Double_t backSideEpoxideFramePart_ZSize = 1.5;
3247 Double_t backSideEpoxideFrame_XDistBetweenParts = 163.42;
3250 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
3251 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
3254 backSideEpoxideFramePart_pos1->
SetName(
"backSideEpoxideFramePart_pos1_low_plane");
3255 backSideEpoxideFramePart_pos1->
SetDx(
3256 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3257 backSideEpoxideFramePart_pos1->
SetDy(0.0);
3258 backSideEpoxideFramePart_pos1->
SetDz(0.0);
3262 backSideEpoxideFramePart_pos2->
SetName(
"backSideEpoxideFramePart_pos2_low_plane");
3263 backSideEpoxideFramePart_pos2->
SetDx(
3264 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
3265 backSideEpoxideFramePart_pos2->
SetDy(0.0);
3266 backSideEpoxideFramePart_pos2->
SetDz(0.0);
3272 TString expression =
"backSideEpoxideFramePartS";
3274 expression +=
":backSideEpoxideFramePart_pos1_low_plane";
3275 expression +=
"+backSideEpoxideFramePartS";
3277 expression +=
":backSideEpoxideFramePart_pos2_low_plane";
3279 backSideEpoxideFrameS->
MakeNode(expression);
3288 if (backSideEpoxideFrameV_medium) {
3289 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
3291 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
3300 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
3302 - frontLowerEpoxideFrame_YSize + 0.2 );
3305 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
3309 Double_t backUpperEpoxideFrame_XSize = 161.42;
3310 Double_t backUpperEpoxideFrame_YSize = 6.2;
3311 Double_t backUpperEpoxideFrame_ZSize = 1.6;
3314 new TGeoBBox(
"backUpperEpoxideFrameS", backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5,
3315 backUpperEpoxideFrame_ZSize * 0.5);
3322 if (backUpperEpoxideFrameV_medium) {
3323 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
3325 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
3334 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3340 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
3344 Double_t frontSideEpoxideFramePart_XSize = 3.5;
3345 Double_t frontSideEpoxideFramePart_YSize = 49.9 - 6.0;
3346 Double_t frontSideEpoxideFramePart_ZSize = 1.5;
3348 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
3352 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
3353 frontSideEpoxideFramePart_ZSize * 0.5);
3356 frontSideEpoxideFramePart_pos1->
SetName(
"frontSideEpoxideFramePart_pos1");
3357 frontSideEpoxideFramePart_pos1->
SetDx(
3358 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3359 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
3360 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
3364 frontSideEpoxideFramePart_pos2->
SetName(
"frontSideEpoxideFramePart_pos2");
3365 frontSideEpoxideFramePart_pos2->
SetDx(
3366 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
3367 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
3368 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
3374 TString expression =
"frontSideEpoxideFramePartS";
3376 expression +=
":frontSideEpoxideFramePart_pos1";
3377 expression +=
"+frontSideEpoxideFramePartS";
3379 expression +=
":frontSideEpoxideFramePart_pos2";
3381 frontSideEpoxideFrameS->
MakeNode(expression);
3390 if (frontSideEpoxideFrameV_medium) {
3391 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
3393 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
3402 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
3404 - frontLowerEpoxideFrame_YSize + 0.2 );
3408 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
3412 Double_t frontUpperEpoxideFrame_XSize = 161.7;
3413 Double_t frontUpperEpoxideFrame_YSize = 3.5;
3414 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
3417 new TGeoBBox(
"frontUpperEpoxideFrameS", frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5,
3418 frontUpperEpoxideFrame_ZSize * 0.5);
3425 if (frontUpperEpoxideFrameV_medium) {
3426 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
3428 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
3437 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
3443 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
3447 Double_t alumCableSupportPart_XSize = 3.0;
3448 Double_t alumCableSupportPart_YSize = 41.3 - 6.0;
3449 Double_t alumCableSupportPart_ZSize = 0.2;
3451 Double_t alumCableSupport_XDistBetweenParts = 164.82;
3454 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
3455 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
3458 alumCableSupportPart_pos1->
SetName(
"alumCableSupportPart_pos1");
3459 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3460 alumCableSupportPart_pos1->
SetDy(0.0);
3461 alumCableSupportPart_pos1->
SetDz(0.0);
3465 alumCableSupportPart_pos2->
SetName(
"alumCableSupportPart_pos2");
3466 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
3467 alumCableSupportPart_pos2->
SetDy(0.0);
3468 alumCableSupportPart_pos2->
SetDz(0.0);
3474 TString expression =
"alumCableSupportPartS";
3476 expression +=
":alumCableSupportPart_pos1";
3477 expression +=
"+alumCableSupportPartS";
3479 expression +=
":alumCableSupportPart_pos2";
3481 alumCableSupportS->
MakeNode(expression);
3490 if (alumCableSupportV_medium) {
3491 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
3493 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
3502 alumCableSupport_transf[0]->
SetDx(0.0);
3504 - frontLowerEpoxideFrame_YSize + 0.2 );
3506 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3508 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
3512 Double_t amplifierUpperBlockPart1_XSize = 161.44;
3513 Double_t amplifierUpperBlockPart1_YSize = 0.6;
3514 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
3516 Double_t amplifierUpperBlockPart2_XSize = 161.16;
3517 Double_t amplifierUpperBlockPart2_YSize = 0.6;
3518 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
3521 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
3522 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
3524 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
3525 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
3528 amplifierUpperBlockPart1_pos->
SetName(
"amplifierUpperBlockPart1_pos");
3529 amplifierUpperBlockPart1_pos->
SetDx(0.0);
3530 amplifierUpperBlockPart1_pos->
SetDy(0.0);
3531 amplifierUpperBlockPart1_pos->
SetDz(0.0);
3535 amplifierUpperBlockPart2_pos->
SetName(
"amplifierUpperBlockPart2_pos");
3536 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
3537 amplifierUpperBlockPart2_pos->
SetDy(
3538 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
3539 amplifierUpperBlockPart2_pos->
SetDz(0.0);
3545 TString expression =
"amplifierUpperBlockPart1S";
3547 expression +=
":amplifierUpperBlockPart1_pos";
3548 expression +=
"+amplifierUpperBlockPart1S";
3550 expression +=
":amplifierUpperBlockPart2_pos";
3552 amplifierUpperBlockS->
MakeNode(expression);
3561 if (amplifierUpperBlockV_medium) {
3562 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
3564 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
3573 amplifierUpperBlock_transf[0]->
SetDx(0.0);
3578 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
3582 Double_t amplifierSideBlockPartBig_XSize = 0.6;
3583 Double_t amplifierSideBlockPartBig_YSize = 33.9;
3584 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
3586 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
3587 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
3588 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
3592 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
3593 amplifierSideBlockPartBig_ZSize * 0.5);
3594 TGeoShape* amplifierSideBlockPartSmallS =
3596 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
3597 amplifierSideBlockPartSmall_ZSize * 0.5);
3600 amplifierSideBlockPartBig_pos->
SetName(
"amplifierSideBlockPartBig_pos");
3601 amplifierSideBlockPartBig_pos->
SetDx(0.0);
3602 amplifierSideBlockPartBig_pos->
SetDy(0.0);
3603 amplifierSideBlockPartBig_pos->
SetDz(0.0);
3607 amplifierSideBlockPartSmall_pos->
SetName(
"amplifierSideBlockPartSmall_pos");
3608 amplifierSideBlockPartSmall_pos->
SetDx(
3609 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
3610 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
3611 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
3617 TString expression =
"amplifierSideBlockPartBigS";
3619 expression +=
":amplifierSideBlockPartBig_pos";
3620 expression +=
"+amplifierSideBlockPartSmallS";
3622 expression +=
":amplifierSideBlockPartSmall_pos";
3624 amplifierSideBlockS->
MakeNode(expression);
3633 if (amplifierSideBlockV_medium) {
3634 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
3636 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
3645 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
3646 amplifierSideBlock_transf[0]->
SetDy(-5.5 + 6.0 * 0.5);
3651 amplifierSideBlock_transf[1]->
RotateY(180.0);
3652 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
3653 amplifierSideBlock_transf[1]->
SetDy(-5.5 + 6.0 * 0.5);
3657 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
3658 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
3666 TGeoShape* upperPcbS =
new TGeoBBox(
"upperPcbS", upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
3672 if (upperPcbV_medium) {
3675 Fatal(
"Main",
"Invalid medium for upperPcbV!");
3684 upperPcb_transf[0]->
SetDx(+0.1 );
3685 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ) - 6.0 * 0.5);
3687 - frontSideEpoxideFramePart_ZSize - 0.2);
3689 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
3694 Double_t sidePcbPart_YSize = 35.05;
3698 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
3701 sidePcbPart_pos1->
SetName(
"sidePcbPart_pos1");
3702 sidePcbPart_pos1->
SetDx(0.0);
3703 sidePcbPart_pos1->
SetDy(0.0);
3704 sidePcbPart_pos1->
SetDz(0.0);
3708 sidePcbPart_pos2->
SetName(
"sidePcbPart_pos2");
3709 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
3710 sidePcbPart_pos2->
SetDy(0.0);
3711 sidePcbPart_pos2->
SetDz(0.0);
3717 TString expression =
"sidePcbPartS";
3719 expression +=
":sidePcbPart_pos1";
3720 expression +=
"+sidePcbPartS";
3722 expression +=
":sidePcbPart_pos2";
3732 if (sidePcbV_medium) {
3735 Fatal(
"Main",
"Invalid medium for sidePcbV!");
3744 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
3745 sidePcb_transf[0]->
SetDy(-6.8 + 6.0 * 0.5);
3747 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3750 sidePcb_transf[1]->
RotateY(180.0);
3751 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
3752 sidePcb_transf[1]->
SetDy(-6.8 + 6.0 * 0.5);
3754 + frontSideEpoxideFramePart_ZSize + 1.0 ));
3756 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
3757 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
3761 Double_t alumSideSupport_XSize = 4.8;
3762 Double_t alumSideSupport_YSize = 52.6 - 6.0;
3763 Double_t alumSideSupport_ZSize = 0.4;
3765 TGeoShape* alumSideSupportS =
new TGeoBBox(
"alumSideSupportS", alumSideSupport_XSize * 0.5,
3766 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
3773 if (alumSideSupportV_medium) {
3774 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
3776 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
3785 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
3786 alumSideSupport_transf[0]->
SetDy(+1.8);
3790 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
3791 alumSideSupport_transf[1]->
SetDy(+1.8 );
3794 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
3795 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
3800 Double_t boschShape_YSize = 52.6 - 6.0;
3804 new TGeoBBox(
"boschShapeS", boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
3810 if (boschShapeV_medium) {
3811 boschShapeV->
SetMedium(boschShapeV_medium);
3813 Fatal(
"Main",
"Invalid medium for boschShapeV!");
3822 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
3823 boschShape_transf[0]->
SetDy(+1.8 );
3827 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
3828 boschShape_transf[1]->
SetDy(+1.8 );
3836 Double_t insidePolyacetalShapeUpper_XSize = 11.46;
3837 Double_t insidePolyacetalShapeUpper_YSize = 52.6;
3838 Double_t insidePolyacetalShapeUpper_ZSize = 3.0;
3839 Double_t insidePolyacetalShapeUpper_XDistBetweenParts = 186.22;
3841 Double_t outsidePolyacetalShapeUpper_XSize = 23.5;
3842 Double_t outsidePolyacetalShapeUpper_YSize = 5.405;
3843 Double_t outsidePolyacetalShapeUpper_ZSize = 3.0;
3844 Double_t outsidePolyacetalShapeUpper_XDistBetweenParts = 209.14;
3846 Double_t insidePolyacetalShapeLower_XSize = 8.4;
3847 Double_t insidePolyacetalShapeLower_YSize = 52.6 - 6.0;
3848 Double_t insidePolyacetalShapeLower_ZSize = 3.0;
3849 Double_t insidePolyacetalShapeLower_XDistBetweenParts = 186.22;
3851 Double_t outsidePolyacetalShapeLower_XSize = 26.7;
3852 Double_t outsidePolyacetalShapeLower_YSize = 24.4;
3853 Double_t outsidePolyacetalShapeLower_ZSize = 3.0;
3854 Double_t outsidePolyacetalShapeLower_XDistBetweenParts = 203.02;
3856 TGeoShape* insidePolyacetalShapeUpperS =
3857 new TGeoBBox(
"insidePolyacetalShapeUpperS", insidePolyacetalShapeUpper_XSize * 0.5,
3858 insidePolyacetalShapeUpper_YSize * 0.5, insidePolyacetalShapeUpper_ZSize * 0.5);
3859 TGeoShape* outsidePolyacetalShapeUpperS =
3860 new TGeoBBox(
"outsidePolyacetalShapeUpperS", outsidePolyacetalShapeUpper_XSize * 0.5,
3861 outsidePolyacetalShapeUpper_YSize * 0.5, outsidePolyacetalShapeUpper_ZSize * 0.5);
3862 TGeoShape* insidePolyacetalShapeLowerS =
3863 new TGeoBBox(
"insidePolyacetalShapeLowerS", insidePolyacetalShapeLower_XSize * 0.5,
3864 insidePolyacetalShapeLower_YSize * 0.5, insidePolyacetalShapeLower_ZSize * 0.5);
3865 TGeoShape* outsidePolyacetalShapeLowerS =
3866 new TGeoBBox(
"outsidePolyacetalShapeLowerS", outsidePolyacetalShapeLower_XSize * 0.5,
3867 outsidePolyacetalShapeLower_YSize * 0.5, outsidePolyacetalShapeLower_ZSize * 0.5);
3870 TString(
"insidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeUpperS);
3872 TString(
"outsidePolyacetalShapeUpperV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeUpperS);
3874 TString(
"insidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), insidePolyacetalShapeLowerS);
3876 TString(
"outsidePolyacetalShapeLowerV") +=
TString(
"_") + frames->
GetName(), outsidePolyacetalShapeLowerS);
3880 if (polyacetalShapeV_medium) {
3881 insidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3882 outsidePolyacetalShapeUpperV->
SetMedium(polyacetalShapeV_medium);
3883 insidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3884 outsidePolyacetalShapeLowerV->
SetMedium(polyacetalShapeV_medium);
3886 Fatal(
"Main",
"Invalid medium for insidePolyacetalShapeUpperV!");
3901 insidePolyacetalShapeUpper_transf[0]->
SetDx(
3902 +(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3903 insidePolyacetalShapeUpper_transf[0]->
SetDy(+1.8 );
3904 insidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3907 insidePolyacetalShapeUpper_transf[1]->
SetDx(
3908 -(insidePolyacetalShapeUpper_XSize * 0.5 + insidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3909 insidePolyacetalShapeUpper_transf[1]->
SetDy(+1.8 );
3910 insidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3915 outsidePolyacetalShapeUpper_transf[0]->
SetDx(
3916 +(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3917 outsidePolyacetalShapeUpper_transf[0]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3918 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3919 outsidePolyacetalShapeUpper_transf[0]->
SetDz(0.0);
3922 outsidePolyacetalShapeUpper_transf[1]->
SetDx(
3923 -(outsidePolyacetalShapeUpper_XSize * 0.5 + outsidePolyacetalShapeUpper_XDistBetweenParts * 0.5));
3924 outsidePolyacetalShapeUpper_transf[1]->
SetDy(-insidePolyacetalShapeUpper_YSize * 0.5
3925 + 1.8 + outsidePolyacetalShapeUpper_YSize * 0.5);
3926 outsidePolyacetalShapeUpper_transf[1]->
SetDz(0.0);
3931 insidePolyacetalShapeLower_transf[0]->
SetDx(
3932 +(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3933 insidePolyacetalShapeLower_transf[0]->
SetDy(+1.8 );
3934 insidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
3937 insidePolyacetalShapeLower_transf[1]->
SetDx(
3938 -(insidePolyacetalShapeLower_XSize * 0.5 + insidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3939 insidePolyacetalShapeLower_transf[1]->
SetDy(+1.8 );
3940 insidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
3945 outsidePolyacetalShapeLower_transf[0]->
SetDx(
3946 +(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3947 outsidePolyacetalShapeLower_transf[0]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
3948 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
3949 outsidePolyacetalShapeLower_transf[0]->
SetDz(0.0);
3952 outsidePolyacetalShapeLower_transf[1]->
SetDx(
3953 -(outsidePolyacetalShapeLower_XSize * 0.5 + outsidePolyacetalShapeLower_XDistBetweenParts * 0.5));
3954 outsidePolyacetalShapeLower_transf[1]->
SetDy(-insidePolyacetalShapeLower_YSize * 0.5
3955 + 1.8 + outsidePolyacetalShapeLower_YSize * 0.5);
3956 outsidePolyacetalShapeLower_transf[1]->
SetDz(0.0);
3959 frames->
AddNode(insidePolyacetalShapeUpperV, 0, insidePolyacetalShapeUpper_transf[0]);
3960 frames->
AddNode(insidePolyacetalShapeUpperV, 1, insidePolyacetalShapeUpper_transf[1]);
3961 frames->
AddNode(outsidePolyacetalShapeUpperV, 0, outsidePolyacetalShapeUpper_transf[0]);
3962 frames->
AddNode(outsidePolyacetalShapeUpperV, 1, outsidePolyacetalShapeUpper_transf[1]);
3966 frames->
AddNode(insidePolyacetalShapeLowerV, 0, insidePolyacetalShapeLower_transf[0]);
3967 frames->
AddNode(insidePolyacetalShapeLowerV, 1, insidePolyacetalShapeLower_transf[1]);
3968 frames->
AddNode(outsidePolyacetalShapeLowerV, 0, outsidePolyacetalShapeLower_transf[0]);
3969 frames->
AddNode(outsidePolyacetalShapeLowerV, 1, outsidePolyacetalShapeLower_transf[1]);
3975 Double_t lowerFiberGlassBlock_XSize = 165.1;
3976 Double_t lowerFiberGlassBlock_YSize = 1.75;
3977 Double_t lowerFiberGlassBlock_ZSize = 0.9;
3979 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
3980 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
3981 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
3985 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
3986 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
3988 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
3989 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
3992 lowerFiberGlassBlockHalf_pos1->
SetName(
"lowerFiberGlassBlockHalf_pos1");
3993 lowerFiberGlassBlockHalf_pos1->
SetDx(
3994 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
3995 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
3996 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
4000 lowerFiberGlassBlockHalf_pos2->
SetName(
"lowerFiberGlassBlockHalf_pos2");
4001 lowerFiberGlassBlockHalf_pos2->
SetDx(
4002 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
4003 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
4004 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
4008 lowerFiberGlassBlockArch_pos->
SetName(
"lowerFiberGlassBlockArch_pos");
4009 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
4010 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
4011 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
4017 TString expression =
"lowerFiberGlassBlockHalfS";
4019 expression +=
":lowerFiberGlassBlockHalf_pos1";
4020 expression +=
"+lowerFiberGlassBlockHalfS";
4022 expression +=
":lowerFiberGlassBlockHalf_pos2";
4023 expression +=
"+lowerFiberGlassBlockArchS";
4025 expression +=
":lowerFiberGlassBlockArch_pos";
4027 lowerFiberGlassBlockS->
MakeNode(expression);
4036 if (lowerFiberGlassBlockV_medium) {
4037 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
4039 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
4048 lowerFiberGlassBlock_transf[0]->
SetDx(+0.0);
4050 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
4052 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
4056 Double_t sideFiberGlassBlockPart_XSize = 1.45;
4057 Double_t sideFiberGlassBlockPart_YSize = 49.4 - 6.0;
4058 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
4061 new TGeoBBox(
"sideFiberGlassBlockS", sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5,
4062 sideFiberGlassBlockPart_ZSize * 0.5);
4069 if (sideFiberGlassBlockV_medium) {
4070 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
4072 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
4081 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4082 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
4083 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4086 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
4087 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
4088 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
4090 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
4091 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
4095 Double_t upperFiberGlassBlock_XSize = 165.1;
4096 Double_t upperFiberGlassBlock_YSize = 1.45;
4097 Double_t upperFiberGlassBlock_ZSize = 0.89;
4099 TGeoShape* upperFiberGlassBlockS =
new TGeoBBox(
"upperFiberGlassBlockS", upperFiberGlassBlock_XSize * 0.5,
4100 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
4107 if (upperFiberGlassBlockV_medium) {
4108 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
4110 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
4119 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
4120 upperFiberGlassBlock_transf[0]->
SetDy(
4121 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
4122 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
4124 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
4128 Double_t upperBrasslayer_XSize = 165.1;
4129 Double_t upperBrasslayer_YSize = 1.45;
4130 Double_t upperBrasslayer_ZSize = 0.005;
4132 Double_t sideBrasslayer_XSize = 1.45;
4133 Double_t sideBrasslayer_YSize = 49.4 - 6.0;
4134 Double_t sideBrasslayer_ZSize = 0.005;
4136 TGeoShape* upperBrasslayerS =
new TGeoBBox(
"upperBrasslayerS", upperBrasslayer_XSize * 0.5,
4137 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
4138 TGeoShape* sideBrasslayerS =
new TGeoBBox(
"sideBrasslayerS", sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5,
4139 sideBrasslayer_ZSize * 0.5);
4148 if (upperBrasslayerV_medium) {
4149 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4150 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
4152 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
4163 upperBrasslayer_transf[0]->
SetDx(0.0);
4164 upperBrasslayer_transf[0]->
SetDy(
4165 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
4171 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4172 sideBrasslayer_transf[0]->
SetDy(+0.45 );
4176 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
4177 sideBrasslayer_transf[1]->
SetDy(+0.45 );
4180 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
4182 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
4183 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
4187 Double_t upperSteellayer_XSize = 165.1;
4188 Double_t upperSteellayer_YSize = 1.45;
4189 Double_t upperSteellayer_ZSize = 0.005;
4191 Double_t sideSteellayer_XSize = 1.45;
4192 Double_t sideSteellayer_YSize = 49.4 - 6.0;
4193 Double_t sideSteellayer_ZSize = 0.005;
4195 TGeoShape* upperSteellayerS =
new TGeoBBox(
"upperSteellayerS", upperSteellayer_XSize * 0.5,
4196 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
4197 TGeoShape* sideSteellayerS =
new TGeoBBox(
"sideSteellayerS", sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5,
4198 sideSteellayer_ZSize * 0.5);
4207 if (upperSteellayerV_medium) {
4208 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
4209 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
4211 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
4222 upperSteellayer_transf[0]->
SetDx(0.0);
4223 upperSteellayer_transf[0]->
SetDy(
4224 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
4230 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4231 sideSteellayer_transf[0]->
SetDy(+0.45 );
4235 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
4236 sideSteellayer_transf[1]->
SetDy(+0.45 );
4239 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
4241 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
4242 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);