37 #include "DetectorConstruction.hh"
38 #include "DetectorMessenger.hh"
63 :fAbsorberMaterial(NULL),fGapMaterial(NULL),fDefaultMaterial(NULL),
72 fAbsorberThickness = 10.*
mm;
73 fGapThickness = 5.*
mm;
75 fCalorSizeYZ = 10.*
cm;
76 ComputeCalorParameters();
90 {
delete fDetectorMessenger;}
96 return ConstructCalorimeter();
101 void DetectorConstruction::DefineMaterials()
110 G4int ncomponents, natoms;
154 new G4Material(
"Scintillator", density= 1.032*
g/
cm3, ncomponents=2);
227 fDefaultMaterial = vacuum;
243 ComputeCalorParameters();
249 solidWorld =
new G4Box(
"World",
250 fWorldSizeX/2,fWorldSizeYZ/2,fWorldSizeYZ/2);
271 if (fCalorThickness > 0.)
272 { solidCalor =
new G4Box(
"Calorimeter",
273 fCalorThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2);
290 solidLayer =
new G4Box(
"Layer",
291 fLayerThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2);
319 if (fAbsorberThickness > 0.)
320 { solidAbsorber =
new G4Box(
"Absorber",
321 fAbsorberThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2);
343 if (fGapThickness > 0.)
344 { solidGap =
new G4Box(
"Gap",
345 fGapThickness/2,fCalorSizeYZ/2,fCalorSizeYZ/2);
382 G4cout <<
"\n------------------------------------------------------------"
383 <<
"\n---> The calorimeter is " << fNbOfLayers <<
" layers of: [ "
384 << fAbsorberThickness/
mm <<
"mm of " << fAbsorberMaterial->
GetName()
386 << fGapThickness/
mm <<
"mm of " << fGapMaterial->
GetName() <<
" ] "
387 <<
"\n------------------------------------------------------------\n";
396 if (pttoMaterial) fAbsorberMaterial = pttoMaterial;
405 if (pttoMaterial) fGapMaterial = pttoMaterial;
413 fAbsorberThickness = val;
450 if(fMagField)
delete fMagField;