58 :AbsorberMaterial(0),GapMaterial(0),defaultMaterial(0),
59 solidWorld(0),logicWorld(0),physiWorld(0),
60 solidCalor(0),logicCalor(0),physiCalor(0),
61 solidLayer(0),logicLayer(0),physiLayer(0),
62 solidAbsorber(0),logicAbsorber(0),physiAbsorber(0),
63 solidGap (0),logicGap (0),physiGap (0),
67 AbsorberThickness = 10.*
mm;
71 ComputeCalorParameters();
85 {
delete detectorMessenger;}
91 return ConstructCalorimeter();
96 void ExN03DetectorConstruction::DefineMaterials()
105 G4int ncomponents, natoms;
149 new G4Material(
"Scintillator", density= 1.032*
g/
cm3, ncomponents=2);
214 defaultMaterial = Vacuum;
230 ComputeCalorParameters();
235 solidWorld =
new G4Box(
"World",
236 WorldSizeX/2,WorldSizeYZ/2,WorldSizeYZ/2);
253 solidCalor=0; logicCalor=0; physiCalor=0;
254 solidLayer=0; logicLayer=0; physiLayer=0;
256 if (CalorThickness > 0.)
257 { solidCalor =
new G4Box(
"Calorimeter",
258 CalorThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);
275 solidLayer =
new G4Box(
"Layer",
276 LayerThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);
301 solidAbsorber=0; logicAbsorber=0; physiAbsorber=0;
303 if (AbsorberThickness > 0.)
304 { solidAbsorber =
new G4Box(
"Absorber",
305 AbsorberThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);
324 solidGap=0; logicGap=0; physiGap=0;
326 if (GapThickness > 0.)
327 { solidGap =
new G4Box(
"Gap",
328 GapThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);
386 G4cout <<
"\n------------------------------------------------------------"
387 <<
"\n---> The calorimeter is " << NbOfLayers <<
" layers of: [ "
388 << AbsorberThickness/
mm <<
"mm of " << AbsorberMaterial->
GetName()
390 << GapThickness/
mm <<
"mm of " << GapMaterial->
GetName() <<
" ] "
391 <<
"\n------------------------------------------------------------\n";
400 if (pttoMaterial) AbsorberMaterial = pttoMaterial;
409 if (pttoMaterial) GapMaterial = pttoMaterial;
417 AbsorberThickness = val;
454 if(magField)
delete magField;