37 #include "G4Material.hh" 38 #include "G4NistManager.hh" 40 #include "G4LogicalVolume.hh" 41 #include "G4PVPlacement.hh" 43 #include "G4GeometryManager.hh" 44 #include "G4PhysicalVolumeStore.hh" 45 #include "G4LogicalVolumeStore.hh" 46 #include "G4SolidStore.hh" 48 #include "G4UnitsTable.hh" 49 #include "G4SystemOfUnits.hh" 54 :pBox(0), aMaterial(0)
83 G4Element* H =
new G4Element(
"Hydrogen" ,
"H" , z= 1., a= 1.01*g/mole);
84 G4Element* N =
new G4Element(
"Nitrogen" ,
"N" , z= 7., a= 14.01*g/mole);
85 G4Element* O =
new G4Element(
"Oxygen" ,
"O" , z= 8., a= 16.00*g/mole);
86 G4Element* Ge =
new G4Element(
"Germanium",
"Ge", z=32., a= 72.59*g/mole);
87 G4Element* Bi =
new G4Element(
"Bismuth" ,
"Bi", z=83., a= 208.98*g/mole);
93 G4int ncomponents, natoms;
94 G4double fractionmass;
97 new G4Material(
"Air", density= 1.290*mg/cm3, ncomponents=2);
98 Air->AddElement(N, fractionmass=70.*perCent);
99 Air->AddElement(O, fractionmass=30.*perCent);
102 new G4Material(
"H2liquid", density= 70.8*mg/cm3, ncomponents=1);
103 H2l->AddElement(H, fractionmass=1.);
106 new G4Material(
"Water", density= 1.000*g/cm3, ncomponents=2);
107 H2O->AddElement(H, natoms=2);
108 H2O->AddElement(O, natoms=1);
110 H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
113 new G4Material(
"WaterSteam", density= 1.0*mg/cm3, ncomponents=1);
114 steam->AddMaterial(H2O, fractionmass=1.);
115 steam->GetIonisation()->SetMeanExcitationEnergy(71.6*eV);
118 new G4Material(
"BGO", density= 7.10*g/cm3, ncomponents=3);
119 BGO->AddElement(O , natoms=12);
120 BGO->AddElement(Ge, natoms= 3);
121 BGO->AddElement(Bi, natoms= 4);
123 new G4Material(
"Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3);
124 new G4Material(
"Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3);
125 new G4Material(
"liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3);
126 new G4Material(
"Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3);
127 new G4Material(
"Copper" , z=29., a= 63.55*g/mole, density= 8.960*g/cm3);
128 new G4Material(
"Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3);
129 new G4Material(
"Silver" , z=47., a=107.87*g/mole, density= 10.50*g/cm3);
130 new G4Material(
"Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3);
131 new G4Material(
"Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3);
132 new G4Material(
"Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3);
135 G4cout << *(G4Material::GetMaterialTable()) << G4endl;
143 G4GeometryManager::GetInstance()->OpenGeometry();
144 G4PhysicalVolumeStore::GetInstance()->Clean();
145 G4LogicalVolumeStore::GetInstance()->Clean();
146 G4SolidStore::GetInstance()->Clean();
149 sBox =
new G4Box(
"Container",
153 lBox =
new G4LogicalVolume(sBox,
157 pBox =
new G4PVPlacement(0,
174 G4cout <<
"\n The Box is " << G4BestUnit(
BoxSize,
"Length")
175 <<
" of " <<
aMaterial->GetName() << G4endl;
180 #include "G4RunManager.hh" 185 G4Material* pttoMaterial =
186 G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
190 if (
pBox) G4RunManager::GetRunManager()
193 G4cout <<
"\n--> warning from DetectorConstruction::SetMaterial : " 194 << materialChoice <<
" not found" << G4endl;
G4VPhysicalVolume * Construct()
DetectorMessenger * detectorMessenger
G4VPhysicalVolume * ConstructVolumes()
void SetMaterial(G4String)