31 #include "B4DetectorConstruction.hh"
83 return DefineVolumes();
88 void B4DetectorConstruction::DefineMaterials()
92 nistManager->FindOrBuildMaterial(
"G4_Pb");
114 G4int nofLayers = 10;
119 auto layerThickness = absoThickness + gapThickness;
120 auto calorThickness = nofLayers * layerThickness;
121 auto worldSizeXY = 1.2 * calorSizeXY;
122 auto worldSizeZ = 1.2 * calorThickness;
129 if ( ! defaultMaterial || ! absorberMaterial || ! gapMaterial ) {
131 msg <<
"Cannot retrieve materials already defined.";
132 G4Exception(
"B4DetectorConstruction::DefineVolumes()",
141 worldSizeXY/2, worldSizeXY/2, worldSizeZ/2);
164 =
new G4Box(
"Calorimeter",
165 calorSizeXY/2, calorSizeXY/2, calorThickness/2);
188 calorSizeXY/2, calorSizeXY/2, layerThickness/2);
209 calorSizeXY/2, calorSizeXY/2, absoThickness/2);
233 calorSizeXY/2, calorSizeXY/2, gapThickness/2);
257 <<
"------------------------------------------------------------" <<
G4endl
258 <<
"---> The calorimeter is " << nofLayers <<
" layers of: [ "
259 << absoThickness/
mm <<
"mm of " << absorberMaterial->GetName()
261 << gapThickness/
mm <<
"mm of " << gapMaterial->GetName() <<
" ] " <<
G4endl
262 <<
"------------------------------------------------------------" <<
G4endl;
270 simpleBoxVisAtt->SetVisibility(
true);
271 calorLV->SetVisAttributes(simpleBoxVisAtt);
void SetVerboseLevel(G4int verboseLevel)
static constexpr double mm
std::ostringstream G4ExceptionDescription
CLHEP::Hep3Vector G4ThreeVector
std::vector< ExP01TrackerHit * > a
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
int universe_mean_density
static G4MaterialTable * GetMaterialTable()
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
static constexpr double kelvin
virtual void ConstructSDandField()
static constexpr double cm3
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual G4VPhysicalVolume * Construct()
virtual ~B4DetectorConstruction()
static constexpr double mole
static const G4VisAttributes & GetInvisible()