31 #include "B4DetectorConstruction.hh"
83 return DefineVolumes();
88 void B4DetectorConstruction::DefineMaterials()
114 G4int nofLayers = 10;
119 G4double layerThickness = absoThickness + gapThickness;
120 G4double calorThickness = nofLayers * layerThickness;
121 G4double worldSizeXY = 1.2 * calorSizeXY;
122 G4double 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);
255 G4cout <<
"\n------------------------------------------------------------"
256 <<
"\n---> The calorimeter is " << nofLayers <<
" layers of: [ "
257 << absoThickness/
mm <<
"mm of " << absorberMaterial->
GetName()
259 << gapThickness/
mm <<
"mm of " << gapMaterial->
GetName() <<
" ] "
260 <<
"\n------------------------------------------------------------\n";
void SetVerboseLevel(G4int verboseLevel)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
std::ostringstream G4ExceptionDescription
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
int universe_mean_density
const G4String & GetName() const
void SetVisibility(G4bool)
static G4MaterialTable * GetMaterialTable()
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
virtual void ConstructSDandField()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual G4VPhysicalVolume * Construct()
virtual ~B4DetectorConstruction()
static const G4VisAttributes Invisible
void SetVisAttributes(const G4VisAttributes *pVA)