6 TObjArray*
va = gGeoManager->GetListOfVolumes();
7 int nv = va->GetEntries();
8 for (
int i=0;
i<nv; ++
i) {
9 TGeoVolume*
v = (TGeoVolume*)va->At(
i);
12 if (
m ==
"Air") { lc = kWhite; vi = 0; tr = 0; vd = 1; }
13 else if (
m ==
"Granite") { lc = kYellow-8; vi = 1; tr = 0; vd = 1; }
14 else if (
m ==
"Dirt") { lc =
kGreen-8; vi = 1; tr = 0; vd = 1; }
15 else if (
m ==
"ShotRock") { lc =
kOrange-9; vi = 1; tr = 0; vd = 1; }
16 else if (
m ==
"BariteRock") { lc =
kOrange-4; vi = 1; tr = 0; vd = 1; }
17 else if (
m ==
"Concrete") { lc = kGray; vi = 1; tr = 0; vd = 1; }
18 else if (
m ==
"PVC") { lc = kWhite; vi = 1; tr = 0; vd = 1; }
19 else if (
m ==
"Scintillator") { lc =
kBlue-9; vi = 1; tr = 0; vd = 1; }
20 else if (
m ==
"Glue") { lc =
kViolet-9; vi = 1; tr = 0; vd = 1; }
21 else if (
m ==
"Steel") { lc =
kOrange+4; vi = 1; tr = 0; vd = 1; }
22 else if (
m ==
"PivoterSteel") { lc =
kOrange+2; vi = 1; tr = 0; vd = 1; }
25 lc =
kOrange; vi = 1; tr = 0; vd = 1;
29 v->VisibleDaughters(vd);
30 v->SetTransparency(tr);
38 gGeoManager->GetVolume(
"vPlaneV")->VisibleDaughters(0);
39 gGeoManager->GetVolume(
"vPlaneV")->SetVisibility(1);
40 gGeoManager->GetVolume(
"vPlaneV")->SetLineColor(kWhite);
42 gGeoManager->GetVolume(
"vPlaneH")->VisibleDaughters(0);
43 gGeoManager->GetVolume(
"vPlaneH")->SetVisibility(1);
44 gGeoManager->GetVolume(
"vPlaneH")->SetLineColor(kGray);
51 gGeoManager->GetVolume(
"vPlaneVIPND")->VisibleDaughters(1);
52 gGeoManager->GetVolume(
"vPlaneVIPND")->SetVisibility(1);
53 gGeoManager->GetVolume(
"vPlaneVIPND")->SetLineColor(
kBlue);
55 gGeoManager->GetVolume(
"vPlaneHIPND")->VisibleDaughters(1);
56 gGeoManager->GetVolume(
"vPlaneHIPND")->SetVisibility(1);
57 gGeoManager->GetVolume(
"vPlaneHIPND")->SetLineColor(kGray);
59 gGeoManager->GetVolume(
"vDetEnclosure")->SetVisibility(1);
75 gGeoManager->GetVolume(
"vSuperBlockIPND")->VisibleDaughters(1);
76 gGeoManager->GetVolume(
"vSuperBlockIPND")->SetVisibility(1);
77 gGeoManager->GetVolume(
"vSuperBlockIPND")->SetLineColor(
kBlue-5);
79 gGeoManager->GetVolume(
"vPlaneV")->VisibleDaughters(0);
80 gGeoManager->GetVolume(
"vPlaneV")->SetVisibility(1);
81 gGeoManager->GetVolume(
"vPlaneV")->SetLineColor(kWhite);
83 gGeoManager->GetVolume(
"vPlaneH")->VisibleDaughters(0);
84 gGeoManager->GetVolume(
"vPlaneH")->SetVisibility(1);
85 gGeoManager->GetVolume(
"vPlaneH")->SetLineColor(kGray);
87 gGeoManager->GetVolume(
"vDetEnclosure")->VisibleDaughters(1);
103 gGeoManager->GetVolume(
"vPlaneV")->VisibleDaughters(0);
104 gGeoManager->GetVolume(
"vPlaneV")->SetVisibility(1);
105 gGeoManager->GetVolume(
"vPlaneV")->SetLineColor(kWhite);
107 gGeoManager->GetVolume(
"vPlaneH")->VisibleDaughters(0);
108 gGeoManager->GetVolume(
"vPlaneH")->SetVisibility(1);
109 gGeoManager->GetVolume(
"vPlaneH")->SetLineColor(kGray);
111 gGeoManager->GetVolume(
"vDetEnclosure")->VisibleDaughters(1);
112 gGeoManager->GetVolume(
"vDetEnclosure")->SetLineColor(
kGreen);
114 gGeoManager->GetVolume(
"vWestRockFill")->SetLineColor(
kOrange);
115 gGeoManager->GetVolume(
"vMINOSTunnelWestRock")->SetLineColor(
kGreen);
116 gGeoManager->GetVolume(
"vRockTop")->SetLineColor(
kRed);
117 gGeoManager->GetVolume(
"vRockBase")->SetLineColor(
kRed);
118 gGeoManager->GetVolume(
"vRockTop")->SetVisibility(1);
119 gGeoManager->GetVolume(
"vMINOSNorthWall")->SetLineColor(
kBlue);
127 const char*
nm = v->GetName();
128 if (strncmp(nm,
"vCell",5)==0) {
131 << planenode->GetName() <<
"\t" 132 << n->GetName() <<
"\t" 137 int nd = v->GetNdaughters();
138 for (
int i=0;
i<
nd; ++
i) {
139 FindCells(planenode, v->GetNode(
i), v->GetNode(
i)->GetVolume());
148 const char*
nm = v->GetName();
149 if (strncmp(nm,
"vPlane",6)==0) {
155 int nd = v->GetNdaughters();
156 for (
int i=0;
i<
nd; ++
i) {
165 gSystem->Load(
"libGeom");
166 gSystem->Load(
"libGdml");
168 TString
det =
"fardet-12x12-28block-xtru-vacuum-stagger-pivoter";
170 if (which==1) det =
"ndos-2x3-6block-xtru-vacuum";
171 else if (which==2) det =
"neardet-3x3-8block-xtru-vacuum-stagger";
172 else if (which==3) det =
"fardet-12x12-28block-xtru-vacuum-stagger-pivoter";
173 else if (which==4) det =
"neardet_scibar-box-air";
174 else if (which==5) det =
"ndos-2x3-6block-xtru-air";
175 else if (which==6) det =
"ndos-2x3-6block-box-air";
176 else if (which==7) det =
"ndos-2x3-6block-box-vacuum";
177 else if (which==8) det =
"ndos-2x3-6block-trap-air";
178 else if (which==9) det =
"ndos-2x3-6block-trap-vacuum";
179 else if (which==10) det =
"ndos-2x3-4block_nomc-xtru-vacuum";
180 else if (which==11) det =
"ndos-2x3-6block_nomc-xtru-vacuum";
181 else if (which==12) det =
"ndos-2x3-6block-xtru_nocutout-air";
182 else if (which==13) det =
"neardet-2x3-6block-xtru-vacuum";
183 else if (which==14) det =
"neardet-3x2-6block-box-vacuum";
184 else if (which==15) det =
"neardet-3x3-6block-box-vacuum";
185 else if (which==16) det =
"fardet-12x12-29block-xtru-vacuum";
186 else if (which==17) det =
"testbeam-1x1-2block-xtru-vacuum";
187 else if (which==18) det =
"testbeam-1x1-3block-xtru-vacuum";
188 else if (which==19) det =
"testbeam-2x2-2block-xtru-vacuum";
189 else if (which==20) det =
"testbeam-2x2-3block-xtru-vacuum";
191 fprintf(
stderr,
"Specify a geometry by number (look at the source)\n");
195 TGeoManager::Import(det+
".gdml");
196 gGeoManager->DefaultColors();
212 gGeoManager->CheckOverlaps(0.00001);
213 gGeoManager->PrintOverlaps();
215 gGeoManager->SetMaxVisNodes(70000);
216 gGeoManager->GetVolume(
"vWorld")->Draw(
"ogl");
217 gGeoManager->SetVisOption(0);
219 TFile *
tf =
new TFile(det+
".root",
"RECREATE");
220 gGeoManager->Write();
static constexpr Double_t nm
void FindPlanes(TGeoNode *n, TGeoVolume *v)
void FindCells(TGeoNode *planenode, TGeoNode *n, TGeoVolume *v)