34 #include "DetectorConstruction.hh"
35 #include "DetectorMessenger.hh"
60 fDefaultMaterial(0),fSolidWorld(0),fLogicWorld(0),fPhysiWorld(0),
61 fSolidCalor(0),fLogicCalor(0),fPhysiCalor(0),
62 fSolidLayer(0),fLogicLayer(0),fPhysiLayer(0),
164 new G4Material(
"Polystyrene", density= 1.032*
g/
cm3, ncomponents=2);
169 new G4Material(
"Scintillator", density= 1.032*
g/
cm3, ncomponents=2);
269 density = universe_mean_density;
271 temperature = 2.73*
kelvin;
275 density = 1.e-5*
g/
cm3;
276 pressure = 2.e-2*
bar;
277 temperature = STP_Temperature;
279 new G4Material(
"Beam", density, ncomponents=1,
413 G4cout <<
"\n-------------------------------------------------------------"
414 <<
"\n ---> The calorimeter is " <<
fNbOfLayers <<
" layers of:";
420 G4cout <<
"\n-------------------------------------------------------------\n";
426 G4cout <<
"\n-------------------------------------------------------------\n";
447 {
G4cout <<
"\n --->warning from SetfNbOfLayers: "
448 << ival <<
" must be at least 1. Command refused" <<
G4endl;
461 if (ival < 1 || ival > (
MaxAbsor-1))
462 {
G4cout <<
"\n ---> warning from SetfNbOfAbsor: "
463 << ival <<
" must be at least 1 and and most " <<
MaxAbsor-1
464 <<
". Command refused" <<
G4endl;
479 {
G4cout <<
"\n --->warning from SetAbsorMaterial: absor number "
480 << ival <<
" out of range. Command refused" <<
G4endl;
497 {
G4cout <<
"\n --->warning from SetAbsorThickness: absor number "
498 << ival <<
" out of range. Command refused" <<
G4endl;
502 {
G4cout <<
"\n --->warning from SetAbsorThickness: thickness "
503 << val <<
" out of range. Command refused" <<
G4endl;
517 {
G4cout <<
"\n --->warning from SetfCalorSizeYZ: thickness "
518 << val <<
" out of range. Command refused" <<
G4endl;
G4LogicalVolume * fLogicLayer
G4IonisParamMat * GetIonisation() const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
void SetChemicalFormula(const G4String &chF)
CLHEP::Hep3Vector G4ThreeVector
void AddMaterial(G4Material *material, G4double fraction)
void SetMeanExcitationEnergy(G4double value)
const G4String & GetName() const
G4VPhysicalVolume * Construct()
void SetBirksConstant(G4double value)
void SetWorldMaterial(const G4String &)
G4VPhysicalVolume * fPhysiAbsor[MaxAbsor]
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4VPhysicalVolume * fPhysiLayer
G4Material * fAbsorMaterial[MaxAbsor]
static G4NistManager * Instance()
void SetNbOfLayers(G4int)
G4Cache< G4GlobalMagFieldMessenger * > fFieldMessenger
G4LogicalVolume * fLogicAbsor[MaxAbsor]
static G4PhysicalVolumeStore * GetInstance()
virtual void ConstructSDandField()
G4double fAbsorThickness[MaxAbsor]
void ComputeCalorParameters()
G4GLOB_DLL std::ostream G4cout
G4LogicalVolume * fLogicWorld
void PhysicsHasBeenModified()
G4VPhysicalVolume * fPhysiWorld
void SetAbsorMaterial(G4int, const G4String &)
G4LogicalVolume * fLogicCalor
void AddIsotope(G4Isotope *isotope, G4double RelativeAbundance)
G4VPhysicalVolume * fPhysiCalor
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
static const double perCent
static G4GeometryManager * GetInstance()
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static const double kelvin
static G4RunManager * GetRunManager()
G4Material * fDefaultMaterial
void SetCalorSizeYZ(G4double)
G4Box * fSolidAbsor[MaxAbsor]
G4VPhysicalVolume * ConstructCalorimeter()
static const double atmosphere
void SetAbsorThickness(G4int, G4double)
void OpenGeometry(G4VPhysicalVolume *vol=0)
void AddElement(G4Element *element, G4int nAtoms)
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameNist, G4double temp, G4double pres, G4bool isotopes=true)
void PrintCalorParameters()
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
void Put(const value_type &val) const
Messenger class that defines commands for DetectorConstruction.
DetectorMessenger * fDetectorMessenger