61    fDetectorMessenger(0),
 
   62    fSolidWorld(0), fLogicWorld(0), fPhysiWorld(0),
 
   63    fSolidAbsorber(0),fLogicAbsorber(0), fPhysiAbsorber(0),
 
   64    fAbsorberMaterial(0), fAbsorberThickness(0.), fAbsorberRadius(0.),
 
   65    fWorldChanged(false), fZAbsorber(0.), fZStartAbs(0.), fZEndAbs(0.),
 
   66    fWorldMaterial(0), fWorldSizeR(0.), fWorldSizeZ(0.)
 
   73   fAbsorberThickness = 40.0*
mm;
 
   75   fAbsorberRadius   = 10.*
cm;
 
   92   delete fDetectorMessenger;
 
   99   return ConstructCalorimeter();
 
  104 void F02DetectorConstruction::DefineMaterials()
 
  112   G4double fractionmass, pressure, temperature;
 
  139   density = 1.39*
g/
cm3;
 
  153   density = 3.700*
mg/
cm3;
 
  159   density = 1.7836*
mg/
cm3;        
 
  163   density = 1.25053*
mg/
cm3;       
 
  167   density = 1.4289*
mg/
cm3;        
 
  171   density  = 1.2928*
mg/
cm3;       
 
  178   air->
AddMaterial( nitrogen, fractionmass = 0.7557 );
 
  184   density = 5.858*
mg/
cm3;
 
  190   density = 1.842*
mg/
cm3;
 
  197   density = 5.0818*
mg/
cm3;
 
  200   Xe20CO2->
AddMaterial( CarbonDioxide,   fractionmass = 0.078 );
 
  204   density = 3.601*
mg/
cm3;
 
  207   Kr20CO2->
AddMaterial( CarbonDioxide,   fractionmass = 0.11 );
 
  213   fAbsorberMaterial = Kr20CO2;   
 
  215   fWorldMaterial    = air;
 
  234   ComputeCalorParameters();
 
  239   fSolidWorld = 
new G4Tubs(
"World",                        
 
  240                    0.,fWorldSizeR,fWorldSizeZ/2.,0.,
twopi);
 
  255   fSolidAbsorber = 
new G4Tubs(
"Absorber",0.,
 
  257                               fAbsorberThickness/2.,
 
  279   G4cout << 
"\n The  WORLD   is made of " 
  280          << fWorldSizeZ/
mm << 
"mm of " << fWorldMaterial->
GetName();
 
  281   G4cout << 
", the transverse size (R) of the world is " 
  282          << fWorldSizeR/
mm << 
" mm. " << 
G4endl;
 
  283   G4cout << 
" The ABSORBER is made of " 
  284          << fAbsorberThickness/
mm << 
"mm of " << fAbsorberMaterial->
GetName();
 
  285   G4cout << 
", the transverse size (R) is " << fAbsorberRadius/
mm 
  287   G4cout << 
" Z position of the (middle of the) absorber " 
  288          << fZAbsorber/
mm << 
"  mm." << 
G4endl;
 
  301   for (
size_t j=0 ; j<theMaterialTable->size() ; j++)
 
  302    { material = (*theMaterialTable)[j];
 
  303      if (material->
GetName() == materialChoice)
 
  321   for (
size_t j=0 ; j<theMaterialTable->size() ; j++)
 
  322    { material = (*theMaterialTable)[j];
 
  323      if(material->
GetName() == materialChoice)
 
  337   fAbsorberThickness = val;
 
  338   ComputeCalorParameters();
 
  347   fAbsorberRadius = val;
 
  348   ComputeCalorParameters();
 
  356   fWorldChanged = 
true;
 
  358   ComputeCalorParameters();
 
  366   fWorldChanged = 
true;
 
  368   ComputeCalorParameters();
 
  377   ComputeCalorParameters();
 
  387   if (!fCalorimeterSD.
Get()) {
 
  389     fCalorimeterSD.
Put(calorimeterSD);
 
  395   if (!fEmFieldSetup.
Get()) { 
 
  398     fEmFieldSetup.
Put(fieldSetup);
 
Definition of the F02ElectricFieldSetup class. 
 
CLHEP::Hep3Vector G4ThreeVector
 
void AddMaterial(G4Material *material, G4double fraction)
 
void PrintCalorParameters()
 
const G4String & GetName() const 
 
static G4MaterialTable * GetMaterialTable()
 
std::vector< G4Material * > G4MaterialTable
 
void SetWorldSizeR(G4double)
 
F02DetectorConstruction()
 
virtual ~F02DetectorConstruction()
 
void SetAbsorberRadius(G4double)
 
Definition of the F02DetectorConstruction class. 
 
static G4PhysicalVolumeStore * GetInstance()
 
void SetWorldSizeZ(G4double)
 
G4GLOB_DLL std::ostream G4cout
 
void PhysicsHasBeenModified()
 
void SetAbsorberZpos(G4double)
 
static G4LogicalVolumeStore * GetInstance()
 
static G4SolidStore * GetInstance()
 
void SetWorldMaterial(G4String)
 
Definition of the F02DetectorMessenger class. 
 
static G4GeometryManager * GetInstance()
 
Definition of the F02CalorimeterSD class. 
 
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
 
void SetAbsorberThickness(G4double)
 
virtual void ConstructSDandField()
 
static G4RunManager * GetRunManager()
 
void SetAbsorberMaterial(G4String)
 
void OpenGeometry(G4VPhysicalVolume *vol=0)
 
void AddElement(G4Element *element, G4int nAtoms)
 
void SetMaterial(G4Material *pMaterial)
 
void Put(const value_type &val) const 
 
virtual G4VPhysicalVolume * Construct()