47 Double_t base1 = 135, base2 = 78;
48 Double_t side3 = 33, side4 = 90, side5 = 125;
49 Double_t height = 180;
51 cout << zCenter << endl;
53 TGeoVolume *top=gGeoManager->GetTopVolume();
54 TGeoMedium *Fe = gGeoManager->GetMedium(
"iron");
60 TGeoBBox *TopS =
new TGeoBBox(180,57/2,225);
61 TGeoVolume *volTopS =
new TGeoVolume(
"volTopS",TopS,Fe);
62 volTopS->SetLineColor(kRed);
65 top->AddNode(volTopS,1,
new TGeoTranslation(0, 126, zCenter));
66 top->AddNode(volTopS,2,
new TGeoTranslation(0, -111, zCenter));
75 TGeoRotation *r1 =
new TGeoRotation();
76 r1->SetAngles(0,90,0);
77 TGeoCombiTrans t(0, 75, zCenter,r1);
79 TGeoHMatrix *
m =
new TGeoHMatrix(t);
83 TGeoTube *magnetUp =
new TGeoTube(side4,160,22.5);
84 TGeoVolume *volmagnetUp =
new TGeoVolume(
"volmagnetUp",magnetUp,Fe);
85 volmagnetUp->SetLineColor(kGreen);
86 top->AddNode(volmagnetUp,1,
m);
89 TGeoCombiTrans t1(0, -67.5, zCenter,r1);
90 TGeoHMatrix *m1 =
new TGeoHMatrix(t1);
93 TGeoTube *magnetDown =
new TGeoTube(side4,160,15);
94 TGeoVolume *volmagnetDown =
new TGeoVolume(
"volmagnetDown",magnetDown,Fe);
95 volmagnetDown->SetLineColor(kGreen);
96 top->AddNode(volmagnetDown,1,m1);
107 TGeoBBox *LateralS1 =
new TGeoBBox(
"LateralS1",16.5,45/2,67.5);
108 TGeoTranslation *tr1 =
new TGeoTranslation(-side1/2 +side3/2, 75, zCenter- side2/2 +base1/2);
109 TGeoVolume *volLateralS1 =
new TGeoVolume(
"volLateralS1",LateralS1,Fe);
110 volLateralS1->SetLineColor(kRed);
111 top->AddNode(volLateralS1, 1, tr1);
115 TGeoArb8 *LateralS2 =
new TGeoArb8(
"LateralS2",45/2);
116 LateralS2->SetVertex(0, side4, 0);
117 LateralS2->SetVertex(1, side3, 0);
118 LateralS2->SetVertex(2, side3, base1);
119 LateralS2->SetVertex(3, side4, base2);
120 LateralS2->SetVertex(4, side4, 0);
121 LateralS2->SetVertex(5, side3, 0);
122 LateralS2->SetVertex(6, side3, base1);
123 LateralS2->SetVertex(7, side4, base2);
125 TGeoVolume *volLateralS2 =
new TGeoVolume(
"volLateralS2",LateralS2,Fe);
126 volLateralS2->SetLineColor(kRed);
128 TGeoRotation *r2 =
new TGeoRotation();
129 r2->SetAngles(0,90,0);
130 TGeoCombiTrans tr2(-side1/2, 75, zCenter-side2/2,r2);
131 TGeoHMatrix *m2 =
new TGeoHMatrix(tr2);
132 top->AddNode(volLateralS2, 1, m2);
137 TGeoBBox *LateralSurface1low =
new TGeoBBox(
"LateralSurface1low",side3/2,135/2,side5/2);
138 TGeoTranslation *tr1low =
new TGeoTranslation(-side1/2 +side3/2, -15, zCenter- side2/2 +side5/2);
139 tr1low->SetName(
"tr1low");
140 tr1low->RegisterYourself();
143 TGeoBBox *LateralSurface2low =
new TGeoBBox(
"LateralSurface2low",28.5,135/2,base2/2);
144 TGeoTranslation *tr2low =
new TGeoTranslation(-side1/2 + (side4-side3)/2 + side3, -15, zCenter-side2/2 +base2/2);
145 tr2low->SetName(
"tr2low");
146 tr2low->RegisterYourself();
148 TGeoCompositeShape *LateralSurfacelow =
new TGeoCompositeShape(
"LateralSurfacelow",
"LateralSurface1low:tr1low+LateralSurface2low:tr2low");
149 TGeoVolume *volLateralSurfacelow =
new TGeoVolume(
"volLateralSurfacelow",LateralSurfacelow,Fe);
151 volLateralSurfacelow->SetLineColor(kRed);
152 top->AddNode(volLateralSurfacelow, 1,
new TGeoTranslation(0,0,0));
159 TGeoBBox *LateralS1_b =
new TGeoBBox(
"LateralS1_b",16.5,45/2,67.5);
160 TGeoTranslation *tr1_b =
new TGeoTranslation(-side1/2 +side3/2, 75, zCenter+ side2/2 - base1/2);
161 TGeoVolume *volLateralS1_b =
new TGeoVolume(
"volLateralS1_b",LateralS1_b,Fe);
162 volLateralS1_b->SetLineColor(kRed);
163 top->AddNode(volLateralS1_b, 1, tr1_b);
166 TGeoArb8 *LateralS2_b =
new TGeoArb8(
"LateralS2_b",45/2);
167 LateralS2_b ->SetVertex(0, side4, 0);
168 LateralS2_b ->SetVertex(1, side3, 0);
169 LateralS2_b ->SetVertex(2, side3, base1);
170 LateralS2_b ->SetVertex(3, side4, base2);
171 LateralS2_b ->SetVertex(4, side4, 0);
172 LateralS2_b ->SetVertex(5, side3, 0);
173 LateralS2_b ->SetVertex(6, side3, base1);
174 LateralS2_b ->SetVertex(7, side4, base2);
176 TGeoVolume *volLateralS2_b =
new TGeoVolume(
"volLateralS2_b",LateralS2_b,Fe);
177 volLateralS2_b->SetLineColor(kRed);
179 TGeoRotation *r2_b =
new TGeoRotation();
180 r2_b->SetAngles(0,270,0);
181 TGeoCombiTrans tr2_b(-side1/2, 75, zCenter + side2/2,r2_b);
182 TGeoHMatrix *m2_b =
new TGeoHMatrix(tr2_b);
183 top->AddNode(volLateralS2_b, 1, m2_b);
188 TGeoBBox *LateralSurface1dlow =
new TGeoBBox(
"LateralSurface1dlow",side3/2,135/2,side5/2);
189 TGeoTranslation *tr1dlow =
new TGeoTranslation(-side1/2 +side3/2, -15, zCenter+ side2/2 -side5/2);
190 tr1dlow->SetName(
"tr1dlow");
191 tr1dlow->RegisterYourself();
194 TGeoBBox *LateralSurface2dlow =
new TGeoBBox(
"LateralSurface2dlow",28.5,135/2,base2/2);
195 TGeoTranslation *tr2dlow =
new TGeoTranslation(-side1/2 + (side4-side3)/2 + side3, -15, zCenter+side2/2 -base2/2);
196 tr2dlow->SetName(
"tr2dlow");
197 tr2dlow->RegisterYourself();
199 TGeoCompositeShape *LateralSurfacedlow =
new TGeoCompositeShape(
"LateralSurfacedlow",
"LateralSurface1dlow:tr1dlow+LateralSurface2dlow:tr2dlow");
200 TGeoVolume *volLateralSurfacedlow =
new TGeoVolume(
"volLateralSurfacedlow",LateralSurfacedlow,Fe);
202 volLateralSurfacedlow->SetLineColor(kRed);
203 top->AddNode(volLateralSurfacedlow, 1,
new TGeoTranslation(0,0,0));
212 TGeoBBox *LateralS1_d =
new TGeoBBox(
"LateralS1_d",16.5,height/2,67.5);
213 TGeoTranslation *tr1_d =
new TGeoTranslation(side1/2 - side3/2, 7.5, zCenter- side2/2 +base1/2);
214 TGeoVolume *volLateralS1_d =
new TGeoVolume(
"volLateralS1_d",LateralS1_d,Fe);
215 volLateralS1_d->SetLineColor(kRed);
216 top->AddNode(volLateralS1_d, 1, tr1_d);
220 TGeoArb8 *LateralS2_d =
new TGeoArb8(
"LateralS2_d",height/2);
221 LateralS2_d->SetVertex(0, side4, 0);
222 LateralS2_d->SetVertex(1, side3, 0);
223 LateralS2_d->SetVertex(2, side3, base1);
224 LateralS2_d->SetVertex(3, side4, base2);
225 LateralS2_d->SetVertex(4, side4, 0);
226 LateralS2_d->SetVertex(5, side3, 0);
227 LateralS2_d->SetVertex(6, side3, base1);
228 LateralS2_d->SetVertex(7, side4, base2);
231 TGeoVolume *volLateralS2_d =
new TGeoVolume(
"volLateralS2_d",LateralS2_d,Fe);
232 volLateralS2_d->SetLineColor(kRed);
234 TGeoRotation *r2_d =
new TGeoRotation();
235 r2_d->SetAngles(0,270,180);
236 TGeoCombiTrans tr2_d(side1/2, 7.5, zCenter -side2/2,r2_d);
237 TGeoHMatrix *m2_d =
new TGeoHMatrix(tr2_d);
238 top->AddNode(volLateralS2_d, 1, m2_d);
249 TGeoBBox *LateralS1_c =
new TGeoBBox(
"LateralS1_c",16.5,height/2,67.5);
250 TGeoTranslation *tr1_c =
new TGeoTranslation(side1/2 - side3/2, 7.5, zCenter+ side2/2 -base1/2);
251 TGeoVolume *volLateralS1_c =
new TGeoVolume(
"volLateralS1_c",LateralS1_c,Fe);
252 volLateralS1_c->SetLineColor(kRed);
253 top->AddNode(volLateralS1_c, 1, tr1_c);
258 TGeoArb8 *LateralS2_c =
new TGeoArb8(
"LateralS2_c",height/2);
259 LateralS2_c ->SetVertex(0, side4, 0);
260 LateralS2_c ->SetVertex(1, side3, 0);
261 LateralS2_c ->SetVertex(2, side3, base1);
262 LateralS2_c ->SetVertex(3, side4, base2);
263 LateralS2_c ->SetVertex(4, side4, 0);
264 LateralS2_c ->SetVertex(5, side3, 0);
265 LateralS2_c ->SetVertex(6, side3, base1);
266 LateralS2_c ->SetVertex(7, side4, base2);
268 TGeoVolume *volLateralS2_c =
new TGeoVolume(
"volLateralS2_c",LateralS2_c,Fe);
269 volLateralS2_c->SetLineColor(kRed);
271 TGeoRotation *r2_c =
new TGeoRotation();
272 r2_c->SetAngles(0,90,180);
273 TGeoCombiTrans tr2_c(side1/2, 7.5, zCenter + side2/2,r2_c);
274 TGeoHMatrix *m2_c =
new TGeoHMatrix(tr2_c);
275 top->AddNode(volLateralS2_c, 1, m2_c);