133{
134
135
136
137 G4GeometryManager::GetInstance()->OpenGeometry();
138 G4PhysicalVolumeStore::GetInstance()->Clean();
139 G4LogicalVolumeStore::GetInstance()->Clean();
140 G4SolidStore::GetInstance()->Clean();
141
142
143
144
145 G4Box* solidWorld =
new G4Box(
"World",15.*cm, 15.*cm, 15.*cm);
147 G4Material::GetMaterial("Vacuum"),
148 "World");
149
151 G4ThreeVector(),
152 logicWorld,
153 "World",
154 0,
155 false,
156 0);
157
158
159
160
161 G4double radiusShieldingSphere =10.*cm;
162
163 G4Orb* solidShieldingSphere=
new G4Orb(
"Shielding", radiusShieldingSphere);
166 G4Material::GetMaterial("Aluminum"),
167 "Shielding");
168
170 G4ThreeVector(),
171 logicShieldingSphere,
172 "Shielding",
173 logicWorld,
174 false,
175 0);
176
177
178
179
183 solidBulkSphere,
184 G4Material::GetMaterial("Air"),
185 "Bulk");
186
188 G4ThreeVector(),
189 logicBulkSphere,
190 "Bulk",
191 logicShieldingSphere,
192 false,
193 0);
194
195
196
197
200 0.,twopi);
201
203 G4Material::GetMaterial("Silicon"),
204 "SensitiveVolume");
205
207 G4ThreeVector(0.,0.,0.),
208 logicDetectingCylinder,
209 "SensitiveVolume",
210 logicBulkSphere,
211 false,
212 0);
213
214
215 RMC01SD* theSensitiveDetector =
new RMC01SD(
"/SensitiveCylinder");
216
217 G4SDManager::GetSDMpointer()->AddNewDetector(theSensitiveDetector);
218 logicDetectingCylinder->SetSensitiveDetector(theSensitiveDetector);
219
220
221
222 G4Box* solidPlate=
new G4Box(
"TantalumPlate",4.*cm,4.*cm,0.25*mm);
224 G4Material::GetMaterial("Tantalum"),
225 "TantalumPlate");
226
227
229 G4ThreeVector(0.,0.,6.*cm),
230 logicPlate,
231 "TantalumPlate1",
232 logicBulkSphere,
233 false,
234 0);
235
237 G4ThreeVector(0.,0.,-6.*cm),
238 logicPlate,
239 "TantalumPlate2",
240 logicBulkSphere,
241 false,
242 0);
243
244 return physiWorld;
245
246}