1#include "DetectorConstruction_includes.hh"
6void DetectorConstruction::ConstructHexPart() {
7 static bool firstcall =
true;
16 G4Material *sample_mat = DetectorConstruction::CopyMaterial(_copper,
"sample_mat");
17 G4cout <<
"now ConstructArrayHexPart()\n" << G4endl;
19 G4double sample_thickness_mm = 50;
20 if (ExtraOpts.find(
"hex_insert_mm") != ExtraOpts.end()) {
22 std::stringstream ss(ExtraOpts[
"hex_insert_mm"]);
23 ss >> sample_thickness_mm;
27 sample_thickness_mm = 50.;
28 G4cout <<
"Use:" << G4endl;
29 G4cout <<
" /detGeometry/opt \"hex_insert_mm\" " << G4endl;
30 G4cout <<
" to set thickness of hex shield insert" << G4endl;
31 G4cout <<
"Assuming default value of:" << 50 <<
false << G4endl;
41 ->SetMaterial(sample_mat)
42 ->SetColor(0.8, 0.45, 0.45, 1)
44 ->SetDefaultUnit(CLHEP::mm)
46 ->AddPlane(p.
IR = 0, p.
OR = 110.0 / 2.0, p.
z = 0)
47 ->AddPlane(p.
IR, p.
OR, p.
z += sample_thickness_mm);
52 ->AddPlane(p.
IR = 0, p.
OR = 85 / 2.0, p.
z = -0.1)
53 ->AddPlane(p.
IR, p.
OR, p.
z += sample_thickness_mm+0.1);
56 hex_filler->AddSubtraction(filler_id)
57 ->SetBooleanName(
"hex_insert");
61 ->SetMother(world_phys)
RZBuilder CreatePolyconeBuilder(const G4String &name, G4double phi_start, G4double phi_tot)
Create a builder for associated IR,OR,Z defined object.
RZBuilder CreatePolyhedraBuilder(const G4String &name, int sides, G4double phi_start, G4double phi_tot)
Create a builder for associated IR,OR,Z defined object.
Struct for adding planes to GeantMultiPlane –DSLeonard 2024 Overloads make this not strictly needed.