10 #include "GeoModelKernel/GeoMaterial.h"
15 #include "G4LogicalVolume.hh"
16 #include "G4Material.hh"
17 #include "G4PVPlacement.hh"
20 #include "CLHEP/Units/SystemOfUnits.h"
35 ATH_MSG_DEBUG (
"DeadMaterial geometry " << dzdeadmaterial <<
" " << dydeadmaterial <<
" " << dxdeadmaterial );
37 G4Box *wall =
new G4Box(
"DeadMaterial",dxdeadmaterial,dydeadmaterial,dzdeadmaterial);
41 if (StatusCode::SUCCESS !=
detStore()->
retrieve(materialManager, std::string(
"MATERIALS")))
46 const GeoMaterial *geoAir = materialManager->
getMaterial(
"tile::Air");
47 const GeoMaterial *geoIron = materialManager->
getMaterial(
"std::Iron");
49 G4Material *airMaterial=theMaterialFactory.
Build(geoAir);
50 G4Material *ironMaterial=theMaterialFactory.
Build(geoIron);
52 G4LogicalVolume *wallV =
new G4LogicalVolume(wall,airMaterial,
"DeadMaterial");
55 const double IronWidth = 5./2. *
CLHEP::mm;
56 for (
int j=0; j<2; j++)
59 G4Box *ironLayerX =
new G4Box(
"IronLayerX",IronWidth,dydeadmaterial,dzdeadmaterial);
60 G4LogicalVolume *ironLayerXV =
new G4LogicalVolume(ironLayerX,ironMaterial,
"DMIronLayerX");
62 double xLayer=0.0, zLayer=0.0;
63 if(j==0) xLayer = -dxdeadmaterial+IronWidth;
64 if(j==1) xLayer = dxdeadmaterial-IronWidth;
67 G4ThreeVector(xLayer,0,0),
75 const double IronWidthX = 140./2. *
CLHEP::mm;
76 G4Box *ironLayerZ =
new G4Box(
"IronLayerZ",IronWidthX,dydeadmaterial,IronWidth);
77 G4LogicalVolume *ironLayerZV =
new G4LogicalVolume(ironLayerZ,ironMaterial,
"DMIronLayerZ");
78 if(j==0) zLayer = -dzdeadmaterial+IronWidth;
79 if(j==1) zLayer = dzdeadmaterial-IronWidth;
82 G4ThreeVector(0,0,zLayer),