Drawing a building where Dept.
of Physics is, using ROOT geometry class.
This macro was created for the evaluation of Computational Physics course in 2006. We thank to Prof. Inkyu Park for his special lecture on ROOT and to all of ROOT team
void building()
{
int i = 0;
int nW = 8;
int nF = 3;
char no_Block[100];
double sP = 0;
double hP = 21;
i = 0;
sP = 0;
while (i < nW) {
i++;
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 29, 1.8, sP, sP + 6.25);
if (i < nW) {
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 1.8, sP, sP + 2.5);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 31, 1.8, sP, sP + 1);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 1.8, sP, sP + 1);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 31, 1.8, sP, sP + 1);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 1.8, sP, sP + 2.5);
}
if (i >= nW) {
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 1.8, sP, 103);
}
}
sprintf(no_Block,
"B1_F%d", ++
F);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 2.2, 0, 103);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.5, 21, 0.8, 92, 101);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.5, 21, 3.2, 92, 102);
}
}
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.5, 21, 2, 92, 102);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.5, 21, 3.2, 92, 102);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 2, 0, 103);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 21, 2, 0, 102);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 18.5, 14, 92, 103);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 29, 2, 0, 97);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 32, 2, 37, 97);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 29, 1.95, 0, 37);
sprintf(no_Block,
"B1_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 29, 0.05, 0, 37);
sprintf(no_Block,
"B1_RT%d",
N = 0);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 29.5, 0.2, 0, 102);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.5, 21, 0.2, 0, 101);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 30, 0.7, 102.9, 103);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21.1, 29.9, 0.7, 102, 102.9);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21.1, 21.5, 0.5, 98, 102.9);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 21, 21.1, 0.7, 98, 103);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.6, 21, 0.7, 101.9, 102);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.6, 21, 0.7, 101, 101.9);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 29.5, 29.9, 0.5, 0, 102);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 29.9, 30, 0.5, 0, 103);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.1, 18.5, 0.5, -1, 101.9);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 18.1, 0.5, -0.5, 102);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.1, 18.4, 0.5, 101.9, 102.9);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 18.1, 0.5, 102, 103);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18.4, 18.5, 0.5, 102, 103);
sprintf(no_Block,
"B1_RT%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 18.5, 0.5, 102.9, 103);
sprintf(no_Block,
"B1_WW%d",
N = 0);
mBlocks = geom->
MakeTubs(no_Block, Iron, 20.8, 31, 19.5, sP, sP + 1);
sprintf(no_Block,
"B1_WW%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 26.8, 31, 5, sP, sP + 1);
sprintf(no_Block,
"B1_WW%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 23, 24.3, 5, sP, sP + 1);
sprintf(no_Block,
"B1_WW%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 20.8, 21.3, 5, sP, sP + 1);
sprintf(no_Block,
"B1_ZF%d",
N = 0);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 21, 9, 0, 92);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 21, 7.5, 0, 92);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 18, 21, 4.5, 0, 92);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 18, 0.2, 0, 101);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 18, 1.7, 0, 100);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 18, 1.2, 101, 101.9);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 18, 1.2, 101.9, 102);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.5, 7, 2.5);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.5, 7, 3);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 0.05, 10);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.9, 0.20, 10);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.1, 0.20, 10);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.05, 7, 3.5);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.20, 6.9, 3.5);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.25, 7, 4);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 0.05, 10);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.9, 0.20, 10);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.1, 0.20, 10);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 5, 1);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 0.25, 1.5);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.25, 5.5, 1.5);
sprintf(no_Block,
"B1_ZF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 3.5, 5);
sprintf(no_Block,
"B1_GRD%d",
N = 0);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 29, 1, 0, 36.75);
sprintf(no_Block,
"B1_GRD%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 30.4, 0.4, 36.75, 77.25);
sprintf(no_Block,
"B1_GRD%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 29.7, 0.3, 36.75, 77.25);
sprintf(no_Block,
"B1_GRD%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 29, 0.3, 36.75, 77.25);
sprintf(no_Block,
"B1_GRD%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 0, 29, 1, 77.25, 97);
sprintf(no_Block,
"B1_PF%d",
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeTubs(no_Block, Iron, 29, 30, 2, 0, 36.75);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 2, 2);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.25, 4.3, 1.5);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.25, 4.3, 0.4);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 0.25, 0.75);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeTrd1(no_Block, Iron, 1.5, 0, 0.25, 5.5);
i = 0;
nW = 7;
while (i < nW) {
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.8, 0.35, 1.8);
new TGeoCombiTrans(23.38 + (21.65 - 6 * i) * 0.13, -21.2 + (21.65 - 6 * i) * 0.99,
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.8, 0.3, 1.8);
new TGeoCombiTrans(23.38 + (21.0 - 6 * i) * 0.13, -21.2 + (21 - 6 * i) * 0.99,
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.8, 0.3, 1.8);
new TGeoCombiTrans(23.38 + (20.4 - 6 * i) * 0.13, -21.2 + (20.4 - 6 * i) * 0.99,
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.8, 0.3, 1.8);
new TGeoCombiTrans(23.38 + (19.7 - 6 * i) * 0.13, -21.2 + (19.7 - 6 * i) * 0.99,
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.8, 0.35, 1.8);
new TGeoCombiTrans(23.38 + (19.05 - 6 * i) * 0.13, -21.2 + (19.05 - 6 * i) * 0.99,
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 1.4, 1.8);
new TGeoCombiTrans(23.38 + (17.4 - 6 * i) * 0.13, -21.2 + (17.4 - 6 * i) * 0.99,
i++;
if (i >= nW) {
sprintf(no_Block,
"B12_F%d_B%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.8, 1, 1.8);
}
}
sprintf(no_Block,
"B12_F%d_B%d", ++
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.8, 22, 2.2);
}
sprintf(no_Block,
"B12_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.8, 22, 2);
sprintf(no_Block,
"B12_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.8, 22, 14);
sprintf(no_Block,
"B12_RT%d_%d",
F,
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 21.75, 0.2);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.23, 21.95, 0.5);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.1, 22, 0.5);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.23, 3.6, 0.5);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.02, 3.8, 0.5);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.7, 0.23, 0.5);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.8, 0.1, 0.5);
sprintf(no_Block,
"B12_PF%d",
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 9);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 11);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 11);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.5, 15.75, 2);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.5, 2, 4);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.5, 15.75, 2);
sprintf(no_Block,
"B12_RT%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.8, 0.5, 4);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 0.5, 3.25);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.5, 6.25, 1.625);
sprintf(no_Block,
"B1_PF%d", ++
N);
mBlocks = geom->
MakeTrd1(no_Block, Iron, 3.25, 0, 0.5, 6.25);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 3, 0.5);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.5, 3, 0.5);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.5, 3, 0.5);
sprintf(no_Block,
"B12_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.5, 3, 0.5);
sprintf(no_Block,
"B12_GR%d",
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.8, 21, 1);
sprintf(no_Block,
"B12_GR%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.8, 18, 9);
sprintf(no_Block,
"B12_GR%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.8, 22, 2);
sprintf(no_Block,
"B12_GR%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.8, 22, 1.95);
sprintf(no_Block,
"B12_GR%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.8, 22, 0.05);
nF = 4;
sprintf(no_Block, "B2_F%d", 6);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 17.5, 2);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.8, 4, 4);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.1, 3.5, 1);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.1, 4.5, 0.2);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.1, 4, 2.8);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.7, 4, 4);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.1, 3.5, 1);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.1, 4.5, 0.2);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.1, 4, 2.8);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.7, 4, 4);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.3, 13.5, 1.5);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.3, 14, 0.2);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.3, 13.5, 2.3);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.7, 13, 1.5);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.7, 14, 0.2);
sprintf(no_Block,
"B2_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.7, 13.5, 2.3);
}
sprintf(no_Block, "B2_F%d_%d", 0, 1);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 13.5, 6);
sprintf(no_Block, "B2_F%d_%d", 0, 2);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 13.5, 4);
sprintf(no_Block, "B2_F%d_%d", 0, 3);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 13.5, 4);
sprintf(no_Block,
"B2_F%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 17.4, 0.1);
sprintf(no_Block,
"B2_F%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 0.2, 0.5);
sprintf(no_Block,
"B2_F%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 0.05, 0.5);
sprintf(no_Block,
"B2_F%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.75, 0.2, 0.5);
sprintf(no_Block,
"B2_F%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.55, 0.05, 0.5);
nF = 4;
nW = 6;
sprintf(no_Block, "B3_F0%d", 7);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 36, 2);
i = 0;
sprintf(no_Block,
"B3_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4, 36, 0.2);
while (i++ < nW) {
sprintf(no_Block,
"B3_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.5, 5, 1.8);
sprintf(no_Block,
"B3_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.8, 1, 1.8);
}
sprintf(no_Block,
"B3_F%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 36, 2);
}
sprintf(no_Block, "B3_F0%d", 1);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.8, 36, 2);
sprintf(no_Block, "B3_F0%d", 2);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.8, 36, 2);
sprintf(no_Block, "B3_F0%d", 3);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.8, 36, 4);
sprintf(no_Block, "B3_F0%d", 4);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.8, 36, 4);
sprintf(no_Block, "B3_F0%d", 61);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 8, 2);
sprintf(no_Block, "B3_F0%d", 62);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.5, 8, 24);
sprintf(no_Block, "B3_F0%d", 63);
mBlocks = geom->
MakeBox(no_Block, Iron, 2, 7, 24);
sprintf(no_Block, "B3_F0%d", 64);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.5, 8, 24);
sprintf(no_Block, "B3_F0%d", 65);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 8, 4);
nF = 6;
nW = 6;
sprintf(no_Block, "B3_F2%d", 7);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 40.5, 2);
for (
F = 0;
F < nF;
F++) {
for (i = 0; i < nW; i++) {
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6, 2.35, 2);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.5, 0.3, 2);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6, 2.35, 2);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 1, 2);
}
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.8, 36, 0.3);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 36, 2);
for (int i = 0; i < 4; i++) {
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 0.5, 1.4);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6, 0.7, 1.4);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 1.6, 1.4);
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6, 0.7, 1.4);
}
sprintf(no_Block,
"B3_F2%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 3.5, 2.6);
}
sprintf(no_Block, "B3_F2%d", 71);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 40.5, 4);
sprintf(no_Block, "B3_F2%d", 72);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 2, 30);
sprintf(no_Block, "B3_F2%d", 73);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 1, 30);
sprintf(no_Block,
"B3_RT%d",
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 42.25, 0.1);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.75, 41.75, 0.1);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.24, 41.99, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.01, 42, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.24, 3.99, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.01, 4, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 2.99, 0.24, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 0.01, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.24, 42.49, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.01, 42.5, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6.99, 0.24, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 0.01, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 0.25, 0.5);
sprintf(no_Block,
"B3_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 7, 0.01, 0.5);
for (i = 0; i < 6; i++) {
sprintf(no_Block,
"B3_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.2, 1.5, 12);
}
sprintf(no_Block,
"B3_PF%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 1.5, 40, 2);
sprintf(no_Block,
"B3_ST%d",
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.5, 7, 5);
for (int i = 0; i < 5; i++) {
sprintf(no_Block,
"B3_ST%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3, 5, 0.5);
}
for (
int F = 0;
F < 5;
F++) {
sprintf(no_Block,
"B4_LF%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 12.5, 2.3);
sprintf(no_Block,
"B4_LF%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 2, 1.7);
sprintf(no_Block,
"B4_LF%d_%d",
F, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 10.5, 1.7);
}
sprintf(no_Block,
"B4_LF%d_%d", 9,
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 12.5, 6);
sprintf(no_Block,
"B4_LF%d_%d", 9, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 2, 4.5);
sprintf(no_Block,
"B4_LF%d_%d", 9, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5, 10.5, 4.5);
sprintf(no_Block,
"B4_LF%d_%d", 9, ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 12.5, 5);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.25, 11, 24);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.25, 4, 32);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 2, 1.8);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 3.5, 5);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 6, 2, 0.3);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4, 2, 1.5);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 7, 1.8);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 11, 1.8);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.25, 1.5, 2);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4, 2, 2);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 7, 2);
sprintf(no_Block,
"B4_RS%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.5, 11, 2.4);
sprintf(no_Block,
"B4_RT%d",
N = 0);
mBlocks = geom->
MakeBox(no_Block, Iron, 4.25, 10.9, 0.2);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.25, 12.4, 0.2);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.24, 12.4, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.01, 12.4, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.24, 13, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 0.01, 13, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 8.75, 0.24, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 8.75, 0.01, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.25, 0.24, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 5.5, 0.01, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.5, 0.24, 0.5);
sprintf(no_Block,
"B4_RT%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 3.5, 0.01, 0.5);
sprintf(no_Block,
"GRD%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 40, 90, 2);
sprintf(no_Block,
"GRD%d", ++
N);
mBlocks = geom->
MakeBox(no_Block, Iron, 30, 30, 2);
Phy_Building->
Draw(
"ogl");
}
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 * MakeTrd1(const char *name, TGeoMedium *medium, Double_t dx1, Double_t dx2, Double_t dy, Double_t dz)
Make in one step a volume pointing to a TGeoTrd1 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.