42int di[2]; di[0] = 0; di[1] = 30;
46 for(
int i=0;i<20;i++){
47 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
48 mBlock = geom->
MakeBox(nBlocks, Iron, 0.6,1.8,63);
52 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
53 mBlock = geom->
MakeBox(nBlocks, Iron, 0.7,1.8,58);
57 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
58 mBlock = geom->
MakeBox(nBlocks, Iron, 26,1.2,63);
62 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
63 mBlock = geom->
MakeBox(nBlocks, Iron, 26,2,63);
68 for(
int i=0;i<20;i++){
69 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
70 mBlock = geom->
MakeBox(nBlocks, Iron, 0.6,1.8,63);
73 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
74 mBlock = geom->
MakeBox(nBlocks, Iron, 0.7,1.8,58);
79 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
80 mBlock = geom->
MakeBox(nBlocks, Iron, 26,1.2,63);
85 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
86 mBlock = geom->
MakeBox(nBlocks, Iron, 10,22,58);
90 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
91 mBlock = geom->
MakeBox(nBlocks, Iron, 3.5,8,0.1);
95 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
96 mBlock = geom->
MakeBox(nBlocks, Iron, 3.5,8,0.1);
100 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
101 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
105 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
106 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
110 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
111 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
115 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
116 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
120 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
121 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
125 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
126 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
130 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
131 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.2,0.1);
135 for(
int k=0;k<7;k++){
136 for(
int i=0;i<20;i++){
137 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
138 mBlock = geom->
MakeBox(nBlocks, Iron, 0.6,1.8,63);
141 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
142 mBlock = geom->
MakeBox(nBlocks, Iron, 0.7,1.8,58);
147 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
148 mBlock = geom->
MakeBox(nBlocks, Iron, 26,1.2,63);
152 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
153 mBlock = geom->
MakeBox(nBlocks, Iron, 26,2,63);
158 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
159 mBlock = geom->
MakeBox(nBlocks, Iron, 82,2,82);
163 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
164 mBlock = geom->
MakeBox(nBlocks, Iron, 85,0.5,85);
168 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
169 mBlock = geom->
MakeBox(nBlocks, Iron, 88,2,88);
174 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
175 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 30, 0, 180, 0, 180);
179 sprintf(nBlocks,
"ab%d",
N++);
180 mBlock = geom->
MakeBox(nBlocks,Iron, 0.1,30,0.1);
184 sprintf(nBlocks,
"ab%d",
N++);
185 mBlock = geom->
MakeTubs(nBlocks,Iron, 0,30,4,360,360);
189 for(
int i=0;i<8;i++){
190 sprintf(nBlocks,
"ab%d",
N++);
191 mBlock = geom->
MakeBox(nBlocks,Iron, 2,22,2);
196 for(
int i=0;i<8;i++){
197 sprintf(nBlocks,
"ab%d",
N++);
198 mBlock = geom->
MakeBox(nBlocks,Iron, 2,22,2);
203 for(
int i=0;i<7;i++){
204 sprintf(nBlocks,
"ab%d",
N++);
205 mBlock = geom->
MakeBox(nBlocks,Iron, 2,22,2);
210 for(
int i=0;i<7;i++){
211 sprintf(nBlocks,
"ab%d",
N++);
212 mBlock = geom->
MakeBox(nBlocks,Iron, 2,22,2);
217 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
218 mBlock = geom->
MakeBox(nBlocks, Iron, 100,0.5,160);
222 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
223 mBlock = geom->
MakeBox(nBlocks, Iron, 10,0.01,160);
227 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
228 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
232 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
233 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
237 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
238 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
242 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
243 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
247 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
248 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
252 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
253 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
257 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
258 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
262 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
263 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
267 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
268 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
272 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
273 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
277 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
278 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
282 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
283 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
287 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
288 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
292 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
293 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
297 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
298 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
302 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
303 mBlock = geom->
MakeSphere(nBlocks, Iron, 0, 5, 0, 180, 0, 180);
307 sprintf(nBlocks,
"ab%d",
N++);
308 mBlock = geom->
MakeBox(nBlocks,Iron, 0.1,10,0.1);
312 sprintf(nBlocks,
"ab%d",
N++);
313 mBlock = geom->
MakeBox(nBlocks,Iron, 5,3,0.1);
317 sprintf(nBlocks,
"ab%d",
N++);
318 mBlock = geom->
MakeBox(nBlocks,Iron, 0.1,10,0.1);
322 sprintf(nBlocks,
"ab%d",
N++);
323 mBlock = geom->
MakeBox(nBlocks,Iron, 5,3,0.1);
327 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
328 mBlock = geom->
MakeBox(nBlocks, Iron, 7,1.5,5);
332 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
333 mBlock = geom->
MakeBox(nBlocks, Iron, 7,1,5);
337 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
338 mBlock = geom->
MakeBox(nBlocks, Iron, 7,0.5,5);
342 sprintf(nBlocks,
"f%d_bg%d",
f,
N++);
343 mBlock = geom->
MakeBox(nBlocks, Iron, 7,0.1,5);
Class describing rotation + translation.
The manager class for any TGeo geometry.
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
Make in one step a volume pointing to a box shape with given medium.
TGeoVolume * MakeSphere(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t themin=0, Double_t themax=180, Double_t phimin=0, Double_t phimax=360)
Make in one step a volume pointing to a sphere shape with given medium.
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
TGeoVolume * MakeTubs(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Double_t phi2)
Make in one step a volume pointing to a tube segment shape with given medium.
Base class describing materials.
Media are used to store properties related to tracking and which are useful only when using geometry ...
Class describing rotations.
Class describing translations.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
void SetVisibility(Bool_t vis=kTRUE) override
set visibility of this volume
void Draw(Option_t *option="") override
draw top volume according to option
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.
void SetLineColor(Color_t lcolor) override
Set the line color.