37 FairGeoLoader* geoLoad =
new FairGeoLoader(
"TGeo",
"FairGeoLoader");
38 FairGeoInterface* geoFace = geoLoad->getGeoInterface();
40 TString medFile = geoPath +
"/geometry/media.geo";
41 geoFace->setMediaFile(medFile);
47 const TString geoDetectorName =
"SiMD";
48 const TString geoDetectorVersion =
"run8_v1";
49 TString geoFileName = geoPath +
"/geometry/" + geoDetectorName +
"_" + geoDetectorVersion +
".root";
53 FairGeoMedia* geoMedia = geoFace->getMedia();
54 FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
56 FairGeoMedium* mAir = geoMedia->getMedium(
"air");
58 Fatal(
"Main",
"FairMedium air not found");
59 geoBuild->createMedium(mAir);
62 Fatal(
"Main",
"Medium air not found");
64 FairGeoMedium* msilicon = geoMedia->getMedium(
"silicon");
66 Fatal(
"Main",
"FairMedium silicon not found");
67 geoBuild->createMedium(msilicon);
70 Fatal(
"Main",
"Medium silicon not found");
72 FairGeoMedium* maluminium = geoMedia->getMedium(
"aluminium");
74 Fatal(
"Main",
"FairMedium aluminium not found");
75 geoBuild->createMedium(maluminium);
78 Fatal(
"Main",
"Medium aluminium not found");
84 gGeoMan->SetName(geoDetectorName +
"_geom");
127 "Frame_box",
"A_box:A_box_pos - B_tube:B_tube_pos + Sm_box:right_part_pos + Sm_box:left_part_pos");
134 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
136 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
138 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
140 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
143 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
145 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
147 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
149 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
152 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
154 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
156 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
158 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
161 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
163 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
165 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
167 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
170 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
172 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
174 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
176 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
179 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
181 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
183 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
185 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
188 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
190 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
192 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
194 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
197 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
199 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
201 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
203 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
206 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
208 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
210 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
212 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
215 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
217 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
219 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
221 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
224 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
226 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
228 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
230 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
233 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
235 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
237 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
239 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
242 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
244 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
246 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
248 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
251 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
253 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
255 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
257 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
260 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
262 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
264 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
266 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
269 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
271 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
273 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
275 new TGeoTrap(
ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
408 SiD_ActiveVolV10->
SetMedium(pMedsilicon);
412 SiD_ActiveVolV11->
SetMedium(pMedsilicon);
416 SiD_ActiveVolV12->
SetMedium(pMedsilicon);
420 SiD_ActiveVolV13->
SetMedium(pMedsilicon);
424 SiD_ActiveVolV14->
SetMedium(pMedsilicon);
428 SiD_ActiveVolV15->
SetMedium(pMedsilicon);
432 SiD_ActiveVolV16->
SetMedium(pMedsilicon);
436 SiD_ActiveVolV17->
SetMedium(pMedsilicon);
440 SiD_ActiveVolV18->
SetMedium(pMedsilicon);
444 SiD_ActiveVolV19->
SetMedium(pMedsilicon);
448 SiD_ActiveVolV20->
SetMedium(pMedsilicon);
452 SiD_ActiveVolV21->
SetMedium(pMedsilicon);
456 SiD_ActiveVolV22->
SetMedium(pMedsilicon);
460 SiD_ActiveVolV23->
SetMedium(pMedsilicon);
464 SiD_ActiveVolV24->
SetMedium(pMedsilicon);
468 SiD_ActiveVolV25->
SetMedium(pMedsilicon);
472 SiD_ActiveVolV26->
SetMedium(pMedsilicon);
476 SiD_ActiveVolV27->
SetMedium(pMedsilicon);
480 SiD_ActiveVolV28->
SetMedium(pMedsilicon);
484 SiD_ActiveVolV29->
SetMedium(pMedsilicon);
488 SiD_ActiveVolV30->
SetMedium(pMedsilicon);
492 SiD_ActiveVolV31->
SetMedium(pMedsilicon);
496 SiD_ActiveVolV32->
SetMedium(pMedsilicon);
500 SiD_ActiveVolV33->
SetMedium(pMedsilicon);
504 SiD_ActiveVolV34->
SetMedium(pMedsilicon);
508 SiD_ActiveVolV35->
SetMedium(pMedsilicon);
512 SiD_ActiveVolV36->
SetMedium(pMedsilicon);
516 SiD_ActiveVolV37->
SetMedium(pMedsilicon);
520 SiD_ActiveVolV38->
SetMedium(pMedsilicon);
524 SiD_ActiveVolV39->
SetMedium(pMedsilicon);
528 SiD_ActiveVolV40->
SetMedium(pMedsilicon);
532 SiD_ActiveVolV41->
SetMedium(pMedsilicon);
536 SiD_ActiveVolV42->
SetMedium(pMedsilicon);
540 SiD_ActiveVolV43->
SetMedium(pMedsilicon);
544 SiD_ActiveVolV44->
SetMedium(pMedsilicon);
548 SiD_ActiveVolV45->
SetMedium(pMedsilicon);
552 SiD_ActiveVolV46->
SetMedium(pMedsilicon);
556 SiD_ActiveVolV47->
SetMedium(pMedsilicon);
560 SiD_ActiveVolV48->
SetMedium(pMedsilicon);
564 SiD_ActiveVolV49->
SetMedium(pMedsilicon);
568 SiD_ActiveVolV50->
SetMedium(pMedsilicon);
572 SiD_ActiveVolV51->
SetMedium(pMedsilicon);
576 SiD_ActiveVolV52->
SetMedium(pMedsilicon);
580 SiD_ActiveVolV53->
SetMedium(pMedsilicon);
584 SiD_ActiveVolV54->
SetMedium(pMedsilicon);
588 SiD_ActiveVolV55->
SetMedium(pMedsilicon);
592 SiD_ActiveVolV56->
SetMedium(pMedsilicon);
596 SiD_ActiveVolV57->
SetMedium(pMedsilicon);
600 SiD_ActiveVolV58->
SetMedium(pMedsilicon);
604 SiD_ActiveVolV59->
SetMedium(pMedsilicon);
608 SiD_ActiveVolV60->
SetMedium(pMedsilicon);
612 SiD_ActiveVolV61->
SetMedium(pMedsilicon);
616 SiD_ActiveVolV62->
SetMedium(pMedsilicon);
620 SiD_ActiveVolV63->
SetMedium(pMedsilicon);
624 SiD_ActiveVolV64->
SetMedium(pMedsilicon);
636 top->
AddNode(SidNewTop, 1, Sid_new_Pos_trans1);
639 SidNewTop->
AddNode(SiD_ActiveVolV8, 1, position1);
640 SidNewTop->
AddNode(SiD_ActiveVolV7, 2, position2);
641 SidNewTop->
AddNode(SiD_ActiveVolV6, 3, position3);
642 SidNewTop->
AddNode(SiD_ActiveVolV5, 4, position4);
644 SidNewTop->
AddNode(SiD_ActiveVolV4, 5, position5);
645 SidNewTop->
AddNode(SiD_ActiveVolV3, 6, position6);
646 SidNewTop->
AddNode(SiD_ActiveVolV2, 7, position7);
647 SidNewTop->
AddNode(SiD_ActiveVolV1, 8, position8);
649 SidNewTop->
AddNode(SiD_ActiveVolV16, 9, position9);
650 SidNewTop->
AddNode(SiD_ActiveVolV15, 10, position10);
651 SidNewTop->
AddNode(SiD_ActiveVolV14, 11, position11);
652 SidNewTop->
AddNode(SiD_ActiveVolV13, 12, position12);
654 SidNewTop->
AddNode(SiD_ActiveVolV12, 13, position13);
655 SidNewTop->
AddNode(SiD_ActiveVolV11, 14, position14);
656 SidNewTop->
AddNode(SiD_ActiveVolV10, 15, position15);
657 SidNewTop->
AddNode(SiD_ActiveVolV9, 16, position16);
659 SidNewTop->
AddNode(SiD_ActiveVolV24, 17, position17);
660 SidNewTop->
AddNode(SiD_ActiveVolV23, 18, position18);
661 SidNewTop->
AddNode(SiD_ActiveVolV22, 19, position19);
662 SidNewTop->
AddNode(SiD_ActiveVolV21, 20, position20);
664 SidNewTop->
AddNode(SiD_ActiveVolV20, 21, position21);
665 SidNewTop->
AddNode(SiD_ActiveVolV19, 22, position22);
666 SidNewTop->
AddNode(SiD_ActiveVolV18, 23, position23);
667 SidNewTop->
AddNode(SiD_ActiveVolV17, 24, position24);
669 SidNewTop->
AddNode(SiD_ActiveVolV32, 25, position25);
670 SidNewTop->
AddNode(SiD_ActiveVolV31, 26, position26);
671 SidNewTop->
AddNode(SiD_ActiveVolV30, 27, position27);
672 SidNewTop->
AddNode(SiD_ActiveVolV29, 28, position28);
674 SidNewTop->
AddNode(SiD_ActiveVolV28, 29, position29);
675 SidNewTop->
AddNode(SiD_ActiveVolV27, 30, position30);
676 SidNewTop->
AddNode(SiD_ActiveVolV26, 31, position31);
677 SidNewTop->
AddNode(SiD_ActiveVolV25, 32, position32);
679 SidNewTop->
AddNode(SiD_ActiveVolV40, 33, position33);
680 SidNewTop->
AddNode(SiD_ActiveVolV39, 34, position34);
681 SidNewTop->
AddNode(SiD_ActiveVolV38, 35, position35);
682 SidNewTop->
AddNode(SiD_ActiveVolV37, 36, position36);
684 SidNewTop->
AddNode(SiD_ActiveVolV36, 37, position37);
685 SidNewTop->
AddNode(SiD_ActiveVolV35, 38, position38);
686 SidNewTop->
AddNode(SiD_ActiveVolV34, 39, position39);
687 SidNewTop->
AddNode(SiD_ActiveVolV33, 40, position40);
689 SidNewTop->
AddNode(SiD_ActiveVolV48, 41, position41);
690 SidNewTop->
AddNode(SiD_ActiveVolV47, 42, position42);
691 SidNewTop->
AddNode(SiD_ActiveVolV46, 43, position43);
692 SidNewTop->
AddNode(SiD_ActiveVolV45, 44, position44);
694 SidNewTop->
AddNode(SiD_ActiveVolV44, 45, position45);
695 SidNewTop->
AddNode(SiD_ActiveVolV43, 46, position46);
696 SidNewTop->
AddNode(SiD_ActiveVolV42, 47, position47);
697 SidNewTop->
AddNode(SiD_ActiveVolV41, 48, position48);
699 SidNewTop->
AddNode(SiD_ActiveVolV56, 49, position49);
700 SidNewTop->
AddNode(SiD_ActiveVolV55, 50, position50);
701 SidNewTop->
AddNode(SiD_ActiveVolV54, 51, position51);
702 SidNewTop->
AddNode(SiD_ActiveVolV53, 52, position52);
704 SidNewTop->
AddNode(SiD_ActiveVolV52, 53, position53);
705 SidNewTop->
AddNode(SiD_ActiveVolV51, 54, position54);
706 SidNewTop->
AddNode(SiD_ActiveVolV50, 55, position55);
707 SidNewTop->
AddNode(SiD_ActiveVolV49, 56, position56);
709 SidNewTop->
AddNode(SiD_ActiveVolV64, 57, position57);
710 SidNewTop->
AddNode(SiD_ActiveVolV63, 58, position58);
711 SidNewTop->
AddNode(SiD_ActiveVolV62, 59, position59);
712 SidNewTop->
AddNode(SiD_ActiveVolV61, 60, position60);
714 SidNewTop->
AddNode(SiD_ActiveVolV60, 61, position61);
715 SidNewTop->
AddNode(SiD_ActiveVolV59, 62, position62);
716 SidNewTop->
AddNode(SiD_ActiveVolV58, 63, position63);
717 SidNewTop->
AddNode(SiD_ActiveVolV57, 64, position64);
719 SidNewTop->
AddNode(Frame_mat, 65);
720 SidNewTop->
AddNode(Membrane_mat, 66, skin_tube_pos);
730 TFile* geoFile =
new TFile(geoFileName,
"RECREATE");