BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
create_rootgeom_SiMD.C
Go to the documentation of this file.
2#include "TGeoCone.h"
3#include "TGeoManager.h"
4#include "TGeoPara.h"
5#include "TGeoTrd2.h"
6#include "TGeoTube.h"
7
8#include <iomanip>
9#include <iostream>
10
11R__ADD_INCLUDE_PATH($VMCWORKDIR)
12#include "macro/run/bmnloadlibs.C"
13//---------------------------
14//---------------------------
15
17
18// Detector's position
19// const Double_t tanpipeangle = 100./10. ; // tangent of pipe angle
22// const Double_t SID_Zpos = 16.8; //cm
23const Double_t Sid_New_Zpos = 12.; // cm
24
26
27const Double_t dphia = 5.6;
28
29const Double_t Frame_Xsize = 24.3; // cm
30const Double_t Frame_Ysize = 24.3; // cm
31const Double_t Frame_Zsize = 0.1; // cm
32
34{
35
36 // ------- Load media from media file -----------------------------------
37 FairGeoLoader* geoLoad = new FairGeoLoader("TGeo", "FairGeoLoader");
38 FairGeoInterface* geoFace = geoLoad->getGeoInterface();
39 TString geoPath = gSystem->Getenv("VMCWORKDIR");
40 TString medFile = geoPath + "/geometry/media.geo";
41 geoFace->setMediaFile(medFile);
42 geoFace->readMedia();
44 // --------------------------------------------------------------------------
45
46 // ------- Geometry file name (output) ----------------------------------
47 const TString geoDetectorName = "SiMD";
48 const TString geoDetectorVersion = "run8_v1";
49 TString geoFileName = geoPath + "/geometry/" + geoDetectorName + "_" + geoDetectorVersion + ".root";
50 // --------------------------------------------------------------------------
51
52 // ----------------- Get and create the required media -----------------
53 FairGeoMedia* geoMedia = geoFace->getMedia();
54 FairGeoBuilder* geoBuild = geoLoad->getGeoBuilder();
55
56 FairGeoMedium* mAir = geoMedia->getMedium("air");
57 if (!mAir)
58 Fatal("Main", "FairMedium air not found");
59 geoBuild->createMedium(mAir);
60 TGeoMedium* pMedAir = gGeoMan->GetMedium("air");
61 if (!pMedAir)
62 Fatal("Main", "Medium air not found");
63
64 FairGeoMedium* msilicon = geoMedia->getMedium("silicon");
65 if (!msilicon)
66 Fatal("Main", "FairMedium silicon not found");
67 geoBuild->createMedium(msilicon);
68 TGeoMedium* pMedsilicon = gGeoMan->GetMedium("silicon");
69 if (!pMedsilicon)
70 Fatal("Main", "Medium silicon not found");
71
72 FairGeoMedium* maluminium = geoMedia->getMedium("aluminium");
73 if (!maluminium)
74 Fatal("Main", "FairMedium aluminium not found");
75 geoBuild->createMedium(maluminium);
76 TGeoMedium* pMedaluminium = gGeoMan->GetMedium("aluminium");
77 if (!pMedaluminium)
78 Fatal("Main", "Medium aluminium not found");
79
80 // --------------------------------------------------------------------------
81
82 // -------------- Create geometry and top volume -------------------------
83 gGeoMan = (TGeoManager*)gROOT->FindObject("FAIRGeom");
84 gGeoMan->SetName(geoDetectorName + "_geom");
85 TGeoVolume* top = new TGeoVolumeAssembly("TOP");
86 top->SetMedium(pMedAir);
87 gGeoMan->SetTopVolume(top);
88 // gGeoMan->SetTopVisible(1);
89 // --------------------------------------------------------------------------
90
91 // Define TOP Geometry
92 TGeoVolume* SidNewTop = new TGeoVolumeAssembly(geoDetectorName);
93 SidNewTop->SetMedium(pMedAir);
94
95 // Transformations (translations, rotations and scales)
96 TGeoTranslation* Sid_new_Pos_trans1 =
97 new TGeoTranslation("Sid_new_Pos_trans1", Sid_New_Xpos, Sid_New_Ypos, Sid_New_Zpos);
98 // TGeoTranslation *Sid_new_Pos_trans2 = new TGeoTranslation("Sid_new_Pos_trans2", -9.24, Sid_New_Ypos,
99 // Sid_New_Zpos);
100 // SetPos_trans->RegisterYourself();
101
102 TGeoTranslation* Frame_pos = new TGeoTranslation("Frame_pos", 0, 0, 0);
103
104 TGeoCombiTrans* B_tube_pos = new TGeoCombiTrans("B_tube_pos", 0, 0, 0.1, new TGeoRotation("rot1", 0, 0, 0));
105 B_tube_pos->RegisterYourself();
106
107 TGeoCombiTrans* A_box_pos = new TGeoCombiTrans("A_box_pos", 0, 0, 0.1, new TGeoRotation("rot2", 0, 0, 0));
108 A_box_pos->RegisterYourself();
109
110 TGeoCombiTrans* left_part_pos =
111 new TGeoCombiTrans("left_part_pos", 15.6, 0, 0.1, new TGeoRotation("rot3", 0, 0, 0));
112 left_part_pos->RegisterYourself();
113
114 TGeoCombiTrans* right_part_pos =
115 new TGeoCombiTrans("right_part_pos", -15.6, 0, 0.1, new TGeoRotation("rot4", 0, 0, 0));
116 right_part_pos->RegisterYourself();
117
118 TGeoCombiTrans* skin_tube_pos = new TGeoCombiTrans("skin_tube_pos", 0, 0, -0.3, new TGeoRotation("rot5", 0, 0, 0));
119 skin_tube_pos->RegisterYourself();
120
121 TGeoBBox* A_box = new TGeoBBox("A_box", Frame_Xsize / 2, Frame_Ysize / 2, Frame_Zsize / 2);
122 TGeoBBox* Sm_box = new TGeoBBox("Sm_box", 7. / 2., 18.4 / 2., Frame_Zsize / 2);
123 TGeoTube* B_tube = new TGeoTube("B_tube", 0., 20. / 2., 4.);
124 TGeoTube* Skin_tube = new TGeoTube("Skin_tube", 5.1 / 2, 20. / 2., 0.005);
125
126 TGeoCompositeShape* Frame_box = new TGeoCompositeShape(
127 "Frame_box", "A_box:A_box_pos - B_tube:B_tube_pos + Sm_box:right_part_pos + Sm_box:left_part_pos");
128
129 const Double_t rr = 5.8;
130
131 Double_t phi = 90 * TMath::DegToRad(), delta_phi = 360. / 64., dphi = delta_phi * TMath::DegToRad();
132
133 TGeoTrap* sid_trapv4 =
134 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
135 TGeoTrap* sid_trapv3 =
136 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
137 TGeoTrap* sid_trapv2 =
138 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
139 TGeoTrap* sid_trapv1 =
140 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
141
142 TGeoTrap* sid_trapv5 =
143 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
144 TGeoTrap* sid_trapv6 =
145 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
146 TGeoTrap* sid_trapv7 =
147 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
148 TGeoTrap* sid_trapv8 =
149 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
150
151 TGeoTrap* sid_trapv12 =
152 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
153 TGeoTrap* sid_trapv11 =
154 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
155 TGeoTrap* sid_trapv10 =
156 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
157 TGeoTrap* sid_trapv9 =
158 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
159
160 TGeoTrap* sid_trapv13 =
161 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
162 TGeoTrap* sid_trapv14 =
163 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
164 TGeoTrap* sid_trapv15 =
165 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
166 TGeoTrap* sid_trapv16 =
167 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
168
169 TGeoTrap* sid_trapv20 =
170 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
171 TGeoTrap* sid_trapv19 =
172 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
173 TGeoTrap* sid_trapv18 =
174 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
175 TGeoTrap* sid_trapv17 =
176 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
177
178 TGeoTrap* sid_trapv21 =
179 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
180 TGeoTrap* sid_trapv22 =
181 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
182 TGeoTrap* sid_trapv23 =
183 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
184 TGeoTrap* sid_trapv24 =
185 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
186
187 TGeoTrap* sid_trapv28 =
188 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
189 TGeoTrap* sid_trapv27 =
190 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
191 TGeoTrap* sid_trapv26 =
192 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
193 TGeoTrap* sid_trapv25 =
194 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
195
196 TGeoTrap* sid_trapv29 =
197 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
198 TGeoTrap* sid_trapv30 =
199 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
200 TGeoTrap* sid_trapv31 =
201 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
202 TGeoTrap* sid_trapv32 =
203 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
204
205 TGeoTrap* sid_trapv36 =
206 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
207 TGeoTrap* sid_trapv35 =
208 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
209 TGeoTrap* sid_trapv34 =
210 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
211 TGeoTrap* sid_trapv33 =
212 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
213
214 TGeoTrap* sid_trapv37 =
215 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
216 TGeoTrap* sid_trapv38 =
217 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
218 TGeoTrap* sid_trapv39 =
219 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
220 TGeoTrap* sid_trapv40 =
221 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
222
223 TGeoTrap* sid_trapv44 =
224 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
225 TGeoTrap* sid_trapv43 =
226 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
227 TGeoTrap* sid_trapv42 =
228 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
229 TGeoTrap* sid_trapv41 =
230 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
231
232 TGeoTrap* sid_trapv45 =
233 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
234 TGeoTrap* sid_trapv46 =
235 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
236 TGeoTrap* sid_trapv47 =
237 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
238 TGeoTrap* sid_trapv48 =
239 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
240
241 TGeoTrap* sid_trapv52 =
242 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
243 TGeoTrap* sid_trapv51 =
244 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
245 TGeoTrap* sid_trapv50 =
246 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
247 TGeoTrap* sid_trapv49 =
248 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
249
250 TGeoTrap* sid_trapv53 =
251 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
252 TGeoTrap* sid_trapv54 =
253 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
254 TGeoTrap* sid_trapv55 =
255 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
256 TGeoTrap* sid_trapv56 =
257 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
258
259 TGeoTrap* sid_trapv60 =
260 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, 3, 3.1045, 0.461, 0.155, 3);
261 TGeoTrap* sid_trapv59 =
262 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, 8.5, 3.1155, 0.47, 0.158, 8.5);
263 TGeoTrap* sid_trapv58 =
264 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, 14, 3.128, 0.4885, 0.1645, 14);
265 TGeoTrap* sid_trapv57 =
266 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, 19.5, 3.138, 0.4355, 0.093, 19.5);
267
268 TGeoTrap* sid_trapv61 =
269 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1045, 0.461, 0.155, -3, 3.1045, 0.461, 0.155, -3);
270 TGeoTrap* sid_trapv62 =
271 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.1155, 0.47, 0.158, -8.5, 3.1155, 0.47, 0.158, -8.5);
272 TGeoTrap* sid_trapv63 =
273 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.128, 0.4885, 0.1645, -14, 3.128, 0.4885, 0.1645, -14);
274 TGeoTrap* sid_trapv64 =
275 new TGeoTrap(ZLength_SIDActiveVolume / 2, 0, 0, 3.138, 0.4355, 0.093, -19.5, 3.138, 0.4355, 0.093, -19.5);
276
277 //*****************************************************************************************************
278
279 TGeoCombiTrans* position29 = new TGeoCombiTrans(1.95, -5.87, 0, new TGeoRotation("rot29", 0, 0., 22.5));
280 TGeoCombiTrans* position30 = new TGeoCombiTrans(1.39, -6.12, 0, new TGeoRotation("rot30", 0, 0., 22.5));
281 TGeoCombiTrans* position31 = new TGeoCombiTrans(0.8, -6.37, 0, new TGeoRotation("rot31", 0, 0., 22.5));
282 TGeoCombiTrans* position32 = new TGeoCombiTrans(0.25, -6.6, 0, new TGeoRotation("rot32", 0, 0., 22.5));
283
284 TGeoCombiTrans* position28 = new TGeoCombiTrans(2.53, -5.64, 0, new TGeoRotation("rot28", 0, 0., 22.5));
285 TGeoCombiTrans* position27 = new TGeoCombiTrans(3.1, -5.4, 0, new TGeoRotation("rot27", 0, 0., 22.5));
286 TGeoCombiTrans* position26 = new TGeoCombiTrans(3.69, -5.16, 0, new TGeoRotation("rot26", 0, 0., 22.5));
287 TGeoCombiTrans* position25 = new TGeoCombiTrans(4.25, -4.94, 0, new TGeoRotation("rot25", 0, 0., 22.5));
288
289 TGeoCombiTrans* position21 = new TGeoCombiTrans(5.54, -2.73, 0, new TGeoRotation("rot21", 0, 0., 67.5));
290 TGeoCombiTrans* position22 = new TGeoCombiTrans(5.3, -3.3, 0, new TGeoRotation("rot22", 0, 0., 67.5));
291 TGeoCombiTrans* position23 = new TGeoCombiTrans(5.06, -3.89, 0, new TGeoRotation("rot23", 0, 0., 67.5));
292 TGeoCombiTrans* position24 = new TGeoCombiTrans(4.84, -4.45, 0, new TGeoRotation("rot24", 0, 0., 67.5));
293
294 TGeoCombiTrans* position20 = new TGeoCombiTrans(5.77, -2.15, 0, new TGeoRotation("rot20", 0, 0., 67.5));
295 TGeoCombiTrans* position19 = new TGeoCombiTrans(6.02, -1.59, 0, new TGeoRotation("rot19", 0, 0., 67.5));
296 TGeoCombiTrans* position18 = new TGeoCombiTrans(6.27, -1., 0, new TGeoRotation("rot18", 0, 0., 67.5));
297 TGeoCombiTrans* position17 = new TGeoCombiTrans(6.5, -0.45, 0, new TGeoRotation("rot17", 0, 0., 67.5));
298
299 //**********************************************************************************************
300
301 TGeoCombiTrans* position61 = new TGeoCombiTrans(-1.95, 5.87, 0, new TGeoRotation("rot61", 0, 0., 202.5));
302 TGeoCombiTrans* position62 = new TGeoCombiTrans(-1.39, 6.12, 0, new TGeoRotation("rot62", 0, 0., 202.5));
303 TGeoCombiTrans* position63 = new TGeoCombiTrans(-0.8, 6.37, 0, new TGeoRotation("rot63", 0, 0., 202.5));
304 TGeoCombiTrans* position64 = new TGeoCombiTrans(-0.25, 6.6, 0, new TGeoRotation("rot64", 0, 0., 202.5));
305
306 TGeoCombiTrans* position60 = new TGeoCombiTrans(-2.53, 5.64, 0, new TGeoRotation("rot60", 0, 0., 202.5));
307 TGeoCombiTrans* position59 = new TGeoCombiTrans(-3.1, 5.4, 0, new TGeoRotation("rot59", 0, 0., 202.5));
308 TGeoCombiTrans* position58 = new TGeoCombiTrans(-3.69, 5.16, 0, new TGeoRotation("rot58", 0, 0., 202.5));
309 TGeoCombiTrans* position57 = new TGeoCombiTrans(-4.25, 4.94, 0, new TGeoRotation("rot57", 0, 0., 202.5));
310
311 //**********************************************************************************************
312
313 TGeoCombiTrans* position53 = new TGeoCombiTrans(-5.54, 2.73, 0, new TGeoRotation("rot53", 0, 0., 247.5));
314 TGeoCombiTrans* position54 = new TGeoCombiTrans(-5.3, 3.3, 0, new TGeoRotation("rot54", 0, 0., 247.5));
315 TGeoCombiTrans* position55 = new TGeoCombiTrans(-5.06, 3.89, 0, new TGeoRotation("rot55", 0, 0., 247.5));
316 TGeoCombiTrans* position56 = new TGeoCombiTrans(-4.84, 4.45, 0, new TGeoRotation("rot56", 0, 0., 247.5));
317
318 TGeoCombiTrans* position52 = new TGeoCombiTrans(-5.77, 2.15, 0, new TGeoRotation("rot52", 0, 0., 247.5));
319 TGeoCombiTrans* position51 = new TGeoCombiTrans(-6.02, 1.59, 0, new TGeoRotation("rot51", 0, 0., 247.5));
320 TGeoCombiTrans* position50 = new TGeoCombiTrans(-6.27, 1., 0, new TGeoRotation("rot50", 0, 0., 247.5));
321 TGeoCombiTrans* position49 = new TGeoCombiTrans(-6.5, 0.45, 0, new TGeoRotation("rot49", 0, 0., 247.5));
322
323 //**********************************************************************************************
324
325 TGeoCombiTrans* position5 = new TGeoCombiTrans(2.73, 5.54, 0, new TGeoRotation("rot5", 0, 0., 157.5));
326 TGeoCombiTrans* position6 = new TGeoCombiTrans(3.3, 5.3, 0, new TGeoRotation("rot6", 0, 0., 157.5));
327 TGeoCombiTrans* position7 = new TGeoCombiTrans(3.89, 5.06, 0, new TGeoRotation("rot7", 0, 0., 157.5));
328 TGeoCombiTrans* position8 = new TGeoCombiTrans(4.45, 4.84, 0, new TGeoRotation("rot8", 0, 0., 157.5));
329
330 TGeoCombiTrans* position4 = new TGeoCombiTrans(2.15, 5.77, 0, new TGeoRotation("rot4", 0, 0., 157.5));
331 TGeoCombiTrans* position3 = new TGeoCombiTrans(1.59, 6.02, 0, new TGeoRotation("rot3", 0, 0., 157.5));
332 TGeoCombiTrans* position2 = new TGeoCombiTrans(1., 6.27, 0, new TGeoRotation("rot2", 0, 0., 157.5));
333 TGeoCombiTrans* position1 = new TGeoCombiTrans(0.45, 6.5, 0, new TGeoRotation("rot1", 0, 0., 157.5));
334
335 //**********************************************************************************************
336
337 TGeoCombiTrans* position37 = new TGeoCombiTrans(-2.73, -5.54, 0, new TGeoRotation("rot37", 0, 0., 337.5));
338 TGeoCombiTrans* position38 = new TGeoCombiTrans(-3.3, -5.3, 0, new TGeoRotation("rot38", 0, 0., 337.5));
339 TGeoCombiTrans* position39 = new TGeoCombiTrans(-3.89, -5.06, 0, new TGeoRotation("ro39", 0, 0., 337.5));
340 TGeoCombiTrans* position40 = new TGeoCombiTrans(-4.45, -4.84, 0, new TGeoRotation("rot40", 0, 0., 337.5));
341
342 TGeoCombiTrans* position36 = new TGeoCombiTrans(-2.15, -5.77, 0, new TGeoRotation("rot36", 0, 0., 337.5));
343 TGeoCombiTrans* position35 = new TGeoCombiTrans(-1.59, -6.02, 0, new TGeoRotation("rot35", 0, 0., 337.5));
344 TGeoCombiTrans* position34 = new TGeoCombiTrans(-1., -6.27, 0, new TGeoRotation("rot34", 0, 0., 337.5));
345 TGeoCombiTrans* position33 = new TGeoCombiTrans(-0.45, -6.5, 0, new TGeoRotation("rot33", 0, 0., 337.5));
346
347 //**********************************************************************************************
348
349 TGeoCombiTrans* position13 = new TGeoCombiTrans(5.87, 1.95, 0, new TGeoRotation("rot13", 0, 0., 112.5));
350 TGeoCombiTrans* position14 = new TGeoCombiTrans(6.12, 1.39, 0, new TGeoRotation("rot14", 0, 0., 112.5));
351 TGeoCombiTrans* position15 = new TGeoCombiTrans(6.37, 0.8, 0, new TGeoRotation("rot15", 0, 0., 112.5));
352 TGeoCombiTrans* position16 = new TGeoCombiTrans(6.6, 0.25, 0, new TGeoRotation("rot16", 0, 0., 112.5));
353
354 TGeoCombiTrans* position12 = new TGeoCombiTrans(5.64, 2.53, 0, new TGeoRotation("rot12", 0, 0., 112.5));
355 TGeoCombiTrans* position11 = new TGeoCombiTrans(5.4, 3.1, 0, new TGeoRotation("rot11", 0, 0., 112.5));
356 TGeoCombiTrans* position10 = new TGeoCombiTrans(5.16, 3.69, 0, new TGeoRotation("rot10", 0, 0., 112.5));
357 TGeoCombiTrans* position9 = new TGeoCombiTrans(4.94, 4.25, 0, new TGeoRotation("rot9", 0, 0., 112.5));
358
359 //**********************************************************************************************
360
361 TGeoCombiTrans* position45 = new TGeoCombiTrans(-5.87, -1.95, 0, new TGeoRotation("rot45", 0, 0., 292.5));
362 TGeoCombiTrans* position46 = new TGeoCombiTrans(-6.12, -1.39, 0, new TGeoRotation("rot46", 0, 0., 292.5));
363 TGeoCombiTrans* position47 = new TGeoCombiTrans(-6.37, -0.8, 0, new TGeoRotation("rot47", 0, 0., 292.5));
364 TGeoCombiTrans* position48 = new TGeoCombiTrans(-6.6, -0.25, 0, new TGeoRotation("rot48", 0, 0., 292.5));
365
366 TGeoCombiTrans* position44 = new TGeoCombiTrans(-5.64, -2.53, 0, new TGeoRotation("rot44", 0, 0., 292.5));
367 TGeoCombiTrans* position43 = new TGeoCombiTrans(-5.4, -3.1, 0, new TGeoRotation("rot43", 0, 0., 292.5));
368 TGeoCombiTrans* position42 = new TGeoCombiTrans(-5.16, -3.69, 0, new TGeoRotation("rot42", 0, 0., 292.5));
369 TGeoCombiTrans* position41 = new TGeoCombiTrans(-4.94, -4.25, 0, new TGeoRotation("rot41", 0, 0., 292.5));
370
371 TGeoVolume* SiD_ActiveVolV1 = new TGeoVolume("SiD_ActiveVolV1", sid_trapv1);
372 SiD_ActiveVolV1->SetMedium(pMedsilicon);
373 SiD_ActiveVolV1->SetLineColor(kRed);
374
375 TGeoVolume* SiD_ActiveVolV2 = new TGeoVolume("SiD_ActiveVolV2", sid_trapv2);
376 SiD_ActiveVolV2->SetMedium(pMedsilicon);
377 SiD_ActiveVolV2->SetLineColor(kRed);
378
379 TGeoVolume* SiD_ActiveVolV3 = new TGeoVolume("SiD_ActiveVolV3", sid_trapv3);
380 SiD_ActiveVolV3->SetMedium(pMedsilicon);
381 SiD_ActiveVolV3->SetLineColor(kRed);
382
383 TGeoVolume* SiD_ActiveVolV4 = new TGeoVolume("SiD_ActiveVolV4", sid_trapv4);
384 SiD_ActiveVolV4->SetMedium(pMedsilicon);
385 SiD_ActiveVolV4->SetLineColor(kRed);
386 //********************************************************************************
387 TGeoVolume* SiD_ActiveVolV5 = new TGeoVolume("SiD_ActiveVolV5", sid_trapv5);
388 SiD_ActiveVolV5->SetMedium(pMedsilicon);
389 SiD_ActiveVolV5->SetLineColor(kRed);
390
391 TGeoVolume* SiD_ActiveVolV6 = new TGeoVolume("SiD_ActiveVolV6", sid_trapv6);
392 SiD_ActiveVolV6->SetMedium(pMedsilicon);
393 SiD_ActiveVolV6->SetLineColor(kRed);
394
395 TGeoVolume* SiD_ActiveVolV7 = new TGeoVolume("SiD_ActiveVolV7", sid_trapv7);
396 SiD_ActiveVolV7->SetMedium(pMedsilicon);
397 SiD_ActiveVolV7->SetLineColor(kRed);
398
399 TGeoVolume* SiD_ActiveVolV8 = new TGeoVolume("SiD_ActiveVolV8", sid_trapv8);
400 SiD_ActiveVolV8->SetMedium(pMedsilicon);
401 SiD_ActiveVolV8->SetLineColor(kRed);
402
403 TGeoVolume* SiD_ActiveVolV9 = new TGeoVolume("SiD_ActiveVolV9", sid_trapv1);
404 SiD_ActiveVolV9->SetMedium(pMedsilicon);
405 SiD_ActiveVolV9->SetLineColor(kRed);
406
407 TGeoVolume* SiD_ActiveVolV10 = new TGeoVolume("SiD_ActiveVolV10", sid_trapv2);
408 SiD_ActiveVolV10->SetMedium(pMedsilicon);
409 SiD_ActiveVolV10->SetLineColor(kRed);
410
411 TGeoVolume* SiD_ActiveVolV11 = new TGeoVolume("SiD_ActiveVolV11", sid_trapv3);
412 SiD_ActiveVolV11->SetMedium(pMedsilicon);
413 SiD_ActiveVolV11->SetLineColor(kRed);
414
415 TGeoVolume* SiD_ActiveVolV12 = new TGeoVolume("SiD_ActiveVolV12", sid_trapv4);
416 SiD_ActiveVolV12->SetMedium(pMedsilicon);
417 SiD_ActiveVolV12->SetLineColor(kRed);
418 //********************************************************************************
419 TGeoVolume* SiD_ActiveVolV13 = new TGeoVolume("SiD_ActiveVolV13", sid_trapv5);
420 SiD_ActiveVolV13->SetMedium(pMedsilicon);
421 SiD_ActiveVolV13->SetLineColor(kRed);
422
423 TGeoVolume* SiD_ActiveVolV14 = new TGeoVolume("SiD_ActiveVolV14", sid_trapv6);
424 SiD_ActiveVolV14->SetMedium(pMedsilicon);
425 SiD_ActiveVolV14->SetLineColor(kRed);
426
427 TGeoVolume* SiD_ActiveVolV15 = new TGeoVolume("SiD_ActiveVolV15", sid_trapv7);
428 SiD_ActiveVolV15->SetMedium(pMedsilicon);
429 SiD_ActiveVolV15->SetLineColor(kRed);
430
431 TGeoVolume* SiD_ActiveVolV16 = new TGeoVolume("SiD_ActiveVolV16", sid_trapv8);
432 SiD_ActiveVolV16->SetMedium(pMedsilicon);
433 SiD_ActiveVolV16->SetLineColor(kRed);
434
435 TGeoVolume* SiD_ActiveVolV17 = new TGeoVolume("SiD_ActiveVolV17", sid_trapv1);
436 SiD_ActiveVolV17->SetMedium(pMedsilicon);
437 SiD_ActiveVolV17->SetLineColor(kRed);
438
439 TGeoVolume* SiD_ActiveVolV18 = new TGeoVolume("SiD_ActiveVolV18", sid_trapv2);
440 SiD_ActiveVolV18->SetMedium(pMedsilicon);
441 SiD_ActiveVolV18->SetLineColor(kRed);
442
443 TGeoVolume* SiD_ActiveVolV19 = new TGeoVolume("SiD_ActiveVolV19", sid_trapv3);
444 SiD_ActiveVolV19->SetMedium(pMedsilicon);
445 SiD_ActiveVolV19->SetLineColor(kRed);
446
447 TGeoVolume* SiD_ActiveVolV20 = new TGeoVolume("SiD_ActiveVolV20", sid_trapv4);
448 SiD_ActiveVolV20->SetMedium(pMedsilicon);
449 SiD_ActiveVolV20->SetLineColor(kRed);
450 //********************************************************************************
451 TGeoVolume* SiD_ActiveVolV21 = new TGeoVolume("SiD_ActiveVolV21", sid_trapv5);
452 SiD_ActiveVolV21->SetMedium(pMedsilicon);
453 SiD_ActiveVolV21->SetLineColor(kRed);
454
455 TGeoVolume* SiD_ActiveVolV22 = new TGeoVolume("SiD_ActiveVolV22", sid_trapv6);
456 SiD_ActiveVolV22->SetMedium(pMedsilicon);
457 SiD_ActiveVolV22->SetLineColor(kRed);
458
459 TGeoVolume* SiD_ActiveVolV23 = new TGeoVolume("SiD_ActiveVolV23", sid_trapv7);
460 SiD_ActiveVolV23->SetMedium(pMedsilicon);
461 SiD_ActiveVolV23->SetLineColor(kRed);
462
463 TGeoVolume* SiD_ActiveVolV24 = new TGeoVolume("SiD_ActiveVolV24", sid_trapv8);
464 SiD_ActiveVolV24->SetMedium(pMedsilicon);
465 SiD_ActiveVolV24->SetLineColor(kRed);
466
467 TGeoVolume* SiD_ActiveVolV25 = new TGeoVolume("SiD_ActiveVolV25", sid_trapv1);
468 SiD_ActiveVolV25->SetMedium(pMedsilicon);
469 SiD_ActiveVolV25->SetLineColor(kRed);
470
471 TGeoVolume* SiD_ActiveVolV26 = new TGeoVolume("SiD_ActiveVolV26", sid_trapv2);
472 SiD_ActiveVolV26->SetMedium(pMedsilicon);
473 SiD_ActiveVolV26->SetLineColor(kRed);
474
475 TGeoVolume* SiD_ActiveVolV27 = new TGeoVolume("SiD_ActiveVolV27", sid_trapv3);
476 SiD_ActiveVolV27->SetMedium(pMedsilicon);
477 SiD_ActiveVolV27->SetLineColor(kRed);
478
479 TGeoVolume* SiD_ActiveVolV28 = new TGeoVolume("SiD_ActiveVolV28", sid_trapv4);
480 SiD_ActiveVolV28->SetMedium(pMedsilicon);
481 SiD_ActiveVolV28->SetLineColor(kRed);
482 //********************************************************************************
483 TGeoVolume* SiD_ActiveVolV29 = new TGeoVolume("SiD_ActiveVolV29", sid_trapv5);
484 SiD_ActiveVolV29->SetMedium(pMedsilicon);
485 SiD_ActiveVolV29->SetLineColor(kRed);
486
487 TGeoVolume* SiD_ActiveVolV30 = new TGeoVolume("SiD_ActiveVolV30", sid_trapv6);
488 SiD_ActiveVolV30->SetMedium(pMedsilicon);
489 SiD_ActiveVolV30->SetLineColor(kRed);
490
491 TGeoVolume* SiD_ActiveVolV31 = new TGeoVolume("SiD_ActiveVolV31", sid_trapv7);
492 SiD_ActiveVolV31->SetMedium(pMedsilicon);
493 SiD_ActiveVolV31->SetLineColor(kRed);
494
495 TGeoVolume* SiD_ActiveVolV32 = new TGeoVolume("SiD_ActiveVolV32", sid_trapv8);
496 SiD_ActiveVolV32->SetMedium(pMedsilicon);
497 SiD_ActiveVolV32->SetLineColor(kRed);
498
499 TGeoVolume* SiD_ActiveVolV33 = new TGeoVolume("SiD_ActiveVolV33", sid_trapv1);
500 SiD_ActiveVolV33->SetMedium(pMedsilicon);
501 SiD_ActiveVolV33->SetLineColor(kRed);
502
503 TGeoVolume* SiD_ActiveVolV34 = new TGeoVolume("SiD_ActiveVolV34", sid_trapv2);
504 SiD_ActiveVolV34->SetMedium(pMedsilicon);
505 SiD_ActiveVolV34->SetLineColor(kRed);
506
507 TGeoVolume* SiD_ActiveVolV35 = new TGeoVolume("SiD_ActiveVolV35", sid_trapv3);
508 SiD_ActiveVolV35->SetMedium(pMedsilicon);
509 SiD_ActiveVolV35->SetLineColor(kRed);
510
511 TGeoVolume* SiD_ActiveVolV36 = new TGeoVolume("SiD_ActiveVolV36", sid_trapv4);
512 SiD_ActiveVolV36->SetMedium(pMedsilicon);
513 SiD_ActiveVolV36->SetLineColor(kRed);
514 //********************************************************************************
515 TGeoVolume* SiD_ActiveVolV37 = new TGeoVolume("SiD_ActiveVolV37", sid_trapv5);
516 SiD_ActiveVolV37->SetMedium(pMedsilicon);
517 SiD_ActiveVolV37->SetLineColor(kRed);
518
519 TGeoVolume* SiD_ActiveVolV38 = new TGeoVolume("SiD_ActiveVolV38", sid_trapv6);
520 SiD_ActiveVolV38->SetMedium(pMedsilicon);
521 SiD_ActiveVolV38->SetLineColor(kRed);
522
523 TGeoVolume* SiD_ActiveVolV39 = new TGeoVolume("SiD_ActiveVolV39", sid_trapv7);
524 SiD_ActiveVolV39->SetMedium(pMedsilicon);
525 SiD_ActiveVolV39->SetLineColor(kRed);
526
527 TGeoVolume* SiD_ActiveVolV40 = new TGeoVolume("SiD_ActiveVolV40", sid_trapv8);
528 SiD_ActiveVolV40->SetMedium(pMedsilicon);
529 SiD_ActiveVolV40->SetLineColor(kRed);
530
531 TGeoVolume* SiD_ActiveVolV41 = new TGeoVolume("SiD_ActiveVolV41", sid_trapv1);
532 SiD_ActiveVolV41->SetMedium(pMedsilicon);
533 SiD_ActiveVolV41->SetLineColor(kRed);
534
535 TGeoVolume* SiD_ActiveVolV42 = new TGeoVolume("SiD_ActiveVolV42", sid_trapv2);
536 SiD_ActiveVolV42->SetMedium(pMedsilicon);
537 SiD_ActiveVolV42->SetLineColor(kRed);
538
539 TGeoVolume* SiD_ActiveVolV43 = new TGeoVolume("SiD_ActiveVolV43", sid_trapv3);
540 SiD_ActiveVolV43->SetMedium(pMedsilicon);
541 SiD_ActiveVolV43->SetLineColor(kRed);
542
543 TGeoVolume* SiD_ActiveVolV44 = new TGeoVolume("SiD_ActiveVolV44", sid_trapv4);
544 SiD_ActiveVolV44->SetMedium(pMedsilicon);
545 SiD_ActiveVolV44->SetLineColor(kRed);
546 //********************************************************************************
547 TGeoVolume* SiD_ActiveVolV45 = new TGeoVolume("SiD_ActiveVolV45", sid_trapv5);
548 SiD_ActiveVolV45->SetMedium(pMedsilicon);
549 SiD_ActiveVolV45->SetLineColor(kRed);
550
551 TGeoVolume* SiD_ActiveVolV46 = new TGeoVolume("SiD_ActiveVolV46", sid_trapv6);
552 SiD_ActiveVolV46->SetMedium(pMedsilicon);
553 SiD_ActiveVolV46->SetLineColor(kRed);
554
555 TGeoVolume* SiD_ActiveVolV47 = new TGeoVolume("SiD_ActiveVolV47", sid_trapv7);
556 SiD_ActiveVolV47->SetMedium(pMedsilicon);
557 SiD_ActiveVolV47->SetLineColor(kRed);
558
559 TGeoVolume* SiD_ActiveVolV48 = new TGeoVolume("SiD_ActiveVolV48", sid_trapv8);
560 SiD_ActiveVolV48->SetMedium(pMedsilicon);
561 SiD_ActiveVolV48->SetLineColor(kRed);
562
563 TGeoVolume* SiD_ActiveVolV49 = new TGeoVolume("SiD_ActiveVolV49", sid_trapv1);
564 SiD_ActiveVolV49->SetMedium(pMedsilicon);
565 SiD_ActiveVolV49->SetLineColor(kRed);
566
567 TGeoVolume* SiD_ActiveVolV50 = new TGeoVolume("SiD_ActiveVolV50", sid_trapv2);
568 SiD_ActiveVolV50->SetMedium(pMedsilicon);
569 SiD_ActiveVolV50->SetLineColor(kRed);
570
571 TGeoVolume* SiD_ActiveVolV51 = new TGeoVolume("SiD_ActiveVolV51", sid_trapv3);
572 SiD_ActiveVolV51->SetMedium(pMedsilicon);
573 SiD_ActiveVolV51->SetLineColor(kRed);
574
575 TGeoVolume* SiD_ActiveVolV52 = new TGeoVolume("SiD_ActiveVolV52", sid_trapv4);
576 SiD_ActiveVolV52->SetMedium(pMedsilicon);
577 SiD_ActiveVolV52->SetLineColor(kRed);
578 //********************************************************************************
579 TGeoVolume* SiD_ActiveVolV53 = new TGeoVolume("SiD_ActiveVolV53", sid_trapv5);
580 SiD_ActiveVolV53->SetMedium(pMedsilicon);
581 SiD_ActiveVolV53->SetLineColor(kRed);
582
583 TGeoVolume* SiD_ActiveVolV54 = new TGeoVolume("SiD_ActiveVolV54", sid_trapv6);
584 SiD_ActiveVolV54->SetMedium(pMedsilicon);
585 SiD_ActiveVolV54->SetLineColor(kRed);
586
587 TGeoVolume* SiD_ActiveVolV55 = new TGeoVolume("SiD_ActiveVolV55", sid_trapv7);
588 SiD_ActiveVolV55->SetMedium(pMedsilicon);
589 SiD_ActiveVolV55->SetLineColor(kRed);
590
591 TGeoVolume* SiD_ActiveVolV56 = new TGeoVolume("SiD_ActiveVolV56", sid_trapv8);
592 SiD_ActiveVolV56->SetMedium(pMedsilicon);
593 SiD_ActiveVolV56->SetLineColor(kRed);
594
595 TGeoVolume* SiD_ActiveVolV57 = new TGeoVolume("SiD_ActiveVolV57", sid_trapv1);
596 SiD_ActiveVolV57->SetMedium(pMedsilicon);
597 SiD_ActiveVolV57->SetLineColor(kRed);
598
599 TGeoVolume* SiD_ActiveVolV58 = new TGeoVolume("SiD_ActiveVolV58", sid_trapv2);
600 SiD_ActiveVolV58->SetMedium(pMedsilicon);
601 SiD_ActiveVolV58->SetLineColor(kRed);
602
603 TGeoVolume* SiD_ActiveVolV59 = new TGeoVolume("SiD_ActiveVolV59", sid_trapv3);
604 SiD_ActiveVolV59->SetMedium(pMedsilicon);
605 SiD_ActiveVolV59->SetLineColor(kRed);
606
607 TGeoVolume* SiD_ActiveVolV60 = new TGeoVolume("SiD_ActiveVolV60", sid_trapv4);
608 SiD_ActiveVolV60->SetMedium(pMedsilicon);
609 SiD_ActiveVolV60->SetLineColor(kRed);
610 //********************************************************************************
611 TGeoVolume* SiD_ActiveVolV61 = new TGeoVolume("SiD_ActiveVolV61", sid_trapv5);
612 SiD_ActiveVolV61->SetMedium(pMedsilicon);
613 SiD_ActiveVolV61->SetLineColor(kRed);
614
615 TGeoVolume* SiD_ActiveVolV62 = new TGeoVolume("SiD_ActiveVolV62", sid_trapv6);
616 SiD_ActiveVolV62->SetMedium(pMedsilicon);
617 SiD_ActiveVolV62->SetLineColor(kRed);
618
619 TGeoVolume* SiD_ActiveVolV63 = new TGeoVolume("SiD_ActiveVolV63", sid_trapv7);
620 SiD_ActiveVolV63->SetMedium(pMedsilicon);
621 SiD_ActiveVolV63->SetLineColor(kRed);
622
623 TGeoVolume* SiD_ActiveVolV64 = new TGeoVolume("SiD_ActiveVolV64", sid_trapv8);
624 SiD_ActiveVolV64->SetMedium(pMedsilicon);
625 SiD_ActiveVolV64->SetLineColor(kRed);
626
627 TGeoVolume* Frame_mat = new TGeoVolume("Frame_mat", Frame_box);
628 Frame_mat->SetMedium(pMedaluminium);
629 Frame_mat->SetLineColor(kGreen - 10);
630
631 TGeoVolume* Membrane_mat = new TGeoVolume("Membrane_mat", Skin_tube);
632 Membrane_mat->SetMedium(pMedaluminium);
633 Membrane_mat->SetLineColor(kAzure - 9);
634
635 // Adding volumes to the TOP Volume
636 top->AddNode(SidNewTop, 1, Sid_new_Pos_trans1);
637 // top->AddNode(AlFrame, 2, Sid_new_Pos_trans1);
638
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);
643
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);
648
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);
653
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);
658
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);
663
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);
668
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);
673
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);
678
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);
683
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);
688
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);
693
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);
698
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);
703
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);
708
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);
713
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);
718
719 SidNewTop->AddNode(Frame_mat, 65);
720 SidNewTop->AddNode(Membrane_mat, 66, skin_tube_pos);
721
723
724 // --------------- Finish -----------------------------------------------
725 gGeoMan->CloseGeometry();
726 gGeoMan->CheckOverlaps(0.02);
727 gGeoMan->PrintOverlaps();
728 gGeoMan->Test();
729
730 TFile* geoFile = new TFile(geoFileName, "RECREATE");
731 top->Write();
732 geoFile->Close();
733 top->Draw("ogl");
734 // top->Draw("");
735}
double Double_t
constexpr Bool_t kTRUE
#define R__ADD_INCLUDE_PATH(PATH)
kRed
kGreen
kAzure
void Fatal(const char *location, const char *msgfmt,...)
R__EXTERN TGeoManager * gGeoManager
#define gROOT
R__EXTERN TSystem * gSystem
void Close(Option_t *option="") override
void RegisterYourself() override
void SetVisContainers(Bool_t flag=kTRUE) override
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
void Draw(Option_t *option="") override
virtual void SetMedium(TGeoMedium *medium)
void SetLineColor(Color_t lcolor) override
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
TGeoManager * gGeoMan
const Double_t ZLength_SIDActiveVolume
const Double_t dphia
const Double_t Frame_Ysize
void create_rootgeom_SiMD()
const Double_t Sid_New_Xpos
const Double_t Sid_New_Ypos
const Double_t Frame_Zsize
const Double_t Frame_Xsize
const Double_t Sid_New_Zpos
constexpr Double_t DegToRad()