10 #include "GeoModelKernel/GeoMaterial.h"
15 #include "G4LogicalVolume.hh"
16 #include "G4Material.hh"
17 #include "G4PVPlacement.hh"
20 #include "CLHEP/Units/SystemOfUnits.h"
35 G4Box *emptybox =
new G4Box(
"Crate",dxCrate,dyCrate,dzCrate);
39 if (StatusCode::SUCCESS !=
detStore()->
retrieve(materialManager, std::string(
"MATERIALS")))
44 const GeoMaterial *geoAir = materialManager->
getMaterial(
"tile::Air");
45 const GeoMaterial *geoAluminium = materialManager->
getMaterial(
"std::Aluinium");
46 const GeoMaterial *geoSiO2CondEpox = materialManager->
getMaterial(
"tile::SiO2CondEpox");
48 G4Material *airMaterial=theMaterialFactory.
Build(geoAir);
49 G4Material *aluminiumMaterial=theMaterialFactory.
Build(geoAluminium);
50 G4Material *SiO2CondEpoxMaterial=theMaterialFactory.
Build(geoSiO2CondEpox);
52 G4Material *crateMaterial =
new G4Material(
"LArCrateMaterial", 0.2876*
CLHEP::g/
CLHEP::cm3,3);
53 crateMaterial->AddMaterial(aluminiumMaterial, 0.7744);
54 crateMaterial->AddMaterial(SiO2CondEpoxMaterial, 0.2216);
55 crateMaterial->AddMaterial(airMaterial, 0.0040);
57 G4LogicalVolume *emptyboxV =
new G4LogicalVolume(emptybox,crateMaterial,
"LarCrate");
59 const double thicknessAlu = 5.*
CLHEP::mm ;
63 double xLayers=0.0, yLayers=0.0, zLayers=0.0;
66 G4Box *AluLayerTB =
new G4Box(
"AluLayerTB",dxCrate,thicknessAlu/2.,dzCrate);
67 G4LogicalVolume *AluLayerVTB =
new G4LogicalVolume(AluLayerTB,aluminiumMaterial,
"AluLayerTB");
68 if(j==0) yLayers = dyCrate - thicknessAlu/2.;
69 if(j==1) yLayers = -dyCrate + thicknessAlu/2.;
72 G4ThreeVector(0.,yLayers,0.),
80 G4Box *AluLayerRL =
new G4Box(
"AluLayerRL",dxCrate,dyCrate-thicknessAlu,thicknessAlu/2.);
81 G4LogicalVolume *AluLayerVRL =
new G4LogicalVolume(AluLayerRL,aluminiumMaterial,
"AluLayerRL");
82 if(j==0) zLayers = dzCrate - thicknessAlu/2.;
83 if(j==1) zLayers = -dzCrate + thicknessAlu/2.;
86 G4ThreeVector(0.,0.,zLayers),
94 G4Box *AluLayerFB =
new G4Box(
"AluLayerFB",thicknessAlu/2.,dyCrate-thicknessAlu,dzCrate-thicknessAlu);
95 G4LogicalVolume *AluLayerVFB =
new G4LogicalVolume(AluLayerFB,aluminiumMaterial,
"AluLayerFB");
96 if(j==0) xLayers = dxCrate - thicknessAlu/2.;
97 if(j==1) xLayers = -dxCrate + thicknessAlu/2.;
100 G4ThreeVector(xLayers,0.,0.),