Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.09.2026
Размер:
2 Мб
Скачать
ВЕЩЕСТВО
1
Material definition classes
Different “specializations” of matter G4Isotope Single isotopes (specific Z and A) G4Element Elemental mixes, natural or enriched G4Material Molecules, compounds, mixtures, alloys
G4Material carries physical attributes
For hadronic processes, must have at least correct set of
elements
Do not use “averaged material”
2
Elemental materials
e.g., liquid argon
G4double density = 1.390*g/cm3; G4double z = 18., a = 39.95*g/mole; G4Material* lAr = new G4Material("liquidArgon", z, a, density);
Elements have averaged atomic weight:
G4double z =G4Element* elH = newG4Element("Hydrogen", "H", z, a); /*...*/ z = 8., a = 15.9994*g/mole; G4Element* elO = newG4Element("Oxygen", "O", z, a); /*...*/ z = 7., a = 14.007*g/mole; G4Element* elN = newG4Element("Nitrogen", "N", z, a);
1., a = 1.0079*g/mole;
3
Isotopes and abundances
e.g., enriched uranium (15%
G4Isotope* isoU235 = new G4Isotope("U235", 92, 235, a = 235.0439242*g/mole); G4Isotope* isoU238 = new G4Isotope("U238", 92, 238, a = 238.0507847*g/mole); G4Element* elEnrU = new G4Element("enriched U", "U", ncomp = 2); ⎢ elEnrU -> AddIsotope(isoU235, ⎢ abundance = 15.*perCent); ⎢ elEnrU -> AddIsotope(isoU238, ⎢ abundance = 85.*perCent); G4Material* matEnrU = new
235
U)
G4Material("U for nuclear power generation", density = 19.050*g/cm3, ncomp = 1, kStateSolid);matEnrU -> AddElement(elEnrU, fracMass = 1.);
4
Compounds and materials
Molecules defined by stoichiometry (number of atoms)
G4Material* H2O = new G4Material("Water", density, ncomp = 2); G4int natoms; ⎢ H2O->AddElement(elH, natoms = 2); ⎣ H2O->AddElement(elO, natoms = 1);
Compounds defined by mass fractions
density = 1.290*mg/cm3;G4MaG4Material("Air", density, ncomp = 2);G4double fracMass;air->AddElement(elN, fracMass = 79.*perCent); air->AddElement(elO, fracMass = 21.*perCent);
terial* air = new
5
Complex mixtures, alloys
Combine elements, compounds, molecules by mass fraction
G4Element* elC = ; // define “carbon” element G4Material* SiO2 = ; // define “quartz” material G4Material* H2O = ; // define “water” material
⎢ density = 0.200*g/cm3; ⎢ G4Material* aerog = new G4Material("Aerogel", density, ncomp = 3); ⎢ aerog->AddMaterial(SiO2, 62.5*perCent); ⎢ aerog->AddMaterial(H2O , 37.4*perCent); ⎣ aerog->AddElement (elC , 0.1*perCent);
6
NIST materials database
Included in GEANT4 from
http://www.nist.gov/pml/data/index.cfm
UI commands for material category
Best accuracy for major parameters
Density
Mean excitation potential
Chemical bonds
Elemental composition
Isotopic composition
Natural isotopic compositions
More than 3000 isotopes defined
7
Using NIST materials
No longer need to predefine everything User interfaces for C++
G4NistManager* manager = G4NistManager::GetPointer(); G4Element* elm = manager->FindOrBuildElement("symb"); G4Element* elm = manager->FindOrBuildElement((G4int) Z); G4Material* mat = manager->FindOrBuildMaterial("name"); G4Material* mat = manager->ConstructNewMaterial( "name", (const std::vector<G4int>&) Z, (const std::vector<G4double>&) weight, (G4double) density); G4double isotopeMass = manager->GetMass((G4int) Z, (G4int) N);
New commands for UI macros (produced listings shown in this talk) /material/nist/printElement — show all defined elements /material/nist/listMaterials — show all defined materials
8
ГЕОМЕТРИЯ
9
Detector geometry
Three conceptual layers:
G4VSolid
shapesize
G4LogicalVolume
materialdaughter physicalssensitivityuser limitsetc.
G4VPhysicalVolume
positionrotation
10
Соседние файлы в папке geant4