121 G4Tubs* solidPip1 =
new G4Tubs(
"solidPip1", 0., 33.7, 134, 0, 360 );
122 G4Tubs* solidPip2 =
new G4Tubs(
"solidPip2", 0., 48, 66, 0, 360 );
123 G4UnionSolid* solidPip_tmp =
124 new G4UnionSolid(
"solidPip_tmp", solidPip1, solidPip2, 0, G4ThreeVector( 0, 0, -167 ) );
125 G4UnionSolid* solidPip =
126 new G4UnionSolid(
"solidPip", solidPip_tmp, solidPip2, 0, G4ThreeVector( 0, 0, 167 ) );
128 new G4LogicalVolume( solidPip, G4Material::GetMaterial(
"Beam" ),
"logicalPip" );
129 physicalPip =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, 0 ), logicalPip,
"physicalPip",
130 logicalbes,
false, 0 );
133 G4Tubs* solidgoldLayer =
134 new G4Tubs(
"solidgoldLayer", goldLayer[0], goldLayer[1], goldLayer[2] / 2, 0, 360 );
135 logicalgoldLayer =
new G4LogicalVolume( solidgoldLayer, Au,
"logicalgoldLayer" );
136 physicalgoldLayer =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, 0 ), logicalgoldLayer,
137 "physicalgoldLayer", logicalPip,
false, 0 );
140 G4Tubs* solidinnerBe =
141 new G4Tubs(
"solidinnerBe", innerBe[0], innerBe[1], innerBe[2] / 2, 0, 360 );
142 logicalinnerBe =
new G4LogicalVolume( solidinnerBe, G4Material::GetMaterial(
"Beryllium" ),
144 physicalinnerBe =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, 0 ), logicalinnerBe,
145 "physicalinnerBe", logicalPip,
false, 0 );
148 G4Tubs* solidoilLayer =
149 new G4Tubs(
"solidoilLayer", oilLayer[0], oilLayer[1], oilLayer[2] / 2, 0, 360 );
150 logicaloilLayer =
new G4LogicalVolume( solidoilLayer, Oil,
"logicaloilLayer" );
151 physicaloilLayer =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, 0 ), logicaloilLayer,
152 "physicaloilLayer", logicalPip,
false, 0 );
155 G4Tubs* solidouterBe =
156 new G4Tubs(
"solidouterBe", outerBe[0], outerBe[1], outerBe[2] / 2, 0, 360 );
157 logicalouterBe =
new G4LogicalVolume( solidouterBe, G4Material::GetMaterial(
"Beryllium" ),
159 physicalouterBe =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, 0 ), logicalouterBe,
160 "physicalouterBe", logicalPip,
false, 0 );
163 G4Tubs* solidinnerBeSide =
new G4Tubs(
"solidinnerBeSide", innerBeSide[0], innerBeSide[1],
164 innerBeSide[2] / 2, 0, 360 );
165 logicalinnerBeSide =
new G4LogicalVolume(
166 solidinnerBeSide, G4Material::GetMaterial(
"Beryllium" ),
"logicalinnerBeSide" );
167 physicalinnerBeSide =
168 new G4PVPlacement( 0, G4ThreeVector( 0, 0, innerBeSide[3] ), logicalinnerBeSide,
169 "physicalinnerBeSide1", logicalPip,
false, 0 );
170 new G4PVPlacement( 0, G4ThreeVector( 0, 0, innerBeSide[4] ), logicalinnerBeSide,
171 "physicalinnerBeSide2", logicalPip,
false, 1 );
174 G4Tubs* solidinnerAl =
175 new G4Tubs(
"solidinnerAl", innerAl[0], innerAl[1], innerAl[2] / 2, 0, 360 );
176 logicalinnerAl =
new G4LogicalVolume( solidinnerAl, G4Material::GetMaterial(
"Aluminium" ),
178 physicalinnerAl =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, innerAl[3] ), logicalinnerAl,
179 "physicalinnerAl1", logicalPip,
false, 0 );
180 new G4PVPlacement( 0, G4ThreeVector( 0, 0, innerAl[4] ), logicalinnerAl,
"physicalinnerAl2",
181 logicalPip,
false, 1 );
184 G4Tubs* solidAlRing =
185 new G4Tubs(
"solidAlRing", AlRing[0], AlRing[1], AlRing[2] / 2, 0, 360 );
186 logicalAlRing =
new G4LogicalVolume( solidAlRing, G4Material::GetMaterial(
"Aluminium" ),
188 physicalAlRing =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, AlRing[3] ), logicalAlRing,
189 "physicalAlRing1", logicalPip,
false, 0 );
190 new G4PVPlacement( 0, G4ThreeVector( 0, 0, AlRing[4] ), logicalAlRing,
"physicalAlRing2",
191 logicalPip,
false, 1 );
194 G4Tubs* solidouterAl =
195 new G4Tubs(
"solidouterAl", outerAl[0], outerAl[1], outerAl[2] / 2, 0, 360 );
196 logicalouterAl =
new G4LogicalVolume( solidouterAl, G4Material::GetMaterial(
"Aluminium" ),
198 physicalouterAl =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, outerAl[3] ), logicalouterAl,
199 "physicalouterAl1", logicalPip,
false, 0 );
200 new G4PVPlacement( 0, G4ThreeVector( 0, 0, outerAl[4] ), logicalouterAl,
"physicalouterAl2",
201 logicalPip,
false, 1 );
204 G4Tubs* solidAgLayer =
205 new G4Tubs(
"solidAgLayer", AgLayer[0], AgLayer[1], AgLayer[2] / 2, 0, 360 );
206 logicalAgLayer =
new G4LogicalVolume( solidAgLayer, Ag,
"logicalAgLayer" );
207 physicalAgLayer =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, AgLayer[3] ), logicalAgLayer,
208 "physicalAgLayer1", logicalPip,
false, 0 );
209 new G4PVPlacement( 0, G4ThreeVector( 0, 0, AgLayer[4] ), logicalAgLayer,
"physicalAgLayer2",
210 logicalPip,
false, 1 );
213 G4Tubs* solidCuLayer =
214 new G4Tubs(
"solidCuLayer", CuLayer[0], CuLayer[1], CuLayer[2] / 2, 0, 360 );
215 logicalCuLayer =
new G4LogicalVolume( solidCuLayer, G4Material::GetMaterial(
"Copper" ),
217 physicalCuLayer =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, CuLayer[3] ), logicalCuLayer,
218 "physicalCuLayer1", logicalPip,
false, 0 );
219 new G4PVPlacement( 0, G4ThreeVector( 0, 0, CuLayer[4] ), logicalCuLayer,
"physicalCuLayer2",
220 logicalPip,
false, 1 );
223 G4Tubs* solidAlCover =
224 new G4Tubs(
"solidAlCover", AlCover[0], AlCover[1], AlCover[2] / 2, 0, 360 );
225 logicalAlCover =
new G4LogicalVolume( solidAlCover, G4Material::GetMaterial(
"Aluminium" ),
227 physicalAlCover =
new G4PVPlacement( 0, G4ThreeVector( 0, 0, AlCover[3] ), logicalAlCover,
228 "physicalAlCover1", logicalPip,
false, 0 );
229 new G4PVPlacement( 0, G4ThreeVector( 0, 0, AlCover[4] ), logicalAlCover,
"physicalAlCover2",
230 logicalPip,
false, 1 );
232 G4VisAttributes* visPip =
new G4VisAttributes( G4Colour( 0., 0., 1. ) );
233 logicalPip->SetVisAttributes( visPip );
235 G4VisAttributes* visgold =
new G4VisAttributes( G4Colour( 1., 1., 0. ) );
236 logicalgoldLayer->SetVisAttributes( visgold );
238 G4VisAttributes* visBe =
new G4VisAttributes( G4Colour( 0., 1., 0. ) );
239 logicalinnerBe->SetVisAttributes( visBe );
241 G4VisAttributes* visOil =
new G4VisAttributes( G4Colour( 1., 1., 1. ) );
242 logicaloilLayer->SetVisAttributes( visOil );
244 logicalouterBe->SetVisAttributes( visBe );
246 logicalinnerBeSide->SetVisAttributes( visBe );
248 logicalinnerAl->SetVisAttributes( visOil );
250 logicalAlRing->SetVisAttributes( visOil );
252 logicalouterAl->SetVisAttributes( visOil );
254 logicalAgLayer->SetVisAttributes( visBe );
256 logicalCuLayer->SetVisAttributes( visPip );
258 logicalAlCover->SetVisAttributes( visOil );