35 {+15.15 , +9.15 , +3.15 , -9.15 , -15.15 , +15.15 , +9.15 , +3.15 ,
37 {+21.15 , +15.15 , +9.15 , +3.15 , -9.15 , -15.15 , -21.15 , +21.15 ,
38 +15.15 , +9.15 , +3.15 , -9.15 , -15.15 , -21.15 },
39 {+27.15 , +21.15 , +15.15 , +9.15 , +3.15 , -9.15 , -15.15 , -21.15 ,
40 -27.15 , +27.15 , +21.15 , +15.15 , +9.15 , +3.15 , -9.15 , -15.15 ,
43 {-0.15 , -0.15 , +2.85 , -0.15 , -0.15 , +0.15 , +0.15 , -2.85 ,
45 {-0.15 , -0.15 , -0.15 , +2.85 , -0.15 , -0.15 , -0.15 , +0.15 ,
46 +0.15 , +0.15 , -2.85 , +0.15 , +0.15 , +0.15 },
47 {-0.15 , -0.15 , -0.15 , -0.15 , +2.85 , -0.15 , -0.15 , -0.15 ,
48 -0.15 , +0.15 , +0.15 , +0.15 , +0.15 , -2.85 , +0.15 , +0.15 ,
51 {+1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 , +0.0 + 4.31 , +1.22 + 4.31 , +0.0 ,
52 +1.22 , 0.0 , +1.36 , +0.14 },
53 {+0.14 + 4.31 , +1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 , +0.0 + 4.31 ,
54 +1.22 + 4.31 , +0.0 + 4.31 , +1.22 , +0.0 , +1.22 , +0.0 , +1.36 ,
56 {+1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 ,
57 +0.0 + 4.31 , +1.22 + 4.31 , +0.0 + 4.31 , +1.22 + 4.31 , +0.0 , +1.22 ,
58 +0.0 , +1.22 , +0.0 , +1.36 , +0.14 , +1.36 , +0.14 }};
206 FairGeoMedium* mAir = geoMedia->getMedium(
"air");
208 Fatal(
"Main",
"FairMedium air not found");
209 geoBuild->createMedium(mAir);
212 Fatal(
"Main",
"Medium air not found");
215 FairGeoMedium* mCarbon = geoMedia->getMedium(
"carbon");
217 Fatal(
"Main",
"FairMedium carbon not found");
218 geoBuild->createMedium(mCarbon);
221 Fatal(
"Main",
"Medium carbon not found");
224 FairGeoMedium* mFiberGlass = geoMedia->getMedium(
"fiberglass");
226 Fatal(
"Main",
"FairMedium fiberglass not found");
227 geoBuild->createMedium(mFiberGlass);
230 Fatal(
"Main",
"Medium fiberglass not found");
233 FairGeoMedium* mCopper = geoMedia->getMedium(
"copper");
235 Fatal(
"Main",
"FairMedium copper not found");
236 geoBuild->createMedium(mCopper);
239 Fatal(
"Main",
"Medium copper not found");
242 FairGeoMedium* mSilicon = geoMedia->getMedium(
"silicon");
244 Fatal(
"Main",
"FairMedium silicon not found");
245 geoBuild->createMedium(mSilicon);
248 Fatal(
"Main",
"Medium silicon not found");
475 switch (module_type) {
491 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
503 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
509 Error(
"CreateModule()",
"Incorrect module type selected!!!");
518 sensor_zone_upper_part_bevelS->
SetName(
"sensor_zone_upper_part_bevelS");
536 Double_t x_pos_sensor_zone_bevel[5] = {
539 Double_t y_pos_sensor_zone_bevel[5] = {
544 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
555 sensor_zone_lower_part_bevelS->
SetName(
"sensor_zone_lower_part_bevelS");
573 Double_t x_pos_sensor_zone_bevel[5] = {
576 Double_t y_pos_sensor_zone_bevel[5] = {
581 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
596 new TGeoVolume(
"Sensor_zone_upper_part_rectV", sensor_zone_upper_part_rectS);
600 new TGeoVolume(
"Sensor_zone_upper_part_bevelV", sensor_zone_upper_part_bevelS);
604 new TGeoVolume(
"Sensor_zone_lower_part_rectV", sensor_zone_lower_part_rectS);
608 new TGeoVolume(
"Sensor_zone_lower_part_bevelV", sensor_zone_lower_part_bevelS);
612 if (silicon_medium) {
614 sensor_zone_upper_part_rectV->
SetMedium(silicon_medium);
615 sensor_zone_upper_part_bevelV->
SetMedium(silicon_medium);
616 sensor_zone_lower_part_rectV->
SetMedium(silicon_medium);
617 sensor_zone_lower_part_bevelV->
SetMedium(silicon_medium);
619 Fatal(
"Main",
"Invalid medium for modules and sensor zones!");
629 switch (module_type) {
638 sensor_zone_upper_part_pos->
SetDz(0.0);
645 sensor_zone_lower_part_pos->
SetDz(0.0);
647 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
648 moduleV->
AddNode(sensor_zone_lower_part_rectV, 0, sensor_zone_lower_part_pos);
657 sensor_zone_upper_part_pos->
SetDz(0.0);
659 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
670 sensor_zone_upper_part_pos->
SetDz(0.0);
674 sensor_zone_lower_part_bevel_pos->
SetDx(0.0);
677 sensor_zone_lower_part_bevel_pos->
SetDz(0.0);
679 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
680 moduleV->
AddNode(sensor_zone_lower_part_bevelV, 0, sensor_zone_lower_part_bevel_pos);
688 sensor_zone_upper_part_pos->
SetDx(0);
689 sensor_zone_upper_part_pos->
SetDy(0);
690 sensor_zone_upper_part_pos->
SetDz(0.0);
692 moduleV->
AddNode(sensor_zone_upper_part_bevelV, 0, sensor_zone_upper_part_pos);
697 Error(
"CreateModule()",
"Incorrect module type selected!!!");