12 #include "G4LogicalVolume.hh"
13 #include "G4Material.hh"
14 #include "G4PVPlacement.hh"
15 #include "G4RunManager.hh"
16 #include "G4ThreeVector.hh"
17 #include "QGSP_BERT.hh"
19 class G4VUserPhysicsList;
23 if (G4RunManager::GetRunManager() ==
nullptr) {
24 G4RunManager* runManager =
new G4RunManager;
27 G4VUserPhysicsList* thePL =
new QGSP_BERT;
28 runManager->SetUserInitialization(thePL);
34 runManager->Initialize();
38 return G4RunManager::GetRunManager();
48 G4ThreeVector materialPosition(0., 0., 0.);
51 G4Box* worldBox =
new G4Box(
"WorldBox", 25000., 25000., 25000.);
54 G4Material* g4vacuum = G4Material::GetMaterial(
"Vacuum",
false);
55 if (g4vacuum ==
nullptr) {
57 new G4Material(
"FatrasDummyVacuum", 1., 1.01 *
CLHEP::g / CLHEP::mole,
58 CLHEP::universe_mean_density, kStateGas,
59 0.1 * CLHEP::kelvin, 1.
e-19 * CLHEP::pascal);
63 m_worldLog = m_worldLog !=
nullptr
65 G4LogicalVolume(worldBox, g4vacuum,
"WorldLogical",
66 nullptr,
nullptr,
nullptr)
67 :
new G4LogicalVolume(worldBox, g4vacuum,
"WorldLogical",
68 nullptr,
nullptr,
nullptr);
70 m_worldPhys !=
nullptr
72 G4PVPlacement(
nullptr, G4ThreeVector(0., 0., 0),
73 "WorldPhysical", m_worldLog,
nullptr,
false, 0)
74 :
new G4PVPlacement(
nullptr, materialPosition,
"WorldPhysical",
75 m_worldLog,
nullptr,
false, 0);