482 Double_t layerFront_XShift = -0.375;
491 Double_t copperLayer_ZSize = 0.00655;
492 Double_t copperLayerHole_Radius = 6.0;
497 layerFront_YSize * 0.5, copperLayer_ZSize * 0.5);
500 layerBack_YSize * 0.5, copperLayer_ZSize * 0.5);
504 copperLayer_ZSize * 0.5 + 0.01);
506 0.0, copperLayerHole_Radius, copperLayer_ZSize * 0.5 + 0.01);
509 copperLayerFrontHole_pos->
SetName(
"copperLayerFrontHole_pos");
512 copperLayerFrontHole_pos->
SetDz(0.0);
516 copperLayerBackHole_pos->
SetName(
"copperLayerBackHole_pos");
519 copperLayerBackHole_pos->
SetDz(0.0);
525 TString expression =
"copperLayerFrontBlankS";
527 expression +=
"-copperLayerFrontHoleS";
529 expression +=
":copperLayerFrontHole_pos";
531 copperLayerFrontS->
MakeNode(expression);
538 TString expression =
"copperLayerBackBlankS";
540 expression +=
"-copperLayerBackHoleS";
542 expression +=
":copperLayerBackHole_pos";
544 copperLayerBackS->
MakeNode(expression);
555 if (copperLayerV_medium) {
556 copperLayerFrontV->
SetMedium(copperLayerV_medium);
557 copperLayerBackV->
SetMedium(copperLayerV_medium);
559 Fatal(
"Main",
"Invalid medium for copperLayerV!");
570 copperLayerFront_transf[0]->
SetDx(+layerFront_XShift);
571 copperLayerFront_transf[0]->
SetDy(+layerFront_YShift);
577 copperLayerBack_transf[0]->
SetDx(+layerBack_XShift);
578 copperLayerBack_transf[0]->
SetDy(+layerBack_YShift);
581 layers->
AddNode(copperLayerFrontV, 0, copperLayerFront_transf[0]);
582 layers->
AddNode(copperLayerBackV, 0, copperLayerBack_transf[0]);
587 Double_t glueLayerHole_Radius = 6.0;
592 layerFront_YSize * 0.5, glueLayer_ZSize * 0.5);
594 layerBack_XSize * 0.5, layerBack_YSize * 0.5, glueLayer_ZSize * 0.5);
597 0.0, glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
599 glueLayerHole_Radius, glueLayer_ZSize * 0.5 + 0.01);
602 glueLayerFrontHole_pos->
SetName(
"glueLayerFrontHole_pos");
605 glueLayerFrontHole_pos->
SetDz(0.0);
609 glueLayerBackHole_pos->
SetName(
"glueLayerBackHole_pos");
612 glueLayerBackHole_pos->
SetDz(0.0);
618 TString expression =
"glueLayerFrontBlankS";
620 expression +=
"-glueLayerFrontHoleS";
622 expression +=
":glueLayerFrontHole_pos";
624 glueLayerFrontS->
MakeNode(expression);
631 TString expression =
"glueLayerBackBlankS";
633 expression +=
"-glueLayerBackHoleS";
635 expression +=
":glueLayerBackHole_pos";
637 glueLayerBackS->
MakeNode(expression);
648 if (glueLayerV_medium) {
649 glueLayerFrontV->
SetMedium(glueLayerV_medium);
650 glueLayerBackV->
SetMedium(glueLayerV_medium);
652 Fatal(
"Main",
"Invalid medium for glueLayerV!");
663 glueLayerFront_transf[0]->
SetDx(+layerFront_XShift);
664 glueLayerFront_transf[0]->
SetDy(+layerFront_YShift);
670 glueLayerBack_transf[0]->
SetDx(+layerBack_XShift);
671 glueLayerBack_transf[0]->
SetDy(+layerBack_YShift);
674 layers->
AddNode(glueLayerFrontV, 0, glueLayerFront_transf[0]);
675 layers->
AddNode(glueLayerBackV, 0, glueLayerBack_transf[0]);
679 Double_t epoxideLayer_ZSize = 0.105;
680 Double_t epoxideLayerHole_Radius = 6.0;
685 layerFront_YSize * 0.5, epoxideLayer_ZSize * 0.5);
688 layerBack_YSize * 0.5, epoxideLayer_ZSize * 0.5);
692 epoxideLayerHole_Radius, epoxideLayer_ZSize * 0.5 + 0.01);
695 epoxideLayer_ZSize * 0.5 + 0.01);
698 epoxideLayerFrontHole_pos->
SetName(
"epoxideLayerFrontHole_pos");
701 epoxideLayerFrontHole_pos->
SetDz(0.0);
705 epoxideLayerBackHole_pos->
SetName(
"epoxideLayerBackHole_pos");
708 epoxideLayerBackHole_pos->
SetDz(0.0);
714 TString expression =
"epoxideLayerFrontBlankS";
716 expression +=
"-epoxideLayerFrontHoleS";
718 expression +=
":epoxideLayerFrontHole_pos";
720 epoxideLayerFrontS->
MakeNode(expression);
727 TString expression =
"epoxideLayerBackBlankS";
729 expression +=
"-epoxideLayerBackHoleS";
731 expression +=
":epoxideLayerBackHole_pos";
733 epoxideLayerBackS->
MakeNode(expression);
744 if (epoxideLayerV_medium) {
745 epoxideLayerFrontV->
SetMedium(epoxideLayerV_medium);
746 epoxideLayerBackV->
SetMedium(epoxideLayerV_medium);
748 Fatal(
"Main",
"Invalid medium for epoxideLayerV!");
759 epoxideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
760 epoxideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
762 + epoxideLayer_ZSize * 0.5);
767 epoxideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
768 epoxideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
770 - epoxideLayer_ZSize * 0.5);
772 layers->
AddNode(epoxideLayerFrontV, 0, epoxideLayerFront_transf[0]);
773 layers->
AddNode(epoxideLayerBackV, 0, epoxideLayerBack_transf[0]);
777 Double_t honeycombLayer_ZSize = 1.5 - (0.06805);
778 Double_t honeycombLayerHole_Radius = 6.0;
783 layerFront_YSize * 0.5, honeycombLayer_ZSize * 0.5);
786 layerBack_YSize * 0.5, honeycombLayer_ZSize * 0.5);
790 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
793 honeycombLayerHole_Radius, honeycombLayer_ZSize * 0.5 + 0.01);
796 honeycombLayerFrontHole_pos->
SetName(
"honeycombLayerFrontHole_pos");
799 honeycombLayerFrontHole_pos->
SetDz(0.0);
803 honeycombLayerBackHole_pos->
SetName(
"honeycombLayerBackHole_pos");
806 honeycombLayerBackHole_pos->
SetDz(0.0);
812 TString expression =
"honeycombLayerFrontBlankS";
814 expression +=
"-honeycombLayerFrontHoleS";
816 expression +=
":honeycombLayerFrontHole_pos";
818 honeycombLayerFrontS->
MakeNode(expression);
825 TString expression =
"honeycombLayerBackBlankS";
827 expression +=
"-honeycombLayerBackHoleS";
829 expression +=
":honeycombLayerBackHole_pos";
831 honeycombLayerBackS->
MakeNode(expression);
842 if (honeycombLayerV_medium) {
843 honeycombLayerFrontV->
SetMedium(honeycombLayerV_medium);
844 honeycombLayerBackV->
SetMedium(honeycombLayerV_medium);
846 Fatal(
"Main",
"Invalid medium for honeycombLayerV!");
857 honeycombLayerFront_transf[0]->
SetDx(+layerFront_XShift);
858 honeycombLayerFront_transf[0]->
SetDy(+layerFront_YShift);
860 + epoxideLayer_ZSize + honeycombLayer_ZSize * 0.5);
865 honeycombLayerBack_transf[0]->
SetDx(+layerBack_XShift);
866 honeycombLayerBack_transf[0]->
SetDy(+layerBack_YShift);
868 - epoxideLayer_ZSize - honeycombLayer_ZSize * 0.5);
870 layers->
AddNode(honeycombLayerFrontV, 0, honeycombLayerFront_transf[0]);
871 layers->
AddNode(honeycombLayerBackV, 0, honeycombLayerBack_transf[0]);
875 Double_t polyamideLayer_ZSize = 0.0125;
876 Double_t polyamideLayerHole_Radius = 6.0;
881 layerFront_YSize * 0.5, polyamideLayer_ZSize * 0.5);
884 layerBack_YSize * 0.5, polyamideLayer_ZSize * 0.5);
888 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
891 polyamideLayerHole_Radius, polyamideLayer_ZSize * 0.5 + 0.01);
894 polyamideLayerFrontHole_pos->
SetName(
"polyamideLayerFrontHole_pos");
897 polyamideLayerFrontHole_pos->
SetDz(0.0);
901 polyamideLayerBackHole_pos->
SetName(
"polyamideLayerBackHole_pos");
904 polyamideLayerBackHole_pos->
SetDz(0.0);
910 TString expression =
"polyamideLayerFrontBlankS";
912 expression +=
"-polyamideLayerFrontHoleS";
914 expression +=
":polyamideLayerFrontHole_pos";
916 polyamideLayerFrontS->
MakeNode(expression);
923 TString expression =
"polyamideLayerBackBlankS";
925 expression +=
"-polyamideLayerBackHoleS";
927 expression +=
":polyamideLayerBackHole_pos";
929 polyamideLayerBackS->
MakeNode(expression);
940 if (polyamideLayerV_medium) {
941 polyamideLayerFrontV->
SetMedium(polyamideLayerV_medium);
942 polyamideLayerBackV->
SetMedium(polyamideLayerV_medium);
944 Fatal(
"Main",
"Invalid medium for polyamideLayerV!");
955 polyamideLayerFront_transf[0]->
SetDx(+layerFront_XShift);
956 polyamideLayerFront_transf[0]->
SetDy(+layerFront_YShift);
958 + epoxideLayer_ZSize + honeycombLayer_ZSize + polyamideLayer_ZSize * 0.5);
963 polyamideLayerBack_transf[0]->
SetDx(+layerBack_XShift);
964 polyamideLayerBack_transf[0]->
SetDy(+layerBack_YShift);
966 - epoxideLayer_ZSize - honeycombLayer_ZSize - polyamideLayer_ZSize * 0.5);
968 layers->
AddNode(polyamideLayerFrontV, 0, polyamideLayerFront_transf[0]);
969 layers->
AddNode(polyamideLayerBackV, 0, polyamideLayerBack_transf[0]);
1045 Double_t backLowerEpoxideFrame_XSize = 161.42;
1046 Double_t backLowerEpoxideFrame_YSize = 2.2;
1047 Double_t backLowerEpoxideFrame_ZSize = 1.6;
1049 Double_t backLowerEpoxideFrameArch_Rmin = 4.0;
1050 Double_t backLowerEpoxideFrameArch_Rmax = 6.0;
1051 Double_t backLowerEpoxideFrameArch_ZSize = backLowerEpoxideFrame_ZSize;
1055 (backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5,
1056 backLowerEpoxideFrame_YSize * 0.5, backLowerEpoxideFrame_ZSize * 0.5);
1058 TString(
"backLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), backLowerEpoxideFrameArch_Rmin,
1059 backLowerEpoxideFrameArch_Rmax, backLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1062 backLowerEpoxideFrameHalf_pos1->
SetName(
"backLowerEpoxideFrameHalf1_pos1");
1063 backLowerEpoxideFrameHalf_pos1->
SetDx(
1064 +((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1065 backLowerEpoxideFrameHalf_pos1->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1066 backLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1070 backLowerEpoxideFrameHalf_pos2->
SetName(
"backLowerEpoxideFrameHalf1_pos2");
1071 backLowerEpoxideFrameHalf_pos2->
SetDx(
1072 -((backLowerEpoxideFrame_XSize * 0.5 - backLowerEpoxideFrameArch_Rmin) * 0.5 + backLowerEpoxideFrameArch_Rmin));
1073 backLowerEpoxideFrameHalf_pos2->
SetDy(-(backLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1074 backLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1078 backLowerEpoxideFrameArch_pos->
SetName(
"backLowerEpoxideFrameArch_pos");
1079 backLowerEpoxideFrameArch_pos->
SetDx(0.0);
1080 backLowerEpoxideFrameArch_pos->
SetDy(0.0);
1081 backLowerEpoxideFrameArch_pos->
SetDz(0.0);
1087 TString expression =
"backLowerEpoxideFrameHalfS";
1089 expression +=
":backLowerEpoxideFrameHalf1_pos1";
1090 expression +=
"+backLowerEpoxideFrameHalfS";
1092 expression +=
":backLowerEpoxideFrameHalf1_pos2";
1093 expression +=
"+backLowerEpoxideFrameArchS";
1095 expression +=
":backLowerEpoxideFrameArch_pos";
1097 backLowerEpoxideFrameS->
MakeNode(expression);
1106 if (backLowerEpoxideFrameV_medium) {
1107 backLowerEpoxideFrameV->
SetMedium(backLowerEpoxideFrameV_medium);
1109 Fatal(
"Main",
"Invalid medium for backLowerEpoxideFrameV!");
1118 backLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1122 frames->
AddNode(backLowerEpoxideFrameV, 0, backLowerEpoxideFrame_transf[0]);
1126 Double_t frontLowerEpoxideFrame_XSize = 161.7;
1127 Double_t frontLowerEpoxideFrame_YSize = 2.2;
1128 Double_t frontLowerEpoxideFrame_ZSize = 1.6;
1130 Double_t frontLowerEpoxideFrameArch_Rmin = 4.0;
1131 Double_t frontLowerEpoxideFrameArch_Rmax = 6.0;
1132 Double_t frontLowerEpoxideFrameArch_ZSize = frontLowerEpoxideFrame_ZSize;
1134 TGeoShape* frontLowerEpoxideFrameHalfS =
1136 (frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5,
1137 frontLowerEpoxideFrame_YSize * 0.5, frontLowerEpoxideFrame_ZSize * 0.5);
1139 TString(
"frontLowerEpoxideFrameArchS") +=
TString(
"_") + frames->
GetName(), frontLowerEpoxideFrameArch_Rmin,
1140 frontLowerEpoxideFrameArch_Rmax, frontLowerEpoxideFrameArch_ZSize * 0.5, 0.0, 180.0);
1143 frontLowerEpoxideFrameHalf_pos1->
SetName(
"frontLowerEpoxideFrameHalf1_pos1");
1144 frontLowerEpoxideFrameHalf_pos1->
SetDx(
1145 +((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1146 + frontLowerEpoxideFrameArch_Rmin));
1147 frontLowerEpoxideFrameHalf_pos1->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1148 frontLowerEpoxideFrameHalf_pos1->
SetDz(0.0);
1152 frontLowerEpoxideFrameHalf_pos2->
SetName(
"frontLowerEpoxideFrameHalf1_pos2");
1153 frontLowerEpoxideFrameHalf_pos2->
SetDx(
1154 -((frontLowerEpoxideFrame_XSize * 0.5 - frontLowerEpoxideFrameArch_Rmin) * 0.5
1155 + frontLowerEpoxideFrameArch_Rmin));
1156 frontLowerEpoxideFrameHalf_pos2->
SetDy(-(frontLowerEpoxideFrame_YSize * 0.5) + 0.2 );
1157 frontLowerEpoxideFrameHalf_pos2->
SetDz(0.0);
1161 frontLowerEpoxideFrameArch_pos->
SetName(
"frontLowerEpoxideFrameArch_pos");
1162 frontLowerEpoxideFrameArch_pos->
SetDx(0.0);
1163 frontLowerEpoxideFrameArch_pos->
SetDy(0.0);
1164 frontLowerEpoxideFrameArch_pos->
SetDz(0.0);
1170 TString expression =
"frontLowerEpoxideFrameHalfS";
1172 expression +=
":frontLowerEpoxideFrameHalf1_pos1";
1173 expression +=
"+frontLowerEpoxideFrameHalfS";
1175 expression +=
":frontLowerEpoxideFrameHalf1_pos2";
1176 expression +=
"+frontLowerEpoxideFrameArchS";
1178 expression +=
":frontLowerEpoxideFrameArch_pos";
1180 frontLowerEpoxideFrameS->
MakeNode(expression);
1189 if (frontLowerEpoxideFrameV_medium) {
1190 frontLowerEpoxideFrameV->
SetMedium(frontLowerEpoxideFrameV_medium);
1192 Fatal(
"Main",
"Invalid medium for frontLowerEpoxideFrameV!");
1201 frontLowerEpoxideFrame_transf[0]->
SetDx(0.0);
1205 frames->
AddNode(frontLowerEpoxideFrameV, 0, frontLowerEpoxideFrame_transf[0]);
1209 Double_t backSideEpoxideFramePart_XSize = 9.2;
1210 Double_t backSideEpoxideFramePart_YSize = 52.6;
1211 Double_t backSideEpoxideFramePart_ZSize = 1.6;
1213 Double_t backSideEpoxideFrame_XDistBetweenParts = 161.42;
1216 TString(
"backSideEpoxideFramePartS") +=
TString(
"_") + frames->
GetName(), backSideEpoxideFramePart_XSize * 0.5,
1217 backSideEpoxideFramePart_YSize * 0.5, backSideEpoxideFramePart_ZSize * 0.5);
1220 backSideEpoxideFramePart_pos1->
SetName(
"backSideEpoxideFramePart_pos1");
1221 backSideEpoxideFramePart_pos1->
SetDx(
1222 +(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1223 backSideEpoxideFramePart_pos1->
SetDy(0.0);
1224 backSideEpoxideFramePart_pos1->
SetDz(0.0);
1228 backSideEpoxideFramePart_pos2->
SetName(
"backSideEpoxideFramePart_pos2");
1229 backSideEpoxideFramePart_pos2->
SetDx(
1230 -(backSideEpoxideFrame_XDistBetweenParts * 0.5 + backSideEpoxideFramePart_XSize * 0.5));
1231 backSideEpoxideFramePart_pos2->
SetDy(0.0);
1232 backSideEpoxideFramePart_pos2->
SetDz(0.0);
1238 TString expression =
"backSideEpoxideFramePartS";
1240 expression +=
":backSideEpoxideFramePart_pos1";
1241 expression +=
"+backSideEpoxideFramePartS";
1243 expression +=
":backSideEpoxideFramePart_pos2";
1245 backSideEpoxideFrameS->
MakeNode(expression);
1254 if (backSideEpoxideFrameV_medium) {
1255 backSideEpoxideFrameV->
SetMedium(backSideEpoxideFrameV_medium);
1257 Fatal(
"Main",
"Invalid medium for backSideEpoxideFrameV!");
1266 backSideEpoxideFrame_transf[0]->
SetDx(0.0);
1268 - frontLowerEpoxideFrame_YSize + 0.2 );
1271 frames->
AddNode(backSideEpoxideFrameV, 0, backSideEpoxideFrame_transf[0]);
1275 Double_t backUpperEpoxideFrame_XSize = 161.42;
1276 Double_t backUpperEpoxideFrame_YSize = 6.2;
1277 Double_t backUpperEpoxideFrame_ZSize = 1.6;
1280 new TGeoBBox(
"backUpperEpoxideFrameS", backUpperEpoxideFrame_XSize * 0.5, backUpperEpoxideFrame_YSize * 0.5,
1281 backUpperEpoxideFrame_ZSize * 0.5);
1288 if (backUpperEpoxideFrameV_medium) {
1289 backUpperEpoxideFrameV->
SetMedium(backUpperEpoxideFrameV_medium);
1291 Fatal(
"Main",
"Invalid medium for backUpperEpoxideFrameV!");
1300 backUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1305 frames->
AddNode(backUpperEpoxideFrameV, 0, backUpperEpoxideFrame_transf[0]);
1309 Double_t frontSideEpoxideFramePart_XSize = 3.5;
1310 Double_t frontSideEpoxideFramePart_YSize = 49.9;
1311 Double_t frontSideEpoxideFramePart_ZSize = 1.6;
1313 Double_t frontSideEpoxideFrame_XDistBetweenParts = 161.7;
1317 frontSideEpoxideFramePart_XSize * 0.5, frontSideEpoxideFramePart_YSize * 0.5,
1318 frontSideEpoxideFramePart_ZSize * 0.5);
1321 frontSideEpoxideFramePart_pos1->
SetName(
"frontSideEpoxideFramePart_pos1");
1322 frontSideEpoxideFramePart_pos1->
SetDx(
1323 +(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1324 frontSideEpoxideFramePart_pos1->
SetDy(0.0);
1325 frontSideEpoxideFramePart_pos1->
SetDz(0.0);
1329 frontSideEpoxideFramePart_pos2->
SetName(
"frontSideEpoxideFramePart_pos2");
1330 frontSideEpoxideFramePart_pos2->
SetDx(
1331 -(frontSideEpoxideFrame_XDistBetweenParts * 0.5 + frontSideEpoxideFramePart_XSize * 0.5));
1332 frontSideEpoxideFramePart_pos2->
SetDy(0.0);
1333 frontSideEpoxideFramePart_pos2->
SetDz(0.0);
1339 TString expression =
"frontSideEpoxideFramePartS";
1341 expression +=
":frontSideEpoxideFramePart_pos1";
1342 expression +=
"+frontSideEpoxideFramePartS";
1344 expression +=
":frontSideEpoxideFramePart_pos2";
1346 frontSideEpoxideFrameS->
MakeNode(expression);
1355 if (frontSideEpoxideFrameV_medium) {
1356 frontSideEpoxideFrameV->
SetMedium(frontSideEpoxideFrameV_medium);
1358 Fatal(
"Main",
"Invalid medium for frontSideEpoxideFrameV!");
1367 frontSideEpoxideFrame_transf[0]->
SetDx(0.0);
1369 - frontLowerEpoxideFrame_YSize + 0.2 );
1372 frames->
AddNode(frontSideEpoxideFrameV, 0, frontSideEpoxideFrame_transf[0]);
1376 Double_t frontUpperEpoxideFrame_XSize = 161.7;
1377 Double_t frontUpperEpoxideFrame_YSize = 3.5;
1378 Double_t frontUpperEpoxideFrame_ZSize = 1.6;
1381 new TGeoBBox(
"frontUpperEpoxideFrameS", frontUpperEpoxideFrame_XSize * 0.5, frontUpperEpoxideFrame_YSize * 0.5,
1382 frontUpperEpoxideFrame_ZSize * 0.5);
1389 if (frontUpperEpoxideFrameV_medium) {
1390 frontUpperEpoxideFrameV->
SetMedium(frontUpperEpoxideFrameV_medium);
1392 Fatal(
"Main",
"Invalid medium for frontUpperEpoxideFrameV!");
1401 frontUpperEpoxideFrame_transf[0]->
SetDx(0.0);
1406 frames->
AddNode(frontUpperEpoxideFrameV, 0, frontUpperEpoxideFrame_transf[0]);
1410 Double_t alumCableSupportPart_XSize = 3.0;
1411 Double_t alumCableSupportPart_YSize = 41.3;
1412 Double_t alumCableSupportPart_ZSize = 0.2;
1414 Double_t alumCableSupport_XDistBetweenParts = 164.82;
1417 TString(
"alumCableSupportPartS") +=
TString(
"_") + frames->
GetName(), alumCableSupportPart_XSize * 0.5,
1418 alumCableSupportPart_YSize * 0.5, alumCableSupportPart_ZSize * 0.5);
1421 alumCableSupportPart_pos1->
SetName(
"alumCableSupportPart_pos1");
1422 alumCableSupportPart_pos1->
SetDx(+(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1423 alumCableSupportPart_pos1->
SetDy(0.0);
1424 alumCableSupportPart_pos1->
SetDz(0.0);
1428 alumCableSupportPart_pos2->
SetName(
"alumCableSupportPart_pos2");
1429 alumCableSupportPart_pos2->
SetDx(-(alumCableSupport_XDistBetweenParts * 0.5 + alumCableSupportPart_XSize * 0.5));
1430 alumCableSupportPart_pos2->
SetDy(0.0);
1431 alumCableSupportPart_pos2->
SetDz(0.0);
1437 TString expression =
"alumCableSupportPartS";
1439 expression +=
":alumCableSupportPart_pos1";
1440 expression +=
"+alumCableSupportPartS";
1442 expression +=
":alumCableSupportPart_pos2";
1444 alumCableSupportS->
MakeNode(expression);
1453 if (alumCableSupportV_medium) {
1454 alumCableSupportV->
SetMedium(alumCableSupportV_medium);
1456 Fatal(
"Main",
"Invalid medium for alumCableSupportV!");
1465 alumCableSupport_transf[0]->
SetDx(0.0);
1467 - frontLowerEpoxideFrame_YSize + 0.2 );
1469 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1471 frames->
AddNode(alumCableSupportV, 0, alumCableSupport_transf[0]);
1475 Double_t amplifierUpperBlockPart1_XSize = 161.44;
1476 Double_t amplifierUpperBlockPart1_YSize = 0.6;
1477 Double_t amplifierUpperBlockPart1_ZSize = 8.41;
1479 Double_t amplifierUpperBlockPart2_XSize = 161.16;
1480 Double_t amplifierUpperBlockPart2_YSize = 0.6;
1481 Double_t amplifierUpperBlockPart2_ZSize = 8.41;
1484 TString(
"amplifierUpperBlockPart1S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart1_XSize * 0.5,
1485 amplifierUpperBlockPart1_YSize * 0.5, amplifierUpperBlockPart1_ZSize * 0.5);
1487 TString(
"amplifierUpperBlockPart2S") +=
TString(
"_") + frames->
GetName(), amplifierUpperBlockPart2_XSize * 0.5,
1488 amplifierUpperBlockPart2_YSize * 0.5, amplifierUpperBlockPart2_ZSize * 0.5);
1491 amplifierUpperBlockPart1_pos->
SetName(
"amplifierUpperBlockPart1_pos");
1492 amplifierUpperBlockPart1_pos->
SetDx(0.0);
1493 amplifierUpperBlockPart1_pos->
SetDy(0.0);
1494 amplifierUpperBlockPart1_pos->
SetDz(0.0);
1498 amplifierUpperBlockPart2_pos->
SetName(
"amplifierUpperBlockPart2_pos");
1499 amplifierUpperBlockPart2_pos->
SetDx(-0.76);
1500 amplifierUpperBlockPart2_pos->
SetDy(
1501 -(amplifierUpperBlockPart1_YSize * 0.5 + amplifierUpperBlockPart2_YSize * 0.5 + 0.33));
1502 amplifierUpperBlockPart2_pos->
SetDz(0.0);
1508 TString expression =
"amplifierUpperBlockPart1S";
1510 expression +=
":amplifierUpperBlockPart1_pos";
1511 expression +=
"+amplifierUpperBlockPart1S";
1513 expression +=
":amplifierUpperBlockPart2_pos";
1515 amplifierUpperBlockS->
MakeNode(expression);
1524 if (amplifierUpperBlockV_medium) {
1525 amplifierUpperBlockV->
SetMedium(amplifierUpperBlockV_medium);
1527 Fatal(
"Main",
"Invalid medium for amplifierUpperBlockV!");
1536 amplifierUpperBlock_transf[0]->
SetDx(0.0);
1541 frames->
AddNode(amplifierUpperBlockV, 0, amplifierUpperBlock_transf[0]);
1545 Double_t amplifierSideBlockPartBig_XSize = 0.6;
1546 Double_t amplifierSideBlockPartBig_YSize = 33.9;
1547 Double_t amplifierSideBlockPartBig_ZSize = 8.41;
1549 Double_t amplifierSideBlockPartSmall_XSize = 0.6;
1550 Double_t amplifierSideBlockPartSmall_YSize = 27.05;
1551 Double_t amplifierSideBlockPartSmall_ZSize = 8.41;
1555 amplifierSideBlockPartBig_XSize * 0.5, amplifierSideBlockPartBig_YSize * 0.5,
1556 amplifierSideBlockPartBig_ZSize * 0.5);
1557 TGeoShape* amplifierSideBlockPartSmallS =
1559 amplifierSideBlockPartSmall_XSize * 0.5, amplifierSideBlockPartSmall_YSize * 0.5,
1560 amplifierSideBlockPartSmall_ZSize * 0.5);
1563 amplifierSideBlockPartBig_pos->
SetName(
"amplifierSideBlockPartBig_pos");
1564 amplifierSideBlockPartBig_pos->
SetDx(0.0);
1565 amplifierSideBlockPartBig_pos->
SetDy(0.0);
1566 amplifierSideBlockPartBig_pos->
SetDz(0.0);
1570 amplifierSideBlockPartSmall_pos->
SetName(
"amplifierSideBlockPartSmall_pos");
1571 amplifierSideBlockPartSmall_pos->
SetDx(
1572 +(amplifierSideBlockPartBig_XSize * 0.5 + amplifierSideBlockPartSmall_XSize * 0.5 + 1.72));
1573 amplifierSideBlockPartSmall_pos->
SetDy(+0.05);
1574 amplifierSideBlockPartSmall_pos->
SetDz(0.0);
1580 TString expression =
"amplifierSideBlockPartBigS";
1582 expression +=
":amplifierSideBlockPartBig_pos";
1583 expression +=
"+amplifierSideBlockPartSmallS";
1585 expression +=
":amplifierSideBlockPartSmall_pos";
1587 amplifierSideBlockS->
MakeNode(expression);
1596 if (amplifierSideBlockV_medium) {
1597 amplifierSideBlockV->
SetMedium(amplifierSideBlockV_medium);
1599 Fatal(
"Main",
"Invalid medium for amplifierSideBlockV!");
1608 amplifierSideBlock_transf[0]->
SetDx(+86.47 );
1609 amplifierSideBlock_transf[0]->
SetDy(-5.5);
1613 amplifierSideBlock_transf[1]->
RotateY(180.0);
1614 amplifierSideBlock_transf[1]->
SetDx(-86.47 );
1615 amplifierSideBlock_transf[1]->
SetDy(-5.5);
1618 frames->
AddNode(amplifierSideBlockV, 0, amplifierSideBlock_transf[0]);
1619 frames->
AddNode(amplifierSideBlockV, 1, amplifierSideBlock_transf[1]);
1627 TGeoShape* upperPcbS =
new TGeoBBox(
"upperPcbS", upperPcb_XSize * 0.5, upperPcb_YSize * 0.5, upperPcb_ZSize * 0.5);
1633 if (upperPcbV_medium) {
1636 Fatal(
"Main",
"Invalid medium for upperPcbV!");
1645 upperPcb_transf[0]->
SetDx(+0.1 );
1646 upperPcb_transf[0]->
SetDy(+(upperPcb_YSize * 0.5 + 23.5 ));
1648 - frontSideEpoxideFramePart_ZSize);
1650 frames->
AddNode(upperPcbV, 0, upperPcb_transf[0]);
1655 Double_t sidePcbPart_YSize = 35.05;
1659 sidePcbPart_XSize * 0.5, sidePcbPart_YSize * 0.5, sidePcbPart_ZSize * 0.5);
1662 sidePcbPart_pos1->
SetName(
"sidePcbPart_pos1");
1663 sidePcbPart_pos1->
SetDx(0.0);
1664 sidePcbPart_pos1->
SetDy(0.0);
1665 sidePcbPart_pos1->
SetDz(0.0);
1669 sidePcbPart_pos2->
SetName(
"sidePcbPart_pos2");
1670 sidePcbPart_pos2->
SetDx(+(sidePcbPart_XSize + 6.1 ));
1671 sidePcbPart_pos2->
SetDy(0.0);
1672 sidePcbPart_pos2->
SetDz(0.0);
1678 TString expression =
"sidePcbPartS";
1680 expression +=
":sidePcbPart_pos1";
1681 expression +=
"+sidePcbPartS";
1683 expression +=
":sidePcbPart_pos2";
1693 if (sidePcbV_medium) {
1696 Fatal(
"Main",
"Invalid medium for sidePcbV!");
1705 sidePcb_transf[0]->
SetDx(+(sidePcbPart_XSize * 0.5 + 84.1 ));
1706 sidePcb_transf[0]->
SetDy(-6.8 );
1708 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1711 sidePcb_transf[1]->
RotateY(180.0);
1712 sidePcb_transf[1]->
SetDx(-(sidePcbPart_XSize * 0.5 + 84.1 ));
1713 sidePcb_transf[1]->
SetDy(-6.8 );
1715 + frontSideEpoxideFramePart_ZSize + 1.0 ));
1717 frames->
AddNode(sidePcbV, 0, sidePcb_transf[0]);
1718 frames->
AddNode(sidePcbV, 1, sidePcb_transf[1]);
1722 Double_t alumSideSupport_XSize = 4.8;
1723 Double_t alumSideSupport_YSize = 52.6;
1724 Double_t alumSideSupport_ZSize = 0.4;
1726 TGeoShape* alumSideSupportS =
new TGeoBBox(
"alumSideSupportS", alumSideSupport_XSize * 0.5,
1727 alumSideSupport_YSize * 0.5, alumSideSupport_ZSize * 0.5);
1734 if (alumSideSupportV_medium) {
1735 alumSideSupportV->
SetMedium(alumSideSupportV_medium);
1737 Fatal(
"Main",
"Invalid medium for alumSideSupportV!");
1746 alumSideSupport_transf[0]->
SetDx(+(alumSideSupport_XSize * 0.5 + 88.31 ));
1747 alumSideSupport_transf[0]->
SetDy(+1.8);
1751 alumSideSupport_transf[1]->
SetDx(-(alumSideSupport_XSize * 0.5 + 88.31 ));
1752 alumSideSupport_transf[1]->
SetDy(+1.8 );
1755 frames->
AddNode(alumSideSupportV, 0, alumSideSupport_transf[0]);
1756 frames->
AddNode(alumSideSupportV, 1, alumSideSupport_transf[1]);
1765 new TGeoBBox(
"boschShapeS", boschShape_XSize * 0.5, boschShape_YSize * 0.5, boschShape_ZSize * 0.5);
1771 if (boschShapeV_medium) {
1772 boschShapeV->
SetMedium(boschShapeV_medium);
1774 Fatal(
"Main",
"Invalid medium for boschShapeV!");
1783 boschShape_transf[0]->
SetDx(+(boschShape_XSize * 0.5 + 90.86 ));
1784 boschShape_transf[0]->
SetDy(+1.8 );
1788 boschShape_transf[1]->
SetDx(-(boschShape_XSize * 0.5 + 90.86 ));
1789 boschShape_transf[1]->
SetDy(+1.8 );
1792 frames->
AddNode(boschShapeV, 0, boschShape_transf[0]);
1793 frames->
AddNode(boschShapeV, 1, boschShape_transf[1]);
1797 Double_t lowerFiberGlassBlock_XSize = 165.1;
1798 Double_t lowerFiberGlassBlock_YSize = 1.75;
1799 Double_t lowerFiberGlassBlock_ZSize = 0.9;
1801 Double_t lowerFiberGlassBlockArch_Rmin = 4.0;
1802 Double_t lowerFiberGlassBlockArch_Rmax = 5.75;
1803 Double_t lowerFiberGlassBlockArch_ZSize = lowerFiberGlassBlock_ZSize;
1807 (lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5,
1808 lowerFiberGlassBlock_YSize * 0.5, lowerFiberGlassBlock_ZSize * 0.5);
1810 TString(
"lowerFiberGlassBlockArchS") +=
TString(
"_") + frames->
GetName(), lowerFiberGlassBlockArch_Rmin,
1811 lowerFiberGlassBlockArch_Rmax, lowerFiberGlassBlockArch_ZSize * 0.5, 0.0, 180.0);
1814 lowerFiberGlassBlockHalf_pos1->
SetName(
"lowerFiberGlassBlockHalf_pos1");
1815 lowerFiberGlassBlockHalf_pos1->
SetDx(
1816 +((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
1817 lowerFiberGlassBlockHalf_pos1->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
1818 lowerFiberGlassBlockHalf_pos1->
SetDz(0.0);
1822 lowerFiberGlassBlockHalf_pos2->
SetName(
"lowerFiberGlassBlockHalf_pos2");
1823 lowerFiberGlassBlockHalf_pos2->
SetDx(
1824 -((lowerFiberGlassBlock_XSize * 0.5 - lowerFiberGlassBlockArch_Rmin) * 0.5 + lowerFiberGlassBlockArch_Rmin));
1825 lowerFiberGlassBlockHalf_pos2->
SetDy(-(lowerFiberGlassBlock_YSize * 0.5));
1826 lowerFiberGlassBlockHalf_pos2->
SetDz(0.0);
1830 lowerFiberGlassBlockArch_pos->
SetName(
"lowerFiberGlassBlockArch_pos");
1831 lowerFiberGlassBlockArch_pos->
SetDx(0.0);
1832 lowerFiberGlassBlockArch_pos->
SetDy(0.0);
1833 lowerFiberGlassBlockArch_pos->
SetDz(0.0);
1839 TString expression =
"lowerFiberGlassBlockHalfS";
1841 expression +=
":lowerFiberGlassBlockHalf_pos1";
1842 expression +=
"+lowerFiberGlassBlockHalfS";
1844 expression +=
":lowerFiberGlassBlockHalf_pos2";
1845 expression +=
"+lowerFiberGlassBlockArchS";
1847 expression +=
":lowerFiberGlassBlockArch_pos";
1849 lowerFiberGlassBlockS->
MakeNode(expression);
1858 if (lowerFiberGlassBlockV_medium) {
1859 lowerFiberGlassBlockV->
SetMedium(lowerFiberGlassBlockV_medium);
1861 Fatal(
"Main",
"Invalid medium for lowerFiberGlassBlockV!");
1870 lowerFiberGlassBlock_transf[0]->
SetDx(0.0);
1872 lowerFiberGlassBlock_transf[0]->
SetDz(0.0);
1874 frames->
AddNode(lowerFiberGlassBlockV, 0, lowerFiberGlassBlock_transf[0]);
1878 Double_t sideFiberGlassBlockPart_XSize = 1.45;
1879 Double_t sideFiberGlassBlockPart_YSize = 49.4;
1880 Double_t sideFiberGlassBlockPart_ZSize = 0.89;
1883 new TGeoBBox(
"sideFiberGlassBlockS", sideFiberGlassBlockPart_XSize * 0.5, sideFiberGlassBlockPart_YSize * 0.5,
1884 sideFiberGlassBlockPart_ZSize * 0.5);
1891 if (sideFiberGlassBlockV_medium) {
1892 sideFiberGlassBlockV->
SetMedium(sideFiberGlassBlockV_medium);
1894 Fatal(
"Main",
"Invalid medium for sideFiberGlassBlockV!");
1903 sideFiberGlassBlock_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
1904 sideFiberGlassBlock_transf[0]->
SetDy(+0.45 );
1905 sideFiberGlassBlock_transf[0]->
SetDz(+0.005 );
1908 sideFiberGlassBlock_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideFiberGlassBlockPart_XSize * 0.5));
1909 sideFiberGlassBlock_transf[1]->
SetDy(+0.45 );
1910 sideFiberGlassBlock_transf[1]->
SetDz(+0.005 );
1912 frames->
AddNode(sideFiberGlassBlockV, 0, sideFiberGlassBlock_transf[0]);
1913 frames->
AddNode(sideFiberGlassBlockV, 1, sideFiberGlassBlock_transf[1]);
1917 Double_t upperFiberGlassBlock_XSize = 165.1;
1918 Double_t upperFiberGlassBlock_YSize = 1.45;
1919 Double_t upperFiberGlassBlock_ZSize = 0.89;
1921 TGeoShape* upperFiberGlassBlockS =
new TGeoBBox(
"upperFiberGlassBlockS", upperFiberGlassBlock_XSize * 0.5,
1922 upperFiberGlassBlock_YSize * 0.5, upperFiberGlassBlock_ZSize * 0.5);
1929 if (upperFiberGlassBlockV_medium) {
1930 upperFiberGlassBlockV->
SetMedium(upperFiberGlassBlockV_medium);
1932 Fatal(
"Main",
"Invalid medium for upperFiberGlassBlockV!");
1941 upperFiberGlassBlock_transf[0]->
SetDx(0.0);
1942 upperFiberGlassBlock_transf[0]->
SetDy(
1943 +(sideFiberGlassBlockPart_YSize * 0.5 - upperFiberGlassBlock_YSize * 0.5 + 0.45 ));
1944 upperFiberGlassBlock_transf[0]->
SetDz(+0.005 );
1946 frames->
AddNode(upperFiberGlassBlockV, 0, upperFiberGlassBlock_transf[0]);
1950 Double_t upperBrasslayer_XSize = 165.1;
1951 Double_t upperBrasslayer_YSize = 1.45;
1952 Double_t upperBrasslayer_ZSize = 0.005;
1954 Double_t sideBrasslayer_XSize = 1.45;
1955 Double_t sideBrasslayer_YSize = 49.4;
1956 Double_t sideBrasslayer_ZSize = 0.005;
1958 TGeoShape* upperBrasslayerS =
new TGeoBBox(
"upperBrasslayerS", upperBrasslayer_XSize * 0.5,
1959 upperBrasslayer_YSize * 0.5, upperBrasslayer_ZSize * 0.5);
1960 TGeoShape* sideBrasslayerS =
new TGeoBBox(
"sideBrasslayerS", sideBrasslayer_XSize * 0.5, sideBrasslayer_YSize * 0.5,
1961 sideBrasslayer_ZSize * 0.5);
1970 if (upperBrasslayerV_medium) {
1971 upperBrasslayerV->
SetMedium(upperBrasslayerV_medium);
1972 sideBrasslayerV->
SetMedium(upperBrasslayerV_medium);
1974 Fatal(
"Main",
"Invalid medium for upperBrasslayerV_medium!");
1985 upperBrasslayer_transf[0]->
SetDx(0.0);
1986 upperBrasslayer_transf[0]->
SetDy(
1987 +(sideFiberGlassBlockPart_YSize * 0.5 - upperBrasslayer_YSize * 0.5 + 0.45 ));
1993 sideBrasslayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
1994 sideBrasslayer_transf[0]->
SetDy(+0.45 );
1998 sideBrasslayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideBrasslayer_XSize * 0.5));
1999 sideBrasslayer_transf[1]->
SetDy(+0.45 );
2002 frames->
AddNode(upperBrasslayerV, 0, upperBrasslayer_transf[0]);
2004 frames->
AddNode(sideBrasslayerV, 0, sideBrasslayer_transf[0]);
2005 frames->
AddNode(sideBrasslayerV, 1, sideBrasslayer_transf[1]);
2009 Double_t upperSteellayer_XSize = 165.1;
2010 Double_t upperSteellayer_YSize = 1.45;
2011 Double_t upperSteellayer_ZSize = 0.005;
2013 Double_t sideSteellayer_XSize = 1.45;
2014 Double_t sideSteellayer_YSize = 49.4;
2015 Double_t sideSteellayer_ZSize = 0.005;
2017 TGeoShape* upperSteellayerS =
new TGeoBBox(
"upperSteellayerS", upperSteellayer_XSize * 0.5,
2018 upperSteellayer_YSize * 0.5, upperSteellayer_ZSize * 0.5);
2019 TGeoShape* sideSteellayerS =
new TGeoBBox(
"sideSteellayerS", sideSteellayer_XSize * 0.5, sideSteellayer_YSize * 0.5,
2020 sideSteellayer_ZSize * 0.5);
2029 if (upperSteellayerV_medium) {
2030 upperSteellayerV->
SetMedium(upperSteellayerV_medium);
2031 sideSteellayerV->
SetMedium(upperSteellayerV_medium);
2033 Fatal(
"Main",
"Invalid medium for upperSteellayerV_medium!");
2044 upperSteellayer_transf[0]->
SetDx(0.0);
2045 upperSteellayer_transf[0]->
SetDy(
2046 +(sideFiberGlassBlockPart_YSize * 0.5 - upperSteellayer_YSize * 0.5 + 0.45 ));
2052 sideSteellayer_transf[0]->
SetDx(+(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2053 sideSteellayer_transf[0]->
SetDy(+0.45 );
2057 sideSteellayer_transf[1]->
SetDx(-(lowerFiberGlassBlock_XSize * 0.5 + sideSteellayer_XSize * 0.5));
2058 sideSteellayer_transf[1]->
SetDy(+0.45 );
2061 frames->
AddNode(upperSteellayerV, 0, upperSteellayer_transf[0]);
2063 frames->
AddNode(sideSteellayerV, 0, sideSteellayer_transf[0]);
2064 frames->
AddNode(sideSteellayerV, 1, sideSteellayer_transf[1]);