32#include "G4Material.hh"
33#include "G4NistManager.hh"
35#include "G4LogicalVolume.hh"
36#include "G4PVPlacement.hh"
37#include "G4GenericMessenger.hh"
46 G4double hx, G4double hy, G4double hz)
47 : fMaterialName(materialName),
48 fDimensions(hx, hy, hz)
66 auto nistManager = G4NistManager::Instance();
68 auto material = nistManager->FindOrBuildMaterial(
fMaterialName);
101 auto nistManager = G4NistManager::Instance();
103 auto newMaterial = nistManager->FindOrBuildMaterial(materialName);
104 if ( ! newMaterial ) {
105 G4cerr <<
"Material " << materialName <<
" not found." << G4endl;
106 G4cerr <<
"The box material was not changed." << G4endl;
111 G4cout <<
"Material of box changed to " << materialName << G4endl;
137 "Set world material name.");
138 setMaterialCmd.SetParameterName(
"materialName",
false);
139 setMaterialCmd.SetDefaultValue(
"G4_AIR");
140 setMaterialCmd.SetStates(G4State_PreInit);
143 auto& setDimensionsCmd
144 =
fMessenger->DeclareMethodWithUnit(
"setDimensions",
"mm",
146 "Set world dimensions (in half lentgh).");
147 setDimensionsCmd.SetParameterName(
"dimensions",
false);
148 setDimensionsCmd.SetStates(G4State_PreInit);
Definition of the Common::DetectorConstruction0 class.
G4LogicalVolume * fWorldVolume
void SetDimensions(G4ThreeVector dimensions)
~DetectorConstruction0() override
void SetMaterial(const G4String &materialName)
G4VPhysicalVolume * Construct() override
G4ThreeVector fDimensions
G4GenericMessenger * fMessenger
DetectorConstruction0(const G4String &materialName="G4_AIR", G4double hx=50 *CLHEP::cm, G4double hy=50 *CLHEP::cm, G4double hz=50 *CLHEP::cm)