131{
134 G4bool check_overlap = false;
135
139 new G4LogicalVolume(world_solid, materials.find(
"World")->second,
"World");
141 false, 0, check_overlap);
142
146
147
151
152
153
154
155
156
157
162
163 white->SetVisibility(true);
164 red->SetVisibility(true);
165 green->SetVisibility(true);
166 blue->SetVisibility(true);
167
168 white->SetForceWireframe(true);
169 red->SetForceSolid(true);
170 green->SetForceSolid(true);
171 blue->SetForceSolid(true);
172
173 world_log->SetVisAttributes(white);
174
175 for(G4int k = 0; k < nz; ++k)
176 for(G4int j = 0; j < ny; ++j)
177 for(G4int i = 0; i < nx; ++i)
178 {
179
180 G4double dx =
181 0.5 * sx +
static_cast<G4double
>(i) * sx - 0.5 *
fWorldDim.x();
182 G4double dy =
183 0.5 * sy +
static_cast<G4double
>(j) * sy - 0.5 *
fWorldDim.y();
184 G4double dz =
185 0.5 * sz +
static_cast<G4double
>(k) * sz - 0.5 *
fWorldDim.z();
186 G4ThreeVector td = G4ThreeVector(dx, dy, -dz);
187
188 std::stringstream ss_name;
189 ss_name << "Target_" << i << "_" << j << "_" << k;
190
191 G4Box* target_solid =
192 new G4Box(ss_name.str(), 0.5 * sx, 0.5 * sy, 0.5 * sz);
193
195 G4bool is_casing = true;
196
197 if(j == 0 || j + 1 == ny || i == 0 || i + 1 == nx ||
198 (nz > 1 && (k == 0 || k + 1 == nz)))
199 target_material = materials.find("Casing")->second;
200 else
201 {
202 target_material = materials.find("Target")->second;
203 is_casing = false;
204 }
205
208
209 target_log->SetUserLimits(steplimit);
210
212 k * nx * ny + j * nx + i, check_overlap);
213
215
216 if(is_casing)
217 target_log->SetVisAttributes(blue);
218 else
219 {
220
221 G4bool even_z = (k % 2 == 0) ? true : false;
222 G4bool even_y = (j % 2 == 0) ? true : false;
223 G4bool even_x = (i % 2 == 0) ? true : false;
224
226
227 if((even_z))
228 {
229 if((even_y && even_x) || (!even_y && !even_x))
230 theColor = red;
231 else
232 theColor = green;
233 }
234 else
235 {
236 if((!even_y && even_x) || (even_y && !even_x))
237 theColor = red;
238 else
239 theColor = green;
240 }
241
242 target_log->SetVisAttributes(theColor);
243 }
244 }
245
247}