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 ,
42 {+33.15 , +27.15 , +21.15 , +15.15 , +9.15 , +3.15 ,
43 -9.15 , -15.15 , -21.15 , -27.15 , -33.15 , +33.15 ,
44 +27.15 , +21.15 , +15.15 , +9.15 , +3.15 , -9.15 ,
45 -15.15 , -21.15 , -27.15 , -33.15 }};
47 {-0.15 , -0.15 , +2.85 , -0.15 , -0.15 , +0.15 , +0.15 , -2.85 ,
49 {-0.15 , -0.15 , -0.15 , +2.85 , -0.15 , -0.15 , -0.15 , +0.15 ,
50 +0.15 , +0.15 , -2.85 , +0.15 , +0.15 , +0.15 },
51 {-0.15 , -0.15 , -0.15 , -0.15 , +2.85 , -0.15 , -0.15 , -0.15 ,
52 -0.15 , +0.15 , +0.15 , +0.15 , +0.15 , -2.85 , +0.15 , +0.15 ,
54 {-0.15 , -0.15 , -0.15 , -0.15 , -0.15 , +2.85 , -0.15 , -0.15 ,
55 -0.15 , -0.15 , -0.15 , +0.15 , +0.15 , +0.15 , +0.15 , +0.15 ,
56 -2.85 , +0.15 , +0.15 , +0.15 , +0.15 , +0.15 }};
58 {+1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 , +0.0 + 4.31 , +1.22 + 4.31 , +0.0 ,
59 +1.22 , 0.0 , +1.36 , +0.14 },
60 {+0.14 + 4.31 , +1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 , +0.0 + 4.31 ,
61 +1.22 + 4.31 , +0.0 + 4.31 , +1.22 , +0.0 , +1.22 , +0.0 , +1.36 ,
63 {+1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 , +0.14 + 4.31 , +1.36 + 4.31 ,
64 +0.0 + 4.31 , +1.22 + 4.31 , +0.0 + 4.31 , +1.22 + 4.31 , +0.0 , +1.22 ,
65 +0.0 , +1.22 , +0.0 , +1.36 , +0.14 , +1.36 , +0.14 },
66 {+0.14 + 4.31 , +1.36 + 4.31 ,
67 +0.14 + 4.31 , +1.36 + 4.31 ,
68 +0.14 + 4.31 , +1.36 + 4.31 ,
69 +0.0 + 4.31 , +1.22 + 4.31 ,
70 +0.0 + 4.31 , +1.22 + 4.31 ,
602 switch (module_type) {
622 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
636 ((
TGeoXtru*)moduleS)->DefinePolygon(5, x_pos, y_pos);
642 Error(
"CreateModule()",
"Incorrect module type selected!!!");
646 TGeoShape* sensor_zone_upper_part_rectS =
652 sensor_zone_upper_part_bevelS->
SetName(
"sensor_zone_upper_part_bevelS");
666 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
673 +
XModuleSize[module_size] * 0.5 - x_delta_bottom_BP,
675 Double_t y_pos_sensor_zone_bevel[5] = {
682 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
683 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefineSection(0, -
ZModuleSize[module_size] * 0.5);
684 ((
TGeoXtru*)sensor_zone_upper_part_bevelS)->DefineSection(1, +
ZModuleSize[module_size] * 0.5);
688 TGeoShape* sensor_zone_lower_part_rectS =
694 sensor_zone_lower_part_bevelS->
SetName(
"sensor_zone_lower_part_bevelS");
708 Double_t x_delta_bottom_BP = (y_delta_bottom_BP - (
YBevelSize[module_size] + y_delta))
715 +
XModuleSize[module_size] * 0.5 - x_delta_bottom_BP,
717 Double_t y_pos_sensor_zone_bevel[5] = {
724 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefinePolygon(5, x_pos_sensor_zone_bevel, y_pos_sensor_zone_bevel);
725 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefineSection(0, -
ZModuleSize[module_size] * 0.5);
726 ((
TGeoXtru*)sensor_zone_lower_part_bevelS)->DefineSection(1, +
ZModuleSize[module_size] * 0.5);
739 new TGeoVolume(
"Sensor_zone_upper_part_rectV", sensor_zone_upper_part_rectS);
743 new TGeoVolume(
"Sensor_zone_upper_part_bevelV", sensor_zone_upper_part_bevelS);
747 new TGeoVolume(
"Sensor_zone_lower_part_rectV", sensor_zone_lower_part_rectS);
751 new TGeoVolume(
"Sensor_zone_lower_part_bevelV", sensor_zone_lower_part_bevelS);
755 if (silicon_medium) {
757 sensor_zone_upper_part_rectV->
SetMedium(silicon_medium);
758 sensor_zone_upper_part_bevelV->
SetMedium(silicon_medium);
759 sensor_zone_lower_part_rectV->
SetMedium(silicon_medium);
760 sensor_zone_lower_part_bevelV->
SetMedium(silicon_medium);
762 Fatal(
"Main",
"Invalid medium for modules and sensor zones!");
772 switch (module_type) {
780 sensor_zone_upper_part_pos->
SetDy(
783 sensor_zone_upper_part_pos->
SetDz(0.0);
789 sensor_zone_lower_part_pos->
SetDy(
792 sensor_zone_lower_part_pos->
SetDz(0.0);
794 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
795 moduleV->
AddNode(sensor_zone_lower_part_rectV, 0, sensor_zone_lower_part_pos);
806 sensor_zone_upper_part_pos->
SetDz(0.0);
808 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
818 sensor_zone_upper_part_pos->
SetDy(
821 sensor_zone_upper_part_pos->
SetDz(0.0);
825 sensor_zone_lower_part_bevel_pos->
SetDx(0.0);
829 sensor_zone_lower_part_bevel_pos->
SetDz(0.0);
831 moduleV->
AddNode(sensor_zone_upper_part_rectV, 0, sensor_zone_upper_part_pos);
832 moduleV->
AddNode(sensor_zone_lower_part_bevelV, 0, sensor_zone_lower_part_bevel_pos);
840 sensor_zone_upper_part_pos->
SetDx(0);
841 sensor_zone_upper_part_pos->
SetDy(0);
842 sensor_zone_upper_part_pos->
SetDz(0.0);
844 moduleV->
AddNode(sensor_zone_upper_part_bevelV, 0, sensor_zone_upper_part_pos);
849 Error(
"CreateModule()",
"Incorrect module type selected!!!");