62 fDetectorMessenger(0),
63 fSolidWorld(0), fLogicWorld(0), fPhysiWorld(0),
64 fSolidAbsorber(0),fLogicAbsorber(0), fPhysiAbsorber(0),
65 fAbsorberMaterial(0), fAbsorberThickness(0.), fAbsorberRadius(0.),
66 fWorldChanged(false), fZAbsorber(0.), fZStartAbs(0.), fZEndAbs(0.),
67 fWorldMaterial(0), fWorldSizeR(0.), fWorldSizeZ(0.)
113 G4double fractionmass, pressure, temperature;
140 density = 1.39*
g/
cm3;
154 density = 3.700*
mg/
cm3;
160 density = 1.7836*
mg/
cm3;
164 density = 1.25053*
mg/
cm3;
168 density = 1.4289*
mg/
cm3;
172 density = 1.2928*
mg/
cm3;
179 air->
AddMaterial( nitrogen, fractionmass = 0.7557 );
185 density = 5.858*
mg/
cm3;
191 density = 1.842*
mg/
cm3;
198 density = 5.0818*
mg/
cm3;
201 Xe20CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.078 );
205 density = 3.601*
mg/
cm3;
208 Kr20CO2->
AddMaterial( CarbonDioxide, fractionmass = 0.11 );
280 G4cout <<
"\n The WORLD is made of "
282 G4cout <<
", the transverse size (R) of the world is "
284 G4cout <<
" The ABSORBER is made of "
288 G4cout <<
" Z position of the (middle of the) absorber "
302 for (
size_t j=0 ; j<theMaterialTable->size() ; j++)
303 { material = (*theMaterialTable)[j];
304 if (material->
GetName() == materialChoice)
322 for (
size_t j=0 ; j<theMaterialTable->size() ; j++)
323 { material = (*theMaterialTable)[j];
324 if(material->
GetName() == materialChoice)
static G4RunManager * GetRunManager()
void SetWorldSizeZ(G4double)
void SetAbsorberRadius(G4double)
void SetAbsorberZpos(G4double)
CLHEP::Hep3Vector G4ThreeVector
G4double fAbsorberThickness
std::vector< ExP01TrackerHit * > a
void SetAbsorberMaterial(G4String)
G4Material * fAbsorberMaterial
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static constexpr double STP_Temperature
static G4MaterialTable * GetMaterialTable()
virtual void ConstructSDandField()
static constexpr double mm
void AddNewDetector(G4VSensitiveDetector *aSD)
G4VPhysicalVolume * fPhysiAbsorber
F02DetectorConstruction()
F02DetectorMessenger * fDetectorMessenger
G4VPhysicalVolume * fPhysiWorld
void SetWorldSizeR(G4double)
static constexpr double STP_Pressure
G4LogicalVolume * fLogicWorld
const G4String & GetName() const
static constexpr double g
Definition of the F02ElectricFieldSetup class.
G4Cache< F02CalorimeterSD * > fCalorimeterSD
G4VPhysicalVolume * ConstructCalorimeter()
void ComputeCalorParameters()
static constexpr double mg
void SetWorldMaterial(G4String)
G4Material * fWorldMaterial
static G4GeometryManager * GetInstance()
static constexpr double twopi
void OpenGeometry(G4VPhysicalVolume *vol=0)
void SetAbsorberThickness(G4double)
void Put(const value_type &val) const
std::vector< G4Material * > G4MaterialTable
Definition of the F02DetectorConstruction class.
G4Cache< F02ElectricFieldSetup * > fEmFieldSetup
static G4SolidStore * GetInstance()
static G4SDManager * GetSDMpointer()
static G4PhysicalVolumeStore * GetInstance()
G4LogicalVolume * fLogicAbsorber
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
void AddElement(G4Element *element, G4int nAtoms)
void PrintCalorParameters()
void PhysicsHasBeenModified()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
void SetMaterial(G4Material *pMaterial)
Definition of the F02DetectorMessenger class.
virtual G4VPhysicalVolume * Construct()
static constexpr double mole
void AddMaterial(G4Material *material, G4double fraction)
static constexpr double cm3
Definition of the F02CalorimeterSD class.
virtual ~F02DetectorConstruction()
static G4LogicalVolumeStore * GetInstance()