79 return DefineVolumes();
84 void B4cDetectorConstruction::DefineMaterials()
88 nistManager->FindOrBuildMaterial(
"G4_Pb");
115 auto layerThickness = absoThickness + gapThickness;
116 auto calorThickness = fNofLayers * layerThickness;
117 auto worldSizeXY = 1.2 * calorSizeXY;
118 auto worldSizeZ = 1.2 * calorThickness;
125 if ( ! defaultMaterial || ! absorberMaterial || ! gapMaterial ) {
127 msg <<
"Cannot retrieve materials already defined.";
128 G4Exception(
"B4DetectorConstruction::DefineVolumes()",
137 worldSizeXY/2, worldSizeXY/2, worldSizeZ/2);
160 =
new G4Box(
"Calorimeter",
161 calorSizeXY/2, calorSizeXY/2, calorThickness/2);
184 calorSizeXY/2, calorSizeXY/2, layerThickness/2);
205 calorSizeXY/2, calorSizeXY/2, absoThickness/2);
228 calorSizeXY/2, calorSizeXY/2, gapThickness/2);
251 <<
"------------------------------------------------------------" <<
G4endl
252 <<
"---> The calorimeter is " << fNofLayers <<
" layers of: [ "
253 << absoThickness/
mm <<
"mm of " << absorberMaterial->GetName()
255 << gapThickness/
mm <<
"mm of " << gapMaterial->GetName() <<
" ] " <<
G4endl
256 <<
"------------------------------------------------------------" <<
G4endl;
264 simpleBoxVisAtt->SetVisibility(
true);
265 calorLV->SetVisAttributes(simpleBoxVisAtt);
void SetVerboseLevel(G4int verboseLevel)
virtual void ConstructSDandField()
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()
virtual G4VPhysicalVolume * Construct()
static G4NistManager * Instance()
virtual ~B4cDetectorConstruction()
Definition of the B4cCalorimeterSD class.
B4cDetectorConstruction()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
Definition of the B4cDetectorConstruction class.
static constexpr double kelvin
static constexpr double cm3
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void AddNewDetector(G4VSensitiveDetector *aSD)
static G4SDManager * GetSDMpointer()
static constexpr double mole
static const G4VisAttributes & GetInvisible()