57 G4String name, symbol;
59 A = 1.01 * CLHEP::g / CLHEP::mole;
60 G4Element* elH =
new G4Element(name =
"Hydrogen", symbol =
"H", Z = 1, A);
62 A = 12.01 * CLHEP::g / CLHEP::mole;
63 G4Element* elC =
new G4Element(name =
"Carbon", symbol =
"C", Z = 6, A);
65 A = 16.00 * CLHEP::g / CLHEP::mole;
66 G4Element* elO =
new G4Element(name =
"Oxygen", symbol =
"O", Z = 8, A);
68 A = 22.99 * CLHEP::g / CLHEP::mole;
69 G4Element* elNa =
new G4Element(name =
"Natrium", symbol =
"Na", Z = 11, A);
71 A = 200.59 * CLHEP::g / CLHEP::mole;
72 G4Element* elHg =
new G4Element(name =
"Hg", symbol =
"Hg", Z = 80, A);
74 A = 26.98 * CLHEP::g / CLHEP::mole;
75 G4Element* elAl =
new G4Element(name =
"Aluminium", symbol =
"Al", Z = 13, A);
77 A = 28.09 * CLHEP::g / CLHEP::mole;
78 G4Element* elSi =
new G4Element(name =
"Silicon", symbol =
"Si", Z = 14, A);
80 A = 39.1 * CLHEP::g / CLHEP::mole;
81 G4Element* elK =
new G4Element(name =
"K", symbol =
"K", Z = 19, A);
83 A = 69.72 * CLHEP::g / CLHEP::mole;
84 G4Element* elCa =
new G4Element(name =
"Calzium", symbol =
"Ca", Z = 31, A);
86 A = 55.85 * CLHEP::g / CLHEP::mole;
87 G4Element* elFe =
new G4Element(name =
"Iron", symbol =
"Fe", Z = 26, A);
89 density = 2.03 * CLHEP::g / CLHEP::cm3;
90 G4Material* Concrete =
new G4Material(
"Concrete", density, 10);
91 Concrete->AddElementByMassFraction(elH, 0.01);
92 Concrete->AddElementByMassFraction(elO, 0.529);
93 Concrete->AddElementByMassFraction(elNa, 0.016);
94 Concrete->AddElementByMassFraction(elHg, 0.002);
95 Concrete->AddElementByMassFraction(elAl, 0.034);
96 Concrete->AddElementByMassFraction(elSi, 0.337);
97 Concrete->AddElementByMassFraction(elK, 0.013);
98 Concrete->AddElementByMassFraction(elCa, 0.044);
99 Concrete->AddElementByMassFraction(elFe, 0.014);
100 Concrete->AddElementByMassFraction(elC, 0.001);
104 double stepSize = content.getLength(
"stepSize", 5 * CLHEP::um);
108 vector<double> bar = content.getArray(
"bar");
109 B2INFO(
"Contents of bar: ");
110 for (
double value : bar) {
111 B2INFO(
"value: " << value);
115 for (
const GearDir& activeParams : content.getNodes(
"Active")) {
118 G4Box* s_CAVE =
new G4Box(
"s_CAVE",
119 activeParams.getLength(
"px")*CLHEP::cm,
120 activeParams.getLength(
"py")*CLHEP::cm,
121 activeParams.getLength(
"pz")*CLHEP::cm);
124 G4LogicalVolume* l_CAVE =
new G4LogicalVolume(s_CAVE, Concrete,
"l_CAVE", 0, 0);
127 l_CAVE->SetUserLimits(
new G4UserLimits(stepSize));
130 G4ThreeVector CAVEpos = G4ThreeVector(
131 activeParams.getLength(
"x_cave") * CLHEP::cm,
132 activeParams.getLength(
"y_cave") * CLHEP::cm,
133 activeParams.getLength(
"z_cave") * CLHEP::cm
136 G4RotationMatrix* rot_cave =
new G4RotationMatrix();
137 rot_cave->rotateX(activeParams.getLength(
"AngleX"));
138 rot_cave->rotateY(activeParams.getLength(
"AngleY"));
139 rot_cave->rotateZ(activeParams.getLength(
"AngleZ"));
146 new G4PVPlacement(rot_cave, CAVEpos, l_CAVE,
"p_CAVE", &topVolume,
false, detID);