63{
64
65 auto nistManager = G4NistManager::Instance();
66 G4Material* worldMaterial = nistManager->FindOrBuildMaterial(
"G4_Galactic");
67 G4Material* defaultMaterial = nistManager->FindOrBuildMaterial(
"G4_CONCRETE");
68
69
71
73 worldMaterial,
74 "World");
75
77 G4ThreeVector(),
78 logicWorld,
79 "World",
80 0,
81 false,
82 0);
83
84
85
86
87 G4double halfXY = 5.0*m;
88 G4double halfZ = 1.0*m;
89 G4VSolid* solidShield =
new G4Box(
"shield.solid", halfXY, halfXY, halfZ );
90
92 defaultMaterial,
93 "shield.logical");
94
96 G4ThreeVector(0,0, halfZ),
97 logicShield,
98 "shield.phys",
99 logicWorld,
100 false,
101 0);
102
103
104
105
106 G4double halfz = 1*cm;
107 G4VSolid* solidMeasurement =
new G4Box(
"meas.solid", halfXY, halfXY, halfz );
108
110 worldMaterial,
111 "meas.logical");
112
114 G4ThreeVector(0,0, 2*halfZ + halfz),
115 logicMeasurement,
116 "meas.phys",
117 logicWorld,
118 false,
119 0);
120
121
122 return physiWorld;
123}