Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4NistMaterialBuilder.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// $Id$
27//
28// -------------------------------------------------------------------
29//
30// GEANT4 Class file
31//
32// File name: G4NistMaterialBuilder
33//
34// Author: Vladimir Ivanchenko
35//
36// Creation date: 23.12.2004
37//
38// Modifications:
39// 31-10-05 Add chemical effect and gas properties (V.Ivanchenko)
40// 27.02.06 V.Ivanchneko add ConstructNewGasMaterial
41// 11.05.06 V.Ivanchneko add warning flag to FindMaterial method
42// 27.06.06 V.Ivanchneko fix graphite description
43// 27.07.07 V.Ivanchneko remove dependence on NistManager
44// 30.10.09 V.Ivanchneko update density of G4_GRAFITE from PDG'2008
45// added G4_GRAPHITE_POROUS
46// 03.11.09 A.Lechner changed following material names:
47// From G4_NYLON-6/6 to G4_NYLON-6-6
48// From G4_NYLON-6/10 to G4_NYLON-6-10
49// 12.12.10 A.Ivantchenko added following materials methodes:
50// BioChemicalMaterials() and SpaceMaterials(),
51// where new materials are introduced
52// 14.06.11 A.Ivantchenko updated body materials (G4_....ICRP)
53// according ICRU Report 46 (1992) instead of 1975
54// data from ICRU Report 37 used previously
55// 26.10.11 new scheme for G4Exception (mma)
56// 09.02.12 P.Gumplinger add ConstructNewIdealGasMaterial
57//
58// -------------------------------------------------------------------
59//
60// Class Description:
61//
62// Element data from the NIST DB on Atomic Weights and Isotope Compositions
63// http://physics.nist.gov/PhysRefData/Compositions/index.html
64//
65//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
66//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
67
70#include "G4Element.hh"
72#include "G4SystemOfUnits.hh"
73
74//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
75
77: elmBuilder(eb),
78 verbose(vb),
79 nMaterials(0),
80 nComponents(0),
81 nCurrent(0),
82 first(true)
83{
84 Initialise();
85}
86
87//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
88
90{}
91
92//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
93
95 G4bool isotopes,
96 G4bool warning)
97{
98 if(first) {
99 if(verbose > 0) {
100 G4cout << "### NIST DataBase for Materials is used" << G4endl;
101 }
102 first = false;
103 }
104
105 G4String name = matname;
106 if("G4_NYLON-6/6" == matname) { name = "G4_NYLON-6-6"; }
107 if("G4_NYLON-6/10" == matname) { name = "G4_NYLON-6-10";}
108
109 if (verbose > 1) {
110 G4cout << "G4NistMaterialBuilder::FindOrBuildMaterial " << name << G4endl;
111 }
112 const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable();
113 G4int nmat = theMaterialTable->size();
114
115 // Check if name inside DB
116 G4Material* mat = 0;
117
118 for (G4int i=0; i<nMaterials; ++i) {
119
120 if (name == names[i]) {
121 // Build new Nist material
122 if(matIndex[i] == -1) { mat = BuildMaterial(i, isotopes); }
123 // Nist material was already built
124 else { mat = (*theMaterialTable)[matIndex[i]]; }
125 return mat;
126 }
127 }
128
129 // Check the list of all materials
130 if (nmat > 0) {
131 for (G4int i=0; i<nmat; ++i) {
132 if(name == ((*theMaterialTable)[i])->GetName()) {
133 mat = (*theMaterialTable)[i];
134 return mat;
135 }
136 }
137 }
138
139 if( (verbose == 1 && warning) || verbose > 1) {
140 G4cout << "G4NistMaterialBuilder::FindOrBuildMaterial WARNING:"
141 << " material <" << name
142 << "> is not found out" << G4endl;
143 }
144 return mat;
145}
146
147//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
148
149G4Material* G4NistMaterialBuilder::BuildMaterial(G4int i, G4bool isotopes)
150{
151 if (verbose > 1) {
152 G4cout << "G4NistMaterialBuilder: BuildMaterial #" << i
153 << G4endl;
154 }
155 G4Material* mat = 0;
156 if (nMaterials == 0) { return mat; }
157
158 G4int nc = components[i];
159
160 // Check gas parameters
161 G4double t = STP_Temperature;
162 G4double p = STP_Pressure;
163 if(kStateGas == states[i]) {
164 size_t nn = idxGas.size();
165 if(nn > 0) {
166 for(size_t j=0; j<nn; ++j) {
167 if(i == idxGas[j]) {
168 t = gasTemperature[j];
169 p = gasPressure[j];
170 break;
171 }
172 }
173 }
174 // liquids
175 } else if( !STP[i] ) { t = 0.0; }
176
177 mat = new G4Material(names[i],densities[i],nc,states[i],t,p);
178
179 if (verbose>1) { G4cout << "New material nComponents= " << nc << G4endl; }
180 if (nc > 0) {
181 G4int idx = indexes[i];
182 for (G4int j=0; j<nc; ++j) {
183 G4int Z = elements[idx+j];
184 G4Element* el = elmBuilder->FindOrBuildElement(Z, isotopes);
185 if(!el) {
186 G4cout << "G4NistMaterialBuilder::BuildMaterial:"
187 << " ERROR: elements Z= " << Z << " is not found "
188 << " for material " << names[i]
189 << G4endl;
190 G4Exception("G4NistMaterialBuilder::BuildMaterial()", "mat103",
191 FatalException, "Fail to construct material");
192 return 0;
193 }
194 if(atomCount[i]) {
195 mat->AddElement(el,G4lrint(fractions[idx+j]));
196 } else {
197 mat->AddElement(el,fractions[idx+j]);
198 }
199 }
200 }
201
202 // Ionisation potential can be defined via NIST DB or
203 // Chemical Formula (ICRU37 Report data)
204 G4IonisParamMat* ion = mat->GetIonisation();
205 G4double exc0 = ion->GetMeanExcitationEnergy();
206 G4double exc1 = exc0;
207 if(chFormulas[i] != "") {
208 mat->SetChemicalFormula(chFormulas[i]);
209 exc1 = ion->FindMeanExcitationEnergy(chFormulas[i]);
210 }
211 if(ionPotentials[i] > 0.0) { exc1 = ionPotentials[i]; }
212 if(exc0 != exc1) { ion->SetMeanExcitationEnergy(exc1); }
213
214 // Index in Material Table
215 matIndex[i] = mat->GetIndex();
216 return mat;
217}
218
219//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
220
222 const G4String& name,
223 const std::vector<G4String>& elm,
224 const std::vector<G4int>& nbAtoms,
225 G4double dens,
226 G4bool isotopes,
227 G4State state,
228 G4double temp,
229 G4double pres)
230{
231 // Material is in DB
232 G4Material* mat = FindOrBuildMaterial(name);
233 if(mat) {
234 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
235 << " WARNING: the material <" << name
236 << "> is already exist" << G4endl;
237 G4cout << " New material will NOT be built!"
238 << G4endl;
239 return mat;
240 }
241
242 // Material not in DB
243 G4int els = elm.size();
244 if(els == 0) {
245 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
246 << " WARNING: empty list of elements for " << name
247 << G4endl;
248 G4cout << " New material will NOT be built!"
249 << G4endl;
250 return 0;
251 }
252
253 // add parameters of material into internal vectors
254 // density in g/cm3, mean ionisation potential is not defined
255 G4bool stp = true;
256 if(state == kStateGas && temp != STP_Temperature && pres != STP_Pressure)
257 { stp = false; }
258
259 AddMaterial(name,dens*cm3/g,0,0.,els,state,stp);
260 if(!stp) { AddGas(name,temp,pres); }
261
262 for (G4int i=0; i<els; ++i) {
263 AddElementByAtomCount(elmBuilder->GetZ(elm[i]), nbAtoms[i]);
264 }
265
266 return BuildMaterial(nMaterials-1, isotopes);
267}
268
269//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
270
272 const G4String& name,
273 const std::vector<G4String>& elm,
274 const std::vector<G4double>& w,
275 G4double dens,
276 G4bool isotopes,
277 G4State state,
278 G4double temp,
279 G4double pres)
280{
281 // Material is in DB
282 G4Material* mat = FindOrBuildMaterial(name);
283 if(mat) {
284 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
285 << " WARNING: the material <" << name
286 << "> is already exist" << G4endl;
287 G4cout << " New material will NOT be built!"
288 << G4endl;
289 return mat;
290 }
291
292 // Material not in DB
293 G4int els = elm.size();
294 if(els == 0) {
295 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
296 << " WARNING: empty list of elements for " << name
297 << G4endl;
298 G4cout << " New material will NOT be built!"
299 << G4endl;
300 return 0;
301 }
302
303 // add parameters of material into internal vectors
304 // density in g/cm3, mean ionisation potential is not defined
305 G4bool stp = true;
306 if(state == kStateGas && temp != STP_Temperature && pres != STP_Pressure)
307 { stp = false; }
308 AddMaterial(name,dens*cm3/g,0,0.,els,state,stp);
309 if(!stp) { AddGas(name,temp,pres); }
310
311 for (G4int i=0; i<els; ++i) {
312 AddElementByWeightFraction(elmBuilder->GetZ(elm[i]), w[i]);
313 }
314
315 return BuildMaterial(nMaterials-1, isotopes);
316}
317
318//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
319
321 const G4String& name,
322 const G4String& nameDB,
323 G4double temp,
324 G4double pres,
325 G4bool)
326{
327 // Material name is in DB
328 G4Material* mat = FindOrBuildMaterial(name);
329 if(mat) {
330 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:"
331 << " WARNING: the material <" << name
332 << "> is already exist" << G4endl;
333 G4cout << " New material will NOT be built!"
334 << G4endl;
335 return mat;
336 }
337
338 G4Material* bmat = FindOrBuildMaterial(nameDB);
339 if(!bmat) {
340 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:"
341 << " WARNING: the Name <" << nameDB
342 << "> is NOT in the DB: no new gas will be constructed"
343 << G4endl;
344 return 0;
345 }
346 if(bmat->GetState() != kStateGas) {
347 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:"
348 << " WARNING: <" << nameDB
349 << "> is NOT a gas - no new gas will be constructed"
350 << G4endl;
351 return 0;
352 }
353
354 G4double dens = bmat->GetDensity()*pres*STP_Temperature/(temp*STP_Pressure);
355 mat = new G4Material(name,dens,bmat,kStateGas,temp,pres);
356
357 if (verbose>1) {
358 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial: done" << G4endl;
359 G4cout << &mat << G4endl;
360 }
361 return mat;
362}
363
364//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
365
367 const G4String& name,
368 const std::vector<G4String>& elm,
369 const std::vector<G4int>& nbAtoms,
370 G4bool isotopes,
371 G4double temp,
372 G4double pres)
373{
374 G4State state = kStateGas;
375
376 // Material is in DB
377 G4Material* mat = FindOrBuildMaterial(name);
378 if(mat) {
379 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
380 << " WARNING: the material <" << name
381 << "> is already exist" << G4endl;
382 G4cout << " New material will NOT be built!"
383 << G4endl;
384 return mat;
385 }
386
387 // Material not in DB
388 G4int els = elm.size();
389 if(els == 0) {
390 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
391 << " WARNING: empty list of elements for " << name
392 << G4endl;
393 G4cout << " New material will NOT be built!"
394 << G4endl;
395 return 0;
396 }
397
398 // add parameters of material into internal vectors
399 // density in g/cm3, mean ionisation potential is not defined
400 G4bool stp = true;
401 if(temp != STP_Temperature && pres != STP_Pressure)
402 { stp = false; }
403
404 G4double massPerMole = 0;
405
406 G4int Z = 0;
407 for (G4int i=0; i<els; ++i) {
408 Z = elmBuilder->GetZ(elm[i]);
409 massPerMole += nbAtoms[i] * elmBuilder->GetAtomicMassAmu(Z) * amu_c2;
410 }
411
412 G4double dens = massPerMole / (Avogadro*k_Boltzmann*temp/pres);
413
414 if (els == 1) { AddMaterial(name,dens,Z,0.,els,state,stp); }
415 else {
416 AddMaterial(name,dens,0,0.,els,state,stp);
417 for (G4int i=0; i<els; ++i) {
418 AddElementByAtomCount(elmBuilder->GetZ(elm[i]), nbAtoms[i]);
419 }
420 }
421
422 if(!stp) { AddGas(name,temp,pres); }
423
424 return BuildMaterial(nMaterials-1, isotopes);
425}
426
427//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
428
429void G4NistMaterialBuilder::AddMaterial(const G4String& nameMat, G4double dens,
430 G4int Z, G4double pot,
431 G4int ncomp, G4State state,
432 G4bool stp)
433{
434 // add parameters of material into internal vectors
435 // density in g/cm3, mean ionisation potential in eV
436
437 // if ncomp == 1 then Z should be defined and
438 // AddElement should not be applied
439
440 if (nCurrent != 0) {
441 G4cout << "G4NistMaterialBuilder::AddMaterial WARNING: previous "
442 << "mixture " << nMaterials << " " << names[nMaterials]
443 << " is not yet complete!"
444 << G4endl;
445 G4cout << " New material " << nameMat << " will not be added"
446 << G4endl;
447 return;
448 }
449
450 // density in g/cm3, mean ionisation potential in eV
451
452 names.push_back(nameMat);
453 chFormulas.push_back("");
454 densities.push_back(dens*g/cm3);
455 ionPotentials.push_back(pot*eV);
456 states.push_back(state);
457 components.push_back(ncomp);
458 indexes.push_back(nComponents);
459 STP.push_back(stp);
460 matIndex.push_back(-1);
461 atomCount.push_back(false);
462
463 if (ncomp == 1 && Z > 0) {
464 elements.push_back(Z);
465 fractions.push_back(1.0);
466 atomCount[nMaterials] = true;
467 ++nComponents;
468 nCurrent = 0;
469 } else {
470 nCurrent = ncomp;
471 }
472
473 ++nMaterials;
474
475 if(verbose > 1) {
476 G4cout << "New material " << nameMat << " is prepeared; "
477 << " nMaterials= " << nMaterials
478 << " nComponents= " << nComponents
479 << " nCurrent= " << nCurrent
480 << G4endl;
481 }
482}
483
484//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
485
487{
488 verbose = val;
489 elmBuilder->SetVerbose(verbose);
490}
491
492//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
493
495{
496 if (mnam == "simple") { ListNistSimpleMaterials(); }
497 else if (mnam == "compound") { ListNistCompoundMaterials(); }
498 else if (mnam == "hep") { ListHepMaterials(); }
499 else if (mnam == "space") { ListSpaceMaterials(); }
500 else if (mnam == "biochemical") { ListBioChemicalMaterials(); }
501
502 else if (mnam == "all") {
508
509 } else {
510 G4cout << "### G4NistMaterialBuilder::ListMaterials: Warning "
511 << mnam << " list is not known" << G4endl;
512 }
513}
514
515//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
516
518{
519 G4cout << "=======================================================" << G4endl;
520 G4cout << "### Simple Materials from the NIST Data Base ###" << G4endl;
521 G4cout << "=======================================================" << G4endl;
522 G4cout << " Z Name ChFormula density(g/cm^3) I(eV) " << G4endl;
523 G4cout << "=======================================================" << G4endl;
524 for (G4int i=0; i<nElementary; ++i) {DumpElm(i);}
525 G4cout << "=======================================================" << G4endl;
526}
527
528//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
529
531{
532 G4cout << "### Compound Materials from the NIST Data Base ##" << G4endl;
533 G4cout << "=======================================================" << G4endl;
534 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
535 G4cout << "=======================================================" << G4endl;
536 for (G4int i=nElementary; i<nNIST; ++i) {DumpMix(i);}
537 G4cout << "=======================================================" << G4endl;
538}
539
540//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
541
543{
544 G4cout << "=======================================================" << G4endl;
545 G4cout << "### HEP & Nuclear Materials ##" << G4endl;
546 G4cout << "=======================================================" << G4endl;
547 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
548 G4cout << "=======================================================" << G4endl;
549 for (G4int i=nNIST; i<nHEP; ++i) {DumpMix(i);}
550 G4cout << "=======================================================" << G4endl;
551}
552
553//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
554
556{
557 G4cout << "=======================================================" << G4endl;
558 G4cout << "### Space ISS Materials ##" << G4endl;
559 G4cout << "=======================================================" << G4endl;
560 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
561 G4cout << "=======================================================" << G4endl;
562 for (G4int i=nHEP; i<nSpace; ++i) {DumpMix(i);}
563 G4cout << "=======================================================" << G4endl;
564}
565
566//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
567
569{
570 G4cout << "=======================================================" << G4endl;
571 G4cout << "### Bio-Chemical Materials ##" << G4endl;
572 G4cout << "=======================================================" << G4endl;
573 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
574 G4cout << "=======================================================" << G4endl;
575 for (G4int i=nSpace; i<nMaterials; ++i) {DumpMix(i);}
576 G4cout << "=======================================================" << G4endl;
577}
578
579//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
580
581void G4NistMaterialBuilder::DumpElm(G4int i)
582{
583 G4cout << i+1 << " " << names[i] << " " << chFormulas[i]
584 << densities[i]*cm3/g << " " << ionPotentials[i]/eV
585 << G4endl;
586}
587
588//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
589
590void G4NistMaterialBuilder::DumpMix(G4int i)
591{
592 G4int nc = components[i];
593 G4cout << nc << " " << names[i] << " " << chFormulas[i]
594 << densities[i]*cm3/g << " " << ionPotentials[i]/eV
595 << G4endl;
596 if (nc > 1) {
597 G4int imin = indexes[i];
598 G4int imax = imin + nc;
599 for (G4int j=imin; j<imax; ++j) {
600 G4cout << " " << elements[j] << " " << fractions[j]
601 << G4endl;
602 }
603 }
604}
605
606//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
607
608void
609G4NistMaterialBuilder::AddGas(const G4String& nameMat, G4double t, G4double p)
610{
611 G4int idx = nMaterials-1;
612 if(nameMat != names[idx]) {
613 idx = -1;
614 for(G4int i=0; i<nMaterials; ++i) {
615 if(nameMat == names[i]) {
616 idx = i; break;
617 }
618 }
619 }
620 if(idx >= 0) {
621 idxGas.push_back(idx);
622 gasTemperature.push_back(t);
623 gasPressure.push_back(p);
624 } else {
625 G4cout << "WARNING: G4NistMaterialBuilder::AddGas problem: there is no "
626 << nameMat << " in the list of materials;"
627 << G4endl;
628 }
629}
630
631//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
632
633void G4NistMaterialBuilder::AddElementByWeightFraction(G4int Z, G4double w)
634{
635 elements.push_back(Z);
636 fractions.push_back(w);
637 --nCurrent;
638 ++nComponents;
639 if (nCurrent == 0) {
640 G4int n = nMaterials - 1;
641 G4double sum = 0.0;
642 G4int imin = indexes[n];
643 G4int imax = imin + components[n];
644
645 if(!atomCount[n]) {
646 for(G4int i=imin; i<imax; ++i) {sum += fractions[i];}
647 if (sum > 0.0) for (G4int i=imin; i<imax; ++i) {fractions[i] /= sum;}
648 }
649 }
650}
651
652//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
653
654void G4NistMaterialBuilder::AddElementByWeightFraction(const G4String& name,
655 G4double w)
656{
657 G4int Z = elmBuilder->GetZ(name);
658 AddElementByWeightFraction(Z, w);
659}
660
661//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
662
663void G4NistMaterialBuilder::AddElementByAtomCount(G4int Z, G4int nb)
664{
665 atomCount[nMaterials-1] = true;
666 G4double w = (G4double)nb;
667 AddElementByWeightFraction(Z, w);
668}
669
670//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
671
672void G4NistMaterialBuilder::AddElementByAtomCount(const G4String& name,
673 G4int nb)
674{
675 atomCount[nMaterials-1] = true;
676 G4int Z = elmBuilder->GetZ(name);
677 G4double w = (G4double)nb;
678 AddElementByWeightFraction(Z, w);
679}
680
681
682//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
683
684void G4NistMaterialBuilder::Initialise()
685{
686 if (verbose > 0) {
687 G4cout << "### G4NistMaterialBuilder::Initialise()" << G4endl;
688 }
689 NistSimpleMaterials();
690 NistCompoundMaterials();
691 HepAndNuclearMaterials();
692 SpaceMaterials();
693 BioChemicalMaterials();
694
695 if (verbose > 1) { ListMaterials("all"); }
696}
697
698//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
699
700void G4NistMaterialBuilder::NistSimpleMaterials()
701{
702 // density in g/cm3, mean ionisation potential in eV
703
704 AddMaterial("G4_H" , 8.37480e-5, 1, 19.2, 1, kStateGas);
705 AddMaterial("G4_He", 1.66322e-4, 2, 41.8, 1, kStateGas);
706 AddMaterial("G4_Li", 0.534 , 3, 40. );
707 AddMaterial("G4_Be", 1.848 , 4, 63.7);
708 AddMaterial("G4_B" , 2.37 , 5, 76. );
709 AddMaterial("G4_C" , 2. , 6, 81. );
710 AddMaterial("G4_N" , 1.16520e-3, 7, 82. , 1, kStateGas);
711 AddMaterial("G4_O" , 1.33151e-3, 8, 95. , 1, kStateGas);
712 AddMaterial("G4_F" , 1.58029e-3, 9, 115. , 1, kStateGas);
713 AddMaterial("G4_Ne", 8.38505e-4, 10, 137. , 1, kStateGas);
714 AddMaterial("G4_Na", 0.971 , 11, 149. );
715 AddMaterial("G4_Mg", 1.74 , 12, 156. );
716 AddMaterial("G4_Al", 2.699 , 13, 166. );
717 AddMaterial("G4_Si", 2.33 , 14, 173. );
718 AddMaterial("G4_P" , 2.2 , 15, 173. );
719 AddMaterial("G4_S" , 2.0 , 16, 180. );
720 AddMaterial("G4_Cl", 2.99473e-3, 17, 174. , 1, kStateGas);
721 AddMaterial("G4_Ar", 1.66201e-3, 18, 188.0, 1, kStateGas);
722 AddMaterial("G4_K" , 0.862 , 19, 190. );
723 AddMaterial("G4_Ca", 1.55 , 20, 191. );
724 AddMaterial("G4_Sc", 2.989 , 21, 216. );
725 AddMaterial("G4_Ti", 4.54 , 22, 233. );
726 AddMaterial("G4_V" , 6.11 , 23, 245. );
727 AddMaterial("G4_Cr", 7.18 , 24, 257. );
728 AddMaterial("G4_Mn", 7.44 , 25, 272. );
729 AddMaterial("G4_Fe", 7.874 , 26, 286. );
730 AddMaterial("G4_Co", 8.9 , 27, 297. );
731 AddMaterial("G4_Ni", 8.902 , 28, 311. );
732 AddMaterial("G4_Cu", 8.96 , 29, 322. );
733 AddMaterial("G4_Zn", 7.133 , 30, 330. );
734 AddMaterial("G4_Ga", 5.904 , 31, 334. );
735 AddMaterial("G4_Ge", 5.323 , 32, 350. );
736 AddMaterial("G4_As", 5.73 , 33, 347. );
737 AddMaterial("G4_Se", 4.5 , 34, 348. );
738 AddMaterial("G4_Br", 7.07210e-3, 35, 343. , 1, kStateGas);
739 AddMaterial("G4_Kr", 3.47832e-3, 36, 352. , 1, kStateGas);
740 AddMaterial("G4_Rb", 1.532 , 37, 363. );
741 AddMaterial("G4_Sr", 2.54 , 38, 366. );
742 AddMaterial("G4_Y" , 4.469 , 39, 379. );
743 AddMaterial("G4_Zr", 6.506 , 40, 393. );
744 AddMaterial("G4_Nb", 8.57 , 41, 417. );
745 AddMaterial("G4_Mo", 10.22 , 42, 424. );
746 AddMaterial("G4_Tc", 11.50 , 43, 428. );
747 AddMaterial("G4_Ru", 12.41 , 44, 441. );
748 AddMaterial("G4_Rh", 12.41 , 45, 449. );
749 AddMaterial("G4_Pd", 12.02 , 46, 470. );
750 AddMaterial("G4_Ag", 10.5 , 47, 470. );
751 AddMaterial("G4_Cd", 8.65 , 48, 469. );
752 AddMaterial("G4_In", 7.31 , 49, 488. );
753 AddMaterial("G4_Sn", 7.31 , 50, 488. );
754 AddMaterial("G4_Sb", 6.691 , 51, 487. );
755 AddMaterial("G4_Te", 6.24 , 52, 485. );
756 AddMaterial("G4_I" , 4.93 , 53, 491. );
757 AddMaterial("G4_Xe", 5.48536e-3, 54, 482. , 1, kStateGas);
758 AddMaterial("G4_Cs", 1.873 , 55, 488. );
759 AddMaterial("G4_Ba", 3.5 , 56, 491. );
760 AddMaterial("G4_La", 6.154 , 57, 501. );
761 AddMaterial("G4_Ce", 6.657 , 58, 523. );
762 AddMaterial("G4_Pr", 6.71 , 59, 535. );
763 AddMaterial("G4_Nd", 6.9 , 60, 546. );
764 AddMaterial("G4_Pm", 7.22 , 61, 560. );
765 AddMaterial("G4_Sm", 7.46 , 62, 574. );
766 AddMaterial("G4_Eu", 5.243 , 63, 580. );
767 AddMaterial("G4_Gd", 7.9004 , 64, 591. );
768 AddMaterial("G4_Tb", 8.229 , 65, 614. );
769 AddMaterial("G4_Dy", 8.55 , 66, 628. );
770 AddMaterial("G4_Ho", 8.795 , 67, 650. );
771 AddMaterial("G4_Er", 9.066 , 68, 658. );
772 AddMaterial("G4_Tm", 9.321 , 69, 674. );
773 AddMaterial("G4_Yb", 6.73 , 70, 684. );
774 AddMaterial("G4_Lu", 9.84 , 71, 694. );
775 AddMaterial("G4_Hf", 13.31 , 72, 705. );
776 AddMaterial("G4_Ta", 16.654 , 73, 718. );
777 AddMaterial("G4_W" , 19.30 , 74, 727. );
778 AddMaterial("G4_Re", 21.02 , 75, 736. );
779 AddMaterial("G4_Os", 22.57 , 76, 746. );
780 AddMaterial("G4_Ir", 22.42 , 77, 757. );
781 AddMaterial("G4_Pt", 21.45 , 78, 790. );
782 AddMaterial("G4_Au", 19.32 , 79, 790. );
783 AddMaterial("G4_Hg", 13.546 , 80, 800. );
784 AddMaterial("G4_Tl", 11.72 , 81, 810. );
785 AddMaterial("G4_Pb", 11.35 , 82, 823. );
786 AddMaterial("G4_Bi", 9.747 , 83, 823. );
787 AddMaterial("G4_Po", 9.32 , 84, 830. );
788 AddMaterial("G4_At", 9.32 , 85, 825. );
789 AddMaterial("G4_Rn", 9.00662e-3, 86, 794. , 1, kStateGas);
790 AddMaterial("G4_Fr", 1.00 , 87, 827. );
791 AddMaterial("G4_Ra", 5.00 , 88, 826. );
792 AddMaterial("G4_Ac", 10.07 , 89, 841. );
793 AddMaterial("G4_Th", 11.72 , 90, 847. );
794 AddMaterial("G4_Pa", 15.37 , 91, 878. );
795 AddMaterial("G4_U" , 18.95 , 92, 890. );
796 AddMaterial("G4_Np", 20.25 , 93, 902. );
797 AddMaterial("G4_Pu", 19.84 , 94, 921. );
798 AddMaterial("G4_Am", 13.67 , 95, 934. );
799 AddMaterial("G4_Cm", 13.51 , 96, 939. );
800 AddMaterial("G4_Bk", 14.00 , 97, 952. );
801 AddMaterial("G4_Cf", 10.00 , 98, 966. );
802
803 nElementary = nMaterials;
804}
805
806//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
807
808void G4NistMaterialBuilder::NistCompoundMaterials()
809{
810 AddMaterial("G4_A-150_TISSUE", 1.127, 0, 65.1, 6);
811 AddElementByWeightFraction( 1, 0.101327);
812 AddElementByWeightFraction( 6, 0.775501);
813 AddElementByWeightFraction( 7, 0.035057);
814 AddElementByWeightFraction( 8, 0.052316);
815 AddElementByWeightFraction( 9, 0.017422);
816 AddElementByWeightFraction(20, 0.018378);
817
818 AddMaterial("G4_ACETONE", 0.7899, 0, 64.2, 3);
819 AddElementByWeightFraction( 1, 0.104122);
820 AddElementByWeightFraction( 6, 0.620405);
821 AddElementByWeightFraction( 8, 0.275473);
822
823 AddMaterial("G4_ACETYLENE", 0.0010967, 0, 58.2, 2, kStateGas);
824 AddElementByWeightFraction( 1, 0.077418);
825 AddElementByWeightFraction( 6, 0.922582);
826
827 AddMaterial("G4_ADENINE", 1.6/*1.35*/, 0, 71.4, 3);
828 AddElementByAtomCount("H",5 );
829 AddElementByAtomCount("C",5 );
830 AddElementByAtomCount("N",5 );
831
832 AddMaterial("G4_ADIPOSE_TISSUE_ICRP", 0.95, 0, 63.2, 7);
833 AddElementByWeightFraction( 1, 0.114);
834 AddElementByWeightFraction( 6, 0.598);
835 AddElementByWeightFraction( 7, 0.007);
836 AddElementByWeightFraction( 8, 0.278);
837 AddElementByWeightFraction(11, 0.001);
838 AddElementByWeightFraction(16, 0.001);
839 AddElementByWeightFraction(17, 0.001);
840
841 AddMaterial("G4_AIR", 0.00120479, 0, 85.7, 4, kStateGas);
842 AddElementByWeightFraction( 6, 0.000124);
843 AddElementByWeightFraction( 7, 0.755267);
844 AddElementByWeightFraction( 8, 0.231781);
845 AddElementByWeightFraction(18, 0.012827);
846
847 AddMaterial("G4_ALANINE", 1.42, 0, 71.9, 4);
848 AddElementByWeightFraction( 1, 0.07919 );
849 AddElementByWeightFraction( 6, 0.404439);
850 AddElementByWeightFraction( 7, 0.157213);
851 AddElementByWeightFraction( 8, 0.359159);
852
853 AddMaterial("G4_ALUMINUM_OXIDE", 3.97, 0, 145.2, 2);
854 AddElementByWeightFraction( 8, 0.470749);
855 AddElementByWeightFraction(13, 0.529251);
856 chFormulas[nMaterials-1] = "Al_2O_3";
857
858 AddMaterial("G4_AMBER", 1.1, 0, 63.2, 3);
859 AddElementByWeightFraction( 1, 0.10593 );
860 AddElementByWeightFraction( 6, 0.788973);
861 AddElementByWeightFraction( 8, 0.105096);
862
863 AddMaterial("G4_AMMONIA", 0.000826019, 0, 53.7, 2, kStateGas);
864 AddElementByWeightFraction( 1, 0.177547);
865 AddElementByWeightFraction( 7, 0.822453);
866
867 AddMaterial("G4_ANILINE", 1.0235, 0, 66.2, 3);
868 AddElementByWeightFraction( 1, 0.075759);
869 AddElementByWeightFraction( 6, 0.773838);
870 AddElementByWeightFraction( 7, 0.150403);
871
872 AddMaterial("G4_ANTHRACENE", 1.283, 0, 69.5, 2);
873 AddElementByWeightFraction( 1, 0.05655);
874 AddElementByWeightFraction( 6, 0.94345);
875
876 AddMaterial("G4_B-100_BONE", 1.45, 0, 85.9, 6);
877 AddElementByWeightFraction( 1, 0.065471);
878 AddElementByWeightFraction( 6, 0.536945);
879 AddElementByWeightFraction( 7, 0.0215 );
880 AddElementByWeightFraction( 8, 0.032085);
881 AddElementByWeightFraction( 9, 0.167411);
882 AddElementByWeightFraction(20, 0.176589);
883
884 AddMaterial("G4_BAKELITE", 1.25, 0, 72.4, 3);
885 AddElementByWeightFraction( 1, 0.057441);
886 AddElementByWeightFraction( 6, 0.774591);
887 AddElementByWeightFraction( 8, 0.167968);
888
889 AddMaterial("G4_BARIUM_FLUORIDE", 4.89 ,0, 375.9, 2);
890 AddElementByWeightFraction( 9, 0.21672);
891 AddElementByWeightFraction(56, 0.78328);
892
893 AddMaterial("G4_BARIUM_SULFATE", 4.5, 0, 285.7, 3);
894 AddElementByWeightFraction( 8,0.274212);
895 AddElementByWeightFraction(16,0.137368);
896 AddElementByWeightFraction(56,0.58842 );
897
898 AddMaterial("G4_BENZENE", 0.87865, 0, 63.4, 2);
899 AddElementByWeightFraction( 1, 0.077418);
900 AddElementByWeightFraction( 6, 0.922582);
901
902 AddMaterial("G4_BERYLLIUM_OXIDE", 3.01, 0, 93.2, 2);
903 AddElementByWeightFraction( 4, 0.36032);
904 AddElementByWeightFraction( 8, 0.63968);
905
906 AddMaterial("G4_BGO", 7.13, 0, 534.1, 3);
907 AddElementByWeightFraction( 8, 0.154126);
908 AddElementByWeightFraction(32, 0.17482 );
909 AddElementByWeightFraction(83, 0.671054);
910
911 AddMaterial("G4_BLOOD_ICRP", 1.06, 0, 75.2, 10);
912 AddElementByWeightFraction( 1, 0.102);
913 AddElementByWeightFraction( 6, 0.110);
914 AddElementByWeightFraction( 7, 0.033);
915 AddElementByWeightFraction( 8, 0.745);
916 AddElementByWeightFraction(11, 0.001);
917 AddElementByWeightFraction(15, 0.001);
918 AddElementByWeightFraction(16, 0.002);
919 AddElementByWeightFraction(17, 0.003);
920 AddElementByWeightFraction(19, 0.002);
921 AddElementByWeightFraction(26, 0.001);
922
923 AddMaterial("G4_BONE_COMPACT_ICRU", 1.85, 0, 91.9, 8);
924 AddElementByWeightFraction( 1, 0.064);
925 AddElementByWeightFraction( 6, 0.278);
926 AddElementByWeightFraction( 7, 0.027);
927 AddElementByWeightFraction( 8, 0.410);
928 AddElementByWeightFraction(12, 0.002);
929 AddElementByWeightFraction(15, 0.07 );
930 AddElementByWeightFraction(16, 0.002);
931 AddElementByWeightFraction(20, 0.147);
932
933 // Sceleton Cortical bone for Adult ICRU 46
934 AddMaterial("G4_BONE_CORTICAL_ICRP", 1.92, 0, 110, 9);
935 AddElementByWeightFraction( 1, 0.034);
936 AddElementByWeightFraction( 6, 0.155);
937 AddElementByWeightFraction( 7, 0.042);
938 AddElementByWeightFraction( 8, 0.435);
939 AddElementByWeightFraction(11, 0.001);
940 AddElementByWeightFraction(12, 0.002);
941 AddElementByWeightFraction(15, 0.103);
942 AddElementByWeightFraction(16, 0.003);
943 AddElementByWeightFraction(20, 0.225);
944
945 AddMaterial("G4_BORON_CARBIDE", 2.52, 0, 84.7, 2);
946 AddElementByWeightFraction( 5, 0.78261);
947 AddElementByWeightFraction( 6, 0.21739);
948
949 AddMaterial("G4_BORON_OXIDE", 1.812, 0, 99.6, 2);
950 AddElementByWeightFraction( 5, 0.310551);
951 AddElementByWeightFraction( 8, 0.689449);
952
953 AddMaterial("G4_BRAIN_ICRP", 1.04, 0, 73.3, 9);
954 AddElementByWeightFraction( 1, 0.107);
955 AddElementByWeightFraction( 6, 0.145);
956 AddElementByWeightFraction( 7, 0.022);
957 AddElementByWeightFraction( 8, 0.712);
958 AddElementByWeightFraction(11, 0.002);
959 AddElementByWeightFraction(15, 0.004);
960 AddElementByWeightFraction(16, 0.002);
961 AddElementByWeightFraction(17, 0.003);
962 AddElementByWeightFraction(19, 0.003);
963
964 AddMaterial("G4_BUTANE", 0.00249343, 0, 48.3, 2, kStateGas);
965 AddElementByWeightFraction( 1, 0.173408);
966 AddElementByWeightFraction( 6, 0.826592);
967
968 AddMaterial("G4_N-BUTYL_ALCOHOL", 0.8098, 0, 59.9, 3);
969 AddElementByWeightFraction( 1, 0.135978);
970 AddElementByWeightFraction( 6, 0.648171);
971 AddElementByWeightFraction( 8, 0.215851);
972
973 AddMaterial("G4_C-552", 1.76, 0, 86.8, 5);
974 AddElementByWeightFraction( 1, 0.02468 );
975 AddElementByWeightFraction( 6, 0.50161 );
976 AddElementByWeightFraction( 8, 0.004527);
977 AddElementByWeightFraction( 9, 0.465209);
978 AddElementByWeightFraction(14, 0.003973);
979
980 AddMaterial("G4_CADMIUM_TELLURIDE", 6.2, 0, 539.3, 2);
981 AddElementByWeightFraction(48, 0.468355);
982 AddElementByWeightFraction(52, 0.531645);
983
984 AddMaterial("G4_CADMIUM_TUNGSTATE", 7.9, 0, 468.3, 3);
985 AddElementByWeightFraction( 8, 0.177644);
986 AddElementByWeightFraction(48, 0.312027);
987 AddElementByWeightFraction(74, 0.510329);
988
989 AddMaterial("G4_CALCIUM_CARBONATE", 2.8, 0, 136.4, 3);
990 AddElementByWeightFraction( 6, 0.120003);
991 AddElementByWeightFraction( 8, 0.479554);
992 AddElementByWeightFraction(20, 0.400443);
993
994 AddMaterial("G4_CALCIUM_FLUORIDE", 3.18, 0, 166., 2);
995 AddElementByWeightFraction( 9, 0.486659);
996 AddElementByWeightFraction(20, 0.513341);
997
998 AddMaterial("G4_CALCIUM_OXIDE", 3.3, 0, 176.1, 2);
999 AddElementByWeightFraction( 8, 0.285299);
1000 AddElementByWeightFraction(20, 0.714701);
1001
1002 AddMaterial("G4_CALCIUM_SULFATE", 2.96, 0, 152.3, 3);
1003 AddElementByWeightFraction( 8, 0.470095);
1004 AddElementByWeightFraction(16, 0.235497);
1005 AddElementByWeightFraction(20, 0.294408);
1006
1007 AddMaterial("G4_CALCIUM_TUNGSTATE", 6.062, 0, 395., 3);
1008 AddElementByWeightFraction( 8, 0.22227 );
1009 AddElementByWeightFraction(20, 0.139202);
1010 AddElementByWeightFraction(74, 0.638529);
1011
1012 AddMaterial("G4_CARBON_DIOXIDE", 0.00184212, 0, 85., 2, kStateGas);
1013 AddElementByWeightFraction( 6, 0.272916);
1014 AddElementByWeightFraction( 8, 0.727084);
1015 chFormulas[nMaterials-1] = "CO_2";
1016
1017 AddMaterial("G4_CARBON_TETRACHLORIDE", 1.594, 0, 166.3, 2);
1018 AddElementByWeightFraction( 6, 0.078083);
1019 AddElementByWeightFraction(17, 0.921917);
1020
1021 AddMaterial("G4_CELLULOSE_CELLOPHANE", 1.42, 0, 77.6, 3);
1022 AddElementByWeightFraction( 1, 0.062162);
1023 AddElementByWeightFraction( 6, 0.444462);
1024 AddElementByWeightFraction( 8, 0.493376);
1025
1026 AddMaterial("G4_CELLULOSE_BUTYRATE", 1.2, 0, 74.6, 3);
1027 AddElementByWeightFraction( 1, 0.067125);
1028 AddElementByWeightFraction( 6, 0.545403);
1029 AddElementByWeightFraction( 8, 0.387472);
1030
1031 AddMaterial("G4_CELLULOSE_NITRATE", 1.49, 0, 87., 4);
1032 AddElementByWeightFraction( 1, 0.029216);
1033 AddElementByWeightFraction( 6, 0.271296);
1034 AddElementByWeightFraction( 7, 0.121276);
1035 AddElementByWeightFraction( 8, 0.578212);
1036
1037 AddMaterial("G4_CERIC_SULFATE", 1.03, 0, 76.7, 5);
1038 AddElementByWeightFraction( 1, 0.107596);
1039 AddElementByWeightFraction( 7, 0.0008 );
1040 AddElementByWeightFraction( 8, 0.874976);
1041 AddElementByWeightFraction(16, 0.014627);
1042 AddElementByWeightFraction(58, 0.002001);
1043
1044 AddMaterial("G4_CESIUM_FLUORIDE", 4.115, 0, 440.7, 2);
1045 AddElementByWeightFraction( 9, 0.125069);
1046 AddElementByWeightFraction(55, 0.874931);
1047
1048 AddMaterial("G4_CESIUM_IODIDE", 4.51, 0, 553.1, 2);
1049 AddElementByWeightFraction(53, 0.488451);
1050 AddElementByWeightFraction(55, 0.511549);
1051
1052 AddMaterial("G4_CHLOROBENZENE", 1.1058, 0, 89.1, 3);
1053 AddElementByWeightFraction( 1, 0.044772);
1054 AddElementByWeightFraction( 6, 0.640254);
1055 AddElementByWeightFraction(17, 0.314974);
1056
1057 AddMaterial("G4_CHLOROFORM", 1.4832, 0, 156., 3);
1058 AddElementByWeightFraction( 1, 0.008443);
1059 AddElementByWeightFraction( 6, 0.100613);
1060 AddElementByWeightFraction(17, 0.890944);
1061
1062 AddMaterial("G4_CONCRETE", 2.3, 0, 135.2, 10);
1063 AddElementByWeightFraction( 1, 0.01 );
1064 AddElementByWeightFraction( 6, 0.001 );
1065 AddElementByWeightFraction( 8, 0.529107);
1066 AddElementByWeightFraction(11, 0.016 );
1067 AddElementByWeightFraction(12, 0.002 );
1068 AddElementByWeightFraction(13, 0.033872);
1069 AddElementByWeightFraction(14, 0.337021);
1070 AddElementByWeightFraction(19, 0.013 );
1071 AddElementByWeightFraction(20, 0.044 );
1072 AddElementByWeightFraction(26, 0.014 );
1073
1074 AddMaterial("G4_CYCLOHEXANE", 0.779, 0, 56.4, 2);
1075 AddElementByWeightFraction( 1, 0.143711);
1076 AddElementByWeightFraction( 6, 0.856289);
1077
1078 AddMaterial("G4_1,2-DICHLOROBENZENE", 1.3048, 0, 106.5, 3);
1079 AddElementByWeightFraction( 1, 0.027425);
1080 AddElementByWeightFraction( 6, 0.490233);
1081 AddElementByWeightFraction(17, 0.482342);
1082
1083 AddMaterial("G4_DICHLORODIETHYL_ETHER", 1.2199, 0, 103.3, 4);
1084 AddElementByWeightFraction( 1, 0.056381);
1085 AddElementByWeightFraction( 6, 0.335942);
1086 AddElementByWeightFraction( 8, 0.111874);
1087 AddElementByWeightFraction(17, 0.495802);
1088
1089 AddMaterial("G4_1,2-DICHLOROETHANE", 1.2351, 0, 111.9, 3);
1090 AddElementByWeightFraction( 1, 0.04074 );
1091 AddElementByWeightFraction( 6, 0.242746);
1092 AddElementByWeightFraction(17, 0.716515);
1093
1094 AddMaterial("G4_DIETHYL_ETHER", 0.71378, 0, 60., 3);
1095 AddElementByWeightFraction( 1, 0.135978);
1096 AddElementByWeightFraction( 6, 0.648171);
1097 AddElementByWeightFraction( 8, 0.215851);
1098
1099 AddMaterial("G4_N,N-DIMETHYL_FORMAMIDE", 0.9487, 0, 66.6, 4);
1100 AddElementByWeightFraction( 1, 0.096523);
1101 AddElementByWeightFraction( 6, 0.492965);
1102 AddElementByWeightFraction( 7, 0.191625);
1103 AddElementByWeightFraction( 8, 0.218887);
1104
1105 AddMaterial("G4_DIMETHYL_SULFOXIDE", 1.1014, 0, 98.6, 4);
1106 AddElementByWeightFraction( 1, 0.077403);
1107 AddElementByWeightFraction( 6, 0.307467);
1108 AddElementByWeightFraction( 8, 0.204782);
1109 AddElementByWeightFraction(16, 0.410348);
1110
1111 AddMaterial("G4_ETHANE", 0.00125324, 0, 45.4, 2, kStateGas);
1112 AddElementByWeightFraction( 1, 0.201115);
1113 AddElementByWeightFraction( 6, 0.798885);
1114
1115 AddMaterial("G4_ETHYL_ALCOHOL", 0.7893, 0, 62.9, 3);
1116 AddElementByWeightFraction( 1, 0.131269);
1117 AddElementByWeightFraction( 6, 0.521438);
1118 AddElementByWeightFraction( 8, 0.347294);
1119
1120 AddMaterial("G4_ETHYL_CELLULOSE", 1.13, 0, 69.3, 3);
1121 AddElementByWeightFraction( 1, 0.090027);
1122 AddElementByWeightFraction( 6, 0.585182);
1123 AddElementByWeightFraction( 8, 0.324791);
1124
1125 AddMaterial("G4_ETHYLENE", 0.00117497, 0, 50.7, 2, kStateGas);
1126 AddElementByWeightFraction( 1, 0.143711);
1127 AddElementByWeightFraction( 6, 0.856289);
1128
1129 AddMaterial("G4_EYE_LENS_ICRP", 1.07, 0, 73.3, 8);
1130 AddElementByWeightFraction( 1, 0.096);
1131 AddElementByWeightFraction( 6, 0.195);
1132 AddElementByWeightFraction( 7, 0.057);
1133 AddElementByWeightFraction( 8, 0.646);
1134 AddElementByWeightFraction(11, 0.001);
1135 AddElementByWeightFraction(15, 0.001);
1136 AddElementByWeightFraction(16, 0.003);
1137 AddElementByWeightFraction(17, 0.001);
1138
1139 AddMaterial("G4_FERRIC_OXIDE", 5.2, 0, 227.3, 2);
1140 AddElementByWeightFraction( 8, 0.300567);
1141 AddElementByWeightFraction(26, 0.699433);
1142
1143 AddMaterial("G4_FERROBORIDE", 7.15, 0, 261., 2);
1144 AddElementByWeightFraction( 5, 0.162174);
1145 AddElementByWeightFraction(26, 0.837826);
1146
1147 AddMaterial("G4_FERROUS_OXIDE", 5.7, 0, 248.6, 2);
1148 AddElementByWeightFraction( 8, 0.222689);
1149 AddElementByWeightFraction(26, 0.777311);
1150
1151 AddMaterial("G4_FERROUS_SULFATE", 1.024, 0, 76.4, 7);
1152 AddElementByWeightFraction( 1, 0.108259);
1153 AddElementByWeightFraction( 7, 2.7e-05 );
1154 AddElementByWeightFraction( 8, 0.878636);
1155 AddElementByWeightFraction(11, 2.2e-05 );
1156 AddElementByWeightFraction(16, 0.012968);
1157 AddElementByWeightFraction(17, 3.4e-05 );
1158 AddElementByWeightFraction(26, 5.4e-05 );
1159
1160 AddMaterial("G4_FREON-12", 1.12, 0, 143., 3);
1161 AddElementByWeightFraction( 6, 0.099335);
1162 AddElementByWeightFraction( 9, 0.314247);
1163 AddElementByWeightFraction(17, 0.586418);
1164
1165 AddMaterial("G4_FREON-12B2", 1.8, 0, 284.9, 3);
1166 AddElementByWeightFraction( 6, 0.057245);
1167 AddElementByWeightFraction( 9, 0.181096);
1168 AddElementByWeightFraction(35, 0.761659);
1169
1170 AddMaterial("G4_FREON-13", 0.95, 0, 126.6, 3);
1171 AddElementByWeightFraction( 6, 0.114983);
1172 AddElementByWeightFraction( 9, 0.545622);
1173 AddElementByWeightFraction(17, 0.339396);
1174
1175 AddMaterial("G4_FREON-13B1", 1.5, 0, 210.5, 3);
1176 AddElementByWeightFraction( 6, 0.080659);
1177 AddElementByWeightFraction( 9, 0.382749);
1178 AddElementByWeightFraction(35, 0.536592);
1179
1180 AddMaterial("G4_FREON-13I1", 1.8, 0, 293.5, 3);
1181 AddElementByWeightFraction( 6, 0.061309);
1182 AddElementByWeightFraction( 9, 0.290924);
1183 AddElementByWeightFraction(53, 0.647767);
1184
1185 AddMaterial("G4_GADOLINIUM_OXYSULFIDE", 7.44, 0, 493.3, 3);
1186 AddElementByWeightFraction( 8, 0.084528);
1187 AddElementByWeightFraction(16, 0.08469 );
1188 AddElementByWeightFraction(64, 0.830782);
1189
1190 AddMaterial("G4_GALLIUM_ARSENIDE", 5.31, 0, 384.9, 2);
1191 AddElementByWeightFraction(31, 0.482019);
1192 AddElementByWeightFraction(33, 0.517981);
1193
1194 AddMaterial("G4_GEL_PHOTO_EMULSION", 1.2914, 0, 74.8, 5);
1195 AddElementByWeightFraction( 1, 0.08118);
1196 AddElementByWeightFraction( 6, 0.41606);
1197 AddElementByWeightFraction( 7, 0.11124);
1198 AddElementByWeightFraction( 8, 0.38064);
1199 AddElementByWeightFraction(16, 0.01088);
1200
1201 AddMaterial("G4_Pyrex_Glass", 2.23, 0, 134., 6);
1202 AddElementByWeightFraction( 5, 0.040064);
1203 AddElementByWeightFraction( 8, 0.539562);
1204 AddElementByWeightFraction(11, 0.028191);
1205 AddElementByWeightFraction(13, 0.011644);
1206 AddElementByWeightFraction(14, 0.37722 );
1207 AddElementByWeightFraction(19, 0.003321);
1208
1209 AddMaterial("G4_GLASS_LEAD", 6.22, 0, 526.4, 5);
1210 AddElementByWeightFraction( 8, 0.156453);
1211 AddElementByWeightFraction(14, 0.080866);
1212 AddElementByWeightFraction(22, 0.008092);
1213 AddElementByWeightFraction(33, 0.002651);
1214 AddElementByWeightFraction(82, 0.751938);
1215
1216 AddMaterial("G4_GLASS_PLATE", 2.4, 0, 145.4, 4);
1217 AddElementByWeightFraction( 8, 0.4598 );
1218 AddElementByWeightFraction(11, 0.096441);
1219 AddElementByWeightFraction(14, 0.336553);
1220 AddElementByWeightFraction(20, 0.107205);
1221
1222 AddMaterial("G4_GLUCOSE", 1.54, 0, 77.2, 3);
1223 AddElementByWeightFraction( 1, 0.071204);
1224 AddElementByWeightFraction( 6, 0.363652);
1225 AddElementByWeightFraction( 8, 0.565144);
1226
1227 AddMaterial("G4_GLUTAMINE", 1.46, 0, 73.3, 4);
1228 AddElementByWeightFraction( 1, 0.068965);
1229 AddElementByWeightFraction( 6, 0.410926);
1230 AddElementByWeightFraction( 7, 0.191681);
1231 AddElementByWeightFraction( 8, 0.328427);
1232
1233 AddMaterial("G4_GLYCEROL", 1.2613, 0, 72.6, 3);
1234 AddElementByWeightFraction( 1, 0.087554);
1235 AddElementByWeightFraction( 6, 0.391262);
1236 AddElementByWeightFraction( 8, 0.521185);
1237
1238 AddMaterial("G4_GUANINE", 2.2/*1.58*/, 0, 75. ,4);
1239 AddElementByAtomCount("H",5 );
1240 AddElementByAtomCount("C",5 );
1241 AddElementByAtomCount("N",5 );
1242 AddElementByAtomCount("O",1 );
1243
1244 AddMaterial("G4_GYPSUM", 2.32, 0, 129.7, 4);
1245 AddElementByWeightFraction( 1, 0.023416);
1246 AddElementByWeightFraction( 8, 0.557572);
1247 AddElementByWeightFraction(16, 0.186215);
1248 AddElementByWeightFraction(20, 0.232797);
1249
1250 AddMaterial("G4_N-HEPTANE", 0.68376, 0, 54.4, 2);
1251 AddElementByWeightFraction( 1, 0.160937);
1252 AddElementByWeightFraction( 6, 0.839063);
1253
1254 AddMaterial("G4_N-HEXANE", 0.6603, 0, 54., 2);
1255 AddElementByWeightFraction( 1, 0.163741);
1256 AddElementByWeightFraction( 6, 0.836259);
1257
1258 AddMaterial("G4_KAPTON", 1.42, 0, 79.6, 4);
1259 AddElementByWeightFraction( 1, 0.026362);
1260 AddElementByWeightFraction( 6, 0.691133);
1261 AddElementByWeightFraction( 7, 0.07327 );
1262 AddElementByWeightFraction( 8, 0.209235);
1263
1264 AddMaterial("G4_LANTHANUM_OXYBROMIDE", 6.28, 0, 439.7, 3);
1265 AddElementByWeightFraction( 8, 0.068138);
1266 AddElementByWeightFraction(35, 0.340294);
1267 AddElementByWeightFraction(57, 0.591568);
1268
1269 AddMaterial("G4_LANTHANUM_OXYSULFIDE", 5.86, 0, 421.2, 3);
1270 AddElementByWeightFraction( 8, 0.0936 );
1271 AddElementByWeightFraction(16, 0.093778);
1272 AddElementByWeightFraction(57, 0.812622);
1273
1274 AddMaterial("G4_LEAD_OXIDE", 9.53, 0, 766.7, 2);
1275 AddElementByWeightFraction( 8, 0.071682);
1276 AddElementByWeightFraction(82, 0.928318);
1277
1278 AddMaterial("G4_LITHIUM_AMIDE", 1.178, 0, 55.5, 3);
1279 AddElementByWeightFraction( 1, 0.087783);
1280 AddElementByWeightFraction( 3, 0.302262);
1281 AddElementByWeightFraction( 7, 0.609955);
1282
1283 AddMaterial("G4_LITHIUM_CARBONATE", 2.11, 0, 87.9, 3);
1284 AddElementByWeightFraction( 3, 0.187871);
1285 AddElementByWeightFraction( 6, 0.16255 );
1286 AddElementByWeightFraction( 8, 0.649579);
1287
1288 AddMaterial("G4_LITHIUM_FLUORIDE", 2.635, 0, 94., 2);
1289 AddElementByWeightFraction( 3, 0.267585);
1290 AddElementByWeightFraction( 9, 0.732415);
1291
1292 AddMaterial("G4_LITHIUM_HYDRIDE", 0.82, 0, 36.5, 2);
1293 AddElementByWeightFraction( 1, 0.126797);
1294 AddElementByWeightFraction( 3, 0.873203);
1295
1296 AddMaterial("G4_LITHIUM_IODIDE", 3.494, 0, 485.1, 2);
1297 AddElementByWeightFraction( 3, 0.051858);
1298 AddElementByWeightFraction(53, 0.948142);
1299
1300 AddMaterial("G4_LITHIUM_OXIDE", 2.013, 0, 73.6, 2);
1301 AddElementByWeightFraction( 3, 0.46457);
1302 AddElementByWeightFraction( 8, 0.53543);
1303
1304 AddMaterial("G4_LITHIUM_TETRABORATE", 2.44, 0, 94.6, 3);
1305 AddElementByWeightFraction( 3, 0.082085);
1306 AddElementByWeightFraction( 5, 0.25568 );
1307 AddElementByWeightFraction( 8, 0.662235);
1308
1309 //Adult Lung congested
1310 AddMaterial("G4_LUNG_ICRP", 1.04, 0, 75.3, 9);
1311 AddElementByWeightFraction( 1, 0.105);
1312 AddElementByWeightFraction( 6, 0.083);
1313 AddElementByWeightFraction( 7, 0.023);
1314 AddElementByWeightFraction( 8, 0.779);
1315 AddElementByWeightFraction(11, 0.002);
1316 AddElementByWeightFraction(15, 0.001);
1317 AddElementByWeightFraction(16, 0.002);
1318 AddElementByWeightFraction(17, 0.003);
1319 AddElementByWeightFraction(19, 0.002);
1320
1321 AddMaterial("G4_M3_WAX", 1.05, 0, 67.9, 5);
1322 AddElementByWeightFraction( 1, 0.114318);
1323 AddElementByWeightFraction( 6, 0.655823);
1324 AddElementByWeightFraction( 8, 0.092183);
1325 AddElementByWeightFraction(12, 0.134792);
1326 AddElementByWeightFraction(20, 0.002883);
1327
1328 AddMaterial("G4_MAGNESIUM_CARBONATE", 2.958, 0, 118., 3);
1329 AddElementByWeightFraction( 6, 0.142455);
1330 AddElementByWeightFraction( 8, 0.569278);
1331 AddElementByWeightFraction(12, 0.288267);
1332
1333 AddMaterial("G4_MAGNESIUM_FLUORIDE", 3.0, 0, 134.3, 2);
1334 AddElementByWeightFraction( 9, 0.609883);
1335 AddElementByWeightFraction(12, 0.390117);
1336
1337 AddMaterial("G4_MAGNESIUM_OXIDE", 3.58, 0, 143.8, 2);
1338 AddElementByWeightFraction( 8, 0.396964);
1339 AddElementByWeightFraction(12, 0.603036);
1340
1341 AddMaterial("G4_MAGNESIUM_TETRABORATE", 2.53, 0, 108.3, 3);
1342 AddElementByWeightFraction( 5, 0.240837);
1343 AddElementByWeightFraction( 8, 0.62379);
1344 AddElementByWeightFraction(12, 0.135373);
1345
1346 AddMaterial("G4_MERCURIC_IODIDE", 6.36, 0, 684.5, 2);
1347 AddElementByWeightFraction(53, 0.55856);
1348 AddElementByWeightFraction(80, 0.44144);
1349
1350 AddMaterial("G4_METHANE", 0.000667151, 0, 41.7, 2, kStateGas);
1351 AddElementByWeightFraction( 1, 0.251306);
1352 AddElementByWeightFraction( 6, 0.748694);
1353
1354 AddMaterial("G4_METHANOL", 0.7914, 0, 67.6, 3);
1355 AddElementByWeightFraction( 1, 0.125822);
1356 AddElementByWeightFraction( 6, 0.374852);
1357 AddElementByWeightFraction( 8, 0.499326);
1358
1359 AddMaterial("G4_MIX_D_WAX", 0.99, 0, 60.9, 5);
1360 AddElementByWeightFraction( 1, 0.13404 );
1361 AddElementByWeightFraction( 6, 0.77796 );
1362 AddElementByWeightFraction( 8, 0.03502 );
1363 AddElementByWeightFraction(12, 0.038594);
1364 AddElementByWeightFraction(22, 0.014386);
1365
1366 AddMaterial("G4_MS20_TISSUE", 1.0, 0, 75.1, 6);
1367 AddElementByWeightFraction( 1, 0.081192);
1368 AddElementByWeightFraction( 6, 0.583442);
1369 AddElementByWeightFraction( 7, 0.017798);
1370 AddElementByWeightFraction( 8, 0.186381);
1371 AddElementByWeightFraction(12, 0.130287);
1372 AddElementByWeightFraction(17, 0.0009 );
1373
1374 AddMaterial("G4_MUSCLE_SKELETAL_ICRP", 1.05, 0, 75.3, 9);
1375 AddElementByWeightFraction( 1, 0.102);
1376 AddElementByWeightFraction( 6, 0.143);
1377 AddElementByWeightFraction( 7, 0.034);
1378 AddElementByWeightFraction( 8, 0.710);
1379 AddElementByWeightFraction(11, 0.001);
1380 AddElementByWeightFraction(15, 0.002);
1381 AddElementByWeightFraction(16, 0.003);
1382 AddElementByWeightFraction(17, 0.001);
1383 AddElementByWeightFraction(19, 0.004);
1384
1385 // from old ICRU report
1386 AddMaterial("G4_MUSCLE_STRIATED_ICRU", 1.04, 0, 74.7, 8);
1387 AddElementByWeightFraction( 1, 0.102);
1388 AddElementByWeightFraction( 6, 0.123);
1389 AddElementByWeightFraction( 7, 0.035);
1390 AddElementByWeightFraction( 8, 0.729);
1391 AddElementByWeightFraction(11, 0.001);
1392 AddElementByWeightFraction(15, 0.002);
1393 AddElementByWeightFraction(16, 0.004);
1394 AddElementByWeightFraction(19, 0.003);
1395
1396 AddMaterial("G4_MUSCLE_WITH_SUCROSE", 1.11, 0, 74.3, 4);
1397 AddElementByWeightFraction( 1, 0.098234);
1398 AddElementByWeightFraction( 6, 0.156214);
1399 AddElementByWeightFraction( 7, 0.035451);
1400 AddElementByWeightFraction( 8, 0.7101 );
1401
1402 AddMaterial("G4_MUSCLE_WITHOUT_SUCROSE", 1.07, 0, 74.2, 4);
1403 AddElementByWeightFraction( 1, 0.101969);
1404 AddElementByWeightFraction( 6, 0.120058);
1405 AddElementByWeightFraction( 7, 0.035451);
1406 AddElementByWeightFraction( 8, 0.742522);
1407
1408 AddMaterial("G4_NAPHTHALENE", 1.145, 0, 68.4, 2);
1409 AddElementByWeightFraction( 1, 0.062909);
1410 AddElementByWeightFraction( 6, 0.937091);
1411
1412 AddMaterial("G4_NITROBENZENE", 1.19867, 0, 75.8, 4);
1413 AddElementByWeightFraction( 1, 0.040935);
1414 AddElementByWeightFraction( 6, 0.585374);
1415 AddElementByWeightFraction( 7, 0.113773);
1416 AddElementByWeightFraction( 8, 0.259918);
1417
1418 AddMaterial("G4_NITROUS_OXIDE", 0.00183094, 0, 84.9, 2, kStateGas);
1419 AddElementByWeightFraction( 7, 0.636483);
1420 AddElementByWeightFraction( 8, 0.363517);
1421
1422 AddMaterial("G4_NYLON-8062", 1.08, 0, 64.3, 4);
1423 AddElementByWeightFraction( 1, 0.103509);
1424 AddElementByWeightFraction( 6, 0.648415);
1425 AddElementByWeightFraction( 7, 0.099536);
1426 AddElementByWeightFraction( 8, 0.148539);
1427
1428 AddMaterial("G4_NYLON-6-6", 1.14, 0, 63.9, 4);
1429 AddElementByWeightFraction( 1, 0.097976);
1430 AddElementByWeightFraction( 6, 0.636856);
1431 AddElementByWeightFraction( 7, 0.123779);
1432 AddElementByWeightFraction( 8, 0.141389);
1433
1434 AddMaterial("G4_NYLON-6-10", 1.14, 0, 63.2, 4);
1435 AddElementByWeightFraction( 1, 0.107062);
1436 AddElementByWeightFraction( 6, 0.680449);
1437 AddElementByWeightFraction( 7, 0.099189);
1438 AddElementByWeightFraction( 8, 0.1133 );
1439
1440 AddMaterial("G4_NYLON-11_RILSAN", 1.425, 0, 61.6, 4);
1441 AddElementByWeightFraction( 1, 0.115476);
1442 AddElementByWeightFraction( 6, 0.720819);
1443 AddElementByWeightFraction( 7, 0.076417);
1444 AddElementByWeightFraction( 8, 0.087289);
1445
1446 AddMaterial("G4_OCTANE", 0.7026, 0, 54.7, 2);
1447 AddElementByWeightFraction( 1, 0.158821);
1448 AddElementByWeightFraction( 6, 0.841179);
1449
1450 AddMaterial("G4_PARAFFIN", 0.93, 0, 55.9, 2);
1451 AddElementByWeightFraction( 1, 0.148605);
1452 AddElementByWeightFraction( 6, 0.851395);
1453
1454 AddMaterial("G4_N-PENTANE", 0.6262, 0, 53.6, 2);
1455 AddElementByWeightFraction( 1, 0.167635);
1456 AddElementByWeightFraction (6, 0.832365);
1457
1458 AddMaterial("G4_PHOTO_EMULSION", 3.815, 0, 331., 8);
1459 AddElementByWeightFraction( 1, 0.0141 );
1460 AddElementByWeightFraction( 6, 0.072261);
1461 AddElementByWeightFraction( 7, 0.01932 );
1462 AddElementByWeightFraction( 8, 0.066101);
1463 AddElementByWeightFraction(16, 0.00189 );
1464 AddElementByWeightFraction(35, 0.349103);
1465 AddElementByWeightFraction(47, 0.474105);
1466 AddElementByWeightFraction(53, 0.00312 );
1467
1468 AddMaterial("G4_PLASTIC_SC_VINYLTOLUENE", 1.032, 0, 64.7, 2);
1469 AddElementByWeightFraction( 1, 0.085);
1470 AddElementByWeightFraction( 6, 0.915);
1471
1472 AddMaterial("G4_PLUTONIUM_DIOXIDE", 11.46, 0, 746.5, 2);
1473 AddElementByWeightFraction( 8, 0.118055);
1474 AddElementByWeightFraction(94, 0.881945);
1475
1476 AddMaterial("G4_POLYACRYLONITRILE", 1.17, 0, 69.6, 3);
1477 AddElementByWeightFraction( 1, 0.056983);
1478 AddElementByWeightFraction( 6, 0.679056);
1479 AddElementByWeightFraction( 7, 0.263962);
1480
1481 AddMaterial("G4_POLYCARBONATE", 1.2, 0, 73.1, 3);
1482 AddElementByWeightFraction( 1, 0.055491);
1483 AddElementByWeightFraction( 6, 0.755751);
1484 AddElementByWeightFraction( 8, 0.188758);
1485
1486 AddMaterial("G4_POLYCHLOROSTYRENE", 1.3, 0, 81.7, 3);
1487 AddElementByWeightFraction( 1, 0.061869);
1488 AddElementByWeightFraction( 6, 0.696325);
1489 AddElementByWeightFraction(17, 0.241806);
1490
1491 AddMaterial("G4_POLYETHYLENE", 0.94, 0, 57.4, 2);
1492 AddElementByWeightFraction( 1, 0.143711);
1493 AddElementByWeightFraction( 6, 0.856289);
1494 chFormulas[nMaterials-1] = "(C_2H_4)_N-Polyethylene";
1495
1496 AddMaterial("G4_MYLAR", 1.4, 0, 78.7, 3);
1497 AddElementByWeightFraction( 1, 0.041959);
1498 AddElementByWeightFraction( 6, 0.625017);
1499 AddElementByWeightFraction( 8, 0.333025);
1500
1501 AddMaterial("G4_PLEXIGLASS", 1.19, 0, 74., 3);
1502 AddElementByWeightFraction( 1, 0.080538);
1503 AddElementByWeightFraction( 6, 0.599848);
1504 AddElementByWeightFraction( 8, 0.319614);
1505
1506 AddMaterial("G4_POLYOXYMETHYLENE", 1.425 ,0, 77.4, 3);
1507 AddElementByWeightFraction( 1, 0.067135);
1508 AddElementByWeightFraction( 6, 0.400017);
1509 AddElementByWeightFraction( 8, 0.532848);
1510
1511 AddMaterial("G4_POLYPROPYLENE", 0.9, 0, 56.5, 2);
1512 AddElementByWeightFraction( 1, 0.143711);
1513 AddElementByWeightFraction( 6, 0.856289);
1514 chFormulas[nMaterials-1] = "(C_2H_4)_N-Polypropylene";
1515
1516 AddMaterial("G4_POLYSTYRENE", 1.06, 0, 68.7, 2);
1517 AddElementByWeightFraction( 1, 0.077418);
1518 AddElementByWeightFraction( 6, 0.922582);
1519
1520 AddMaterial("G4_TEFLON", 2.2, 0, 99.1, 2);
1521 AddElementByWeightFraction( 6, 0.240183);
1522 AddElementByWeightFraction( 9, 0.759817);
1523
1524 AddMaterial("G4_POLYTRIFLUOROCHLOROETHYLENE", 2.1, 0, 120.7, 3);
1525 // correct chemical name Polychlorotrifluoroethylene [CF2CClF]n, IvantchenkoA.
1526 AddElementByWeightFraction( 6, 0.20625 );
1527 AddElementByWeightFraction( 9, 0.489354);
1528 AddElementByWeightFraction(17, 0.304395);
1529
1530 AddMaterial("G4_POLYVINYL_ACETATE", 1.19, 0, 73.7, 3);
1531 AddElementByWeightFraction( 1, 0.070245);
1532 AddElementByWeightFraction( 6, 0.558066);
1533 AddElementByWeightFraction( 8, 0.371689);
1534
1535 AddMaterial("G4_POLYVINYL_ALCOHOL", 1.3, 0, 69.7, 3);
1536 AddElementByWeightFraction( 1, 0.091517);
1537 AddElementByWeightFraction( 6, 0.545298);
1538 AddElementByWeightFraction( 8, 0.363185);
1539
1540 AddMaterial("G4_POLYVINYL_BUTYRAL", 1.12, 0, 67.2, 3);
1541 AddElementByWeightFraction( 1, 0.092802);
1542 AddElementByWeightFraction( 6, 0.680561);
1543 AddElementByWeightFraction( 8, 0.226637);
1544
1545 AddMaterial("G4_POLYVINYL_CHLORIDE", 1.3, 0, 108.2, 3);
1546 AddElementByWeightFraction( 1, 0.04838);
1547 AddElementByWeightFraction( 6, 0.38436);
1548 AddElementByWeightFraction(17, 0.56726);
1549
1550 AddMaterial("G4_POLYVINYLIDENE_CHLORIDE", 1.7, 0, 134.3, 3);
1551 AddElementByWeightFraction( 1, 0.020793);
1552 AddElementByWeightFraction( 6, 0.247793);
1553 AddElementByWeightFraction(17, 0.731413);
1554
1555 AddMaterial("G4_POLYVINYLIDENE_FLUORIDE", 1.76, 0, 88.8, 3);
1556 AddElementByWeightFraction( 1, 0.03148 );
1557 AddElementByWeightFraction( 6, 0.375141);
1558 AddElementByWeightFraction( 9, 0.593379);
1559
1560 AddMaterial("G4_POLYVINYL_PYRROLIDONE", 1.25, 0, 67.7, 4);
1561 AddElementByWeightFraction( 1, 0.081616);
1562 AddElementByWeightFraction( 6, 0.648407);
1563 AddElementByWeightFraction( 7, 0.126024);
1564 AddElementByWeightFraction( 8, 0.143953);
1565
1566 AddMaterial("G4_POTASSIUM_IODIDE", 3.13, 0, 431.9, 2);
1567 AddElementByWeightFraction(19, 0.235528);
1568 AddElementByWeightFraction(53, 0.764472);
1569
1570 AddMaterial("G4_POTASSIUM_OXIDE", 2.32, 0, 189.9, 2);
1571 AddElementByWeightFraction( 8, 0.169852);
1572 AddElementByWeightFraction(19, 0.830148);
1573
1574 AddMaterial("G4_PROPANE", 0.00187939, 0, 47.1, 2, kStateGas);
1575 AddElementByWeightFraction( 1, 0.182855);
1576 AddElementByWeightFraction( 6, 0.817145);
1577
1578 AddMaterial("G4_lPROPANE", 0.43, 0, 52., 2);
1579 AddElementByWeightFraction( 1, 0.182855);
1580 AddElementByWeightFraction( 6, 0.817145);
1581
1582 AddMaterial("G4_N-PROPYL_ALCOHOL", 0.8035, 0, 61.1, 3);
1583 AddElementByWeightFraction( 1, 0.134173);
1584 AddElementByWeightFraction( 6, 0.599595);
1585 AddElementByWeightFraction( 8, 0.266232);
1586
1587 AddMaterial("G4_PYRIDINE", 0.9819, 0, 66.2, 3);
1588 AddElementByWeightFraction( 1, 0.06371 );
1589 AddElementByWeightFraction( 6, 0.759217);
1590 AddElementByWeightFraction( 7, 0.177073);
1591
1592 AddMaterial("G4_RUBBER_BUTYL", 0.92, 0, 56.5, 2);
1593 AddElementByWeightFraction( 1, 0.143711);
1594 AddElementByWeightFraction( 6, 0.856289);
1595
1596 AddMaterial("G4_RUBBER_NATURAL", 0.92, 0, 59.8, 2);
1597 AddElementByWeightFraction( 1, 0.118371);
1598 AddElementByWeightFraction( 6, 0.881629);
1599
1600 AddMaterial("G4_RUBBER_NEOPRENE", 1.23, 0, 93., 3);
1601 AddElementByWeightFraction( 1, 0.05692 );
1602 AddElementByWeightFraction( 6, 0.542646);
1603 AddElementByWeightFraction(17, 0.400434);
1604
1605 AddMaterial("G4_SILICON_DIOXIDE", 2.32, 0, 139.2, 2);
1606 AddElementByWeightFraction( 8, 0.532565);
1607 AddElementByWeightFraction(14, 0.467435);
1608 chFormulas[nMaterials-1] = "SiO_2";
1609
1610 AddMaterial("G4_SILVER_BROMIDE", 6.473, 0, 486.6, 2);
1611 AddElementByWeightFraction(35, 0.425537);
1612 AddElementByWeightFraction(47, 0.574463);
1613
1614 AddMaterial("G4_SILVER_CHLORIDE", 5.56, 0, 398.4, 2);
1615 AddElementByWeightFraction(17, 0.247368);
1616 AddElementByWeightFraction(47, 0.752632);
1617
1618 AddMaterial("G4_SILVER_HALIDES", 6.47, 0, 487.1, 3);
1619 AddElementByWeightFraction(35, 0.422895);
1620 AddElementByWeightFraction(47, 0.573748);
1621 AddElementByWeightFraction(53, 0.003357);
1622
1623 AddMaterial("G4_SILVER_IODIDE", 6.01, 0, 543.5, 2);
1624 AddElementByWeightFraction(47, 0.459458);
1625 AddElementByWeightFraction(53, 0.540542);
1626
1627 AddMaterial("G4_SKIN_ICRP", 1.09, 0, 72.7, 9);
1628 AddElementByWeightFraction( 1, 0.100);
1629 AddElementByWeightFraction( 6, 0.204);
1630 AddElementByWeightFraction( 7, 0.042);
1631 AddElementByWeightFraction( 8, 0.645);
1632 AddElementByWeightFraction(11, 0.002);
1633 AddElementByWeightFraction(15, 0.001);
1634 AddElementByWeightFraction(16, 0.002);
1635 AddElementByWeightFraction(17, 0.003);
1636 AddElementByWeightFraction(19, 0.001);
1637
1638 AddMaterial("G4_SODIUM_CARBONATE", 2.532, 0, 125., 3);
1639 AddElementByWeightFraction( 6, 0.113323);
1640 AddElementByWeightFraction( 8, 0.452861);
1641 AddElementByWeightFraction(11, 0.433815);
1642
1643 AddMaterial("G4_SODIUM_IODIDE", 3.667, 0, 452., 2);
1644 AddElementByWeightFraction(11, 0.153373);
1645 AddElementByWeightFraction(53, 0.846627);
1646
1647 AddMaterial("G4_SODIUM_MONOXIDE", 2.27, 0, 148.8, 2);
1648 AddElementByWeightFraction( 8, 0.258143);
1649 AddElementByWeightFraction(11, 0.741857);
1650
1651 AddMaterial("G4_SODIUM_NITRATE", 2.261, 0, 114.6, 3);
1652 AddElementByWeightFraction( 7, 0.164795);
1653 AddElementByWeightFraction( 8, 0.56472 );
1654 AddElementByWeightFraction(11, 0.270485);
1655
1656 AddMaterial("G4_STILBENE", 0.9707, 0, 67.7, 2);
1657 AddElementByWeightFraction( 1, 0.067101);
1658 AddElementByWeightFraction( 6, 0.932899);
1659
1660 AddMaterial("G4_SUCROSE", 1.5805, 0, 77.5, 3);
1661 AddElementByWeightFraction( 1, 0.064779);
1662 AddElementByWeightFraction( 6, 0.42107);
1663 AddElementByWeightFraction( 8, 0.514151);
1664
1665 AddMaterial("G4_TERPHENYL", 1.234, 0, 71.7, 2);
1666 AddElementByWeightFraction( 1, 0.044543);
1667 AddElementByWeightFraction( 6, 0.955457);
1668
1669 AddMaterial("G4_TESTIS_ICRP", 1.04, 0, 75., 9);
1670 AddElementByWeightFraction( 1, 0.106);
1671 AddElementByWeightFraction( 6, 0.099);
1672 AddElementByWeightFraction( 7, 0.020);
1673 AddElementByWeightFraction( 8, 0.766);
1674 AddElementByWeightFraction(11, 0.002);
1675 AddElementByWeightFraction(15, 0.001);
1676 AddElementByWeightFraction(16, 0.002);
1677 AddElementByWeightFraction(17, 0.002);
1678 AddElementByWeightFraction(19, 0.002);
1679
1680 AddMaterial("G4_TETRACHLOROETHYLENE", 1.625, 0, 159.2, 2);
1681 AddElementByWeightFraction( 6, 0.144856);
1682 AddElementByWeightFraction(17, 0.855144);
1683
1684 AddMaterial("G4_THALLIUM_CHLORIDE", 7.004, 0, 690.3, 2);
1685 AddElementByWeightFraction(17, 0.147822);
1686 AddElementByWeightFraction(81, 0.852178);
1687
1688 // TISSUE_SOFT_MALE ICRU-44/46 (1989)
1689 AddMaterial("G4_TISSUE_SOFT_ICRP", 1.03, 0, 72.3, 9);
1690 AddElementByWeightFraction( 1, 0.105);
1691 AddElementByWeightFraction( 6, 0.256);
1692 AddElementByWeightFraction( 7, 0.027);
1693 AddElementByWeightFraction( 8, 0.602);
1694 AddElementByWeightFraction(11, 0.001);
1695 AddElementByWeightFraction(15, 0.002);
1696 AddElementByWeightFraction(16, 0.003);
1697 AddElementByWeightFraction(17, 0.002);
1698 AddElementByWeightFraction(19, 0.002);
1699
1700 // Tissue soft adult ICRU-33 (1980)
1701 AddMaterial("G4_TISSUE_SOFT_ICRU-4", 1.0, 0, 74.9, 4);
1702 AddElementByWeightFraction( 1, 0.101);
1703 AddElementByWeightFraction( 6, 0.111);
1704 AddElementByWeightFraction( 7, 0.026);
1705 AddElementByWeightFraction( 8, 0.762);
1706
1707 AddMaterial("G4_TISSUE-METHANE", 0.00106409, 0, 61.2, 4, kStateGas);
1708 AddElementByWeightFraction( 1, 0.101869);
1709 AddElementByWeightFraction( 6, 0.456179);
1710 AddElementByWeightFraction( 7, 0.035172);
1711 AddElementByWeightFraction( 8, 0.40678 );
1712
1713 AddMaterial("G4_TISSUE-PROPANE", 0.00182628, 0, 59.5, 4, kStateGas);
1714 AddElementByWeightFraction( 1, 0.102672);
1715 AddElementByWeightFraction( 6, 0.56894 );
1716 AddElementByWeightFraction( 7, 0.035022);
1717 AddElementByWeightFraction( 8, 0.293366);
1718
1719 AddMaterial("G4_TITANIUM_DIOXIDE", 4.26, 0, 179.5, 2);
1720 AddElementByWeightFraction( 8, 0.400592);
1721 AddElementByWeightFraction(22, 0.599408);
1722
1723 AddMaterial("G4_TOLUENE", 0.8669, 0, 62.5, 2);
1724 AddElementByWeightFraction( 1, 0.08751);
1725 AddElementByWeightFraction( 6, 0.91249);
1726
1727 AddMaterial("G4_TRICHLOROETHYLENE", 1.46, 0, 148.1, 3);
1728 AddElementByWeightFraction( 1, 0.007671);
1729 AddElementByWeightFraction( 6, 0.182831);
1730 AddElementByWeightFraction(17, 0.809498);
1731
1732 AddMaterial("G4_TRIETHYL_PHOSPHATE", 1.07, 0, 81.2, 4);
1733 AddElementByWeightFraction( 1, 0.082998);
1734 AddElementByWeightFraction( 6, 0.395628);
1735 AddElementByWeightFraction( 8, 0.351334);
1736 AddElementByWeightFraction(15, 0.17004 );
1737
1738 AddMaterial("G4_TUNGSTEN_HEXAFLUORIDE", 2.4, 0, 354.4, 2);
1739 AddElementByWeightFraction( 9, 0.382723);
1740 AddElementByWeightFraction(74, 0.617277);
1741
1742 AddMaterial("G4_URANIUM_DICARBIDE", 11.28, 0, 752., 2);
1743 AddElementByWeightFraction( 6, 0.091669);
1744 AddElementByWeightFraction(92, 0.908331);
1745
1746 AddMaterial("G4_URANIUM_MONOCARBIDE", 13.63, 0, 862., 2);
1747 AddElementByWeightFraction( 6, 0.048036);
1748 AddElementByWeightFraction(92, 0.951964);
1749
1750 AddMaterial("G4_URANIUM_OXIDE", 10.96, 0, 720.6, 2);
1751 AddElementByWeightFraction( 8, 0.118502);
1752 AddElementByWeightFraction(92, 0.881498);
1753
1754 AddMaterial("G4_UREA", 1.323, 0, 72.8, 4);
1755 AddElementByWeightFraction( 1, 0.067131);
1756 AddElementByWeightFraction( 6, 0.199999);
1757 AddElementByWeightFraction( 7, 0.466459);
1758 AddElementByWeightFraction( 8, 0.266411);
1759
1760 AddMaterial("G4_VALINE", 1.23, 0, 67.7, 4);
1761 AddElementByWeightFraction( 1, 0.094641);
1762 AddElementByWeightFraction( 6, 0.512645);
1763 AddElementByWeightFraction( 7, 0.119565);
1764 AddElementByWeightFraction( 8, 0.27315 );
1765
1766 AddMaterial("G4_VITON", 1.8, 0, 98.6, 3);
1767 AddElementByWeightFraction( 1, 0.009417);
1768 AddElementByWeightFraction( 6, 0.280555);
1769 AddElementByWeightFraction( 9, 0.710028);
1770
1771 AddMaterial("G4_WATER", 1.0,0, 78., 2);
1772 AddElementByAtomCount("H", 2);
1773 AddElementByAtomCount("O", 1);
1774 chFormulas[nMaterials-1] = "H_2O";
1775
1776 AddMaterial("G4_WATER_VAPOR", 0.000756182, 0, 71.6, 2, kStateGas);
1777 AddElementByAtomCount("H", 2);
1778 AddElementByAtomCount("O", 1);
1779 chFormulas[nMaterials-1] = "H_2O-Gas";
1780
1781 AddMaterial("G4_XYLENE", 0.87, 0, 61.8, 2);
1782 AddElementByWeightFraction( 1, 0.094935);
1783 AddElementByWeightFraction( 6, 0.905065);
1784
1785 AddMaterial("G4_GRAPHITE", 2.21, 6, 78.);
1786 chFormulas[nMaterials-1] = "Graphite";
1787
1788 nNIST = nMaterials;
1789}
1790
1791//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
1792
1793void G4NistMaterialBuilder::HepAndNuclearMaterials()
1794{
1795 AddMaterial("G4_lH2", 0.0708, 1, 21.8, 1, kStateLiquid, false);
1796 AddMaterial("G4_lN2", 0.807, 7, 82., 1, kStateLiquid, false);
1797 AddMaterial("G4_lO2", 1.141, 8, 95., 1, kStateLiquid, false);
1798 AddMaterial("G4_lAr", 1.396 , 18, 188. , 1, kStateLiquid, false);
1799 AddMaterial("G4_lKr", 2.418 , 36, 352. , 1, kStateLiquid, false);
1800 AddMaterial("G4_lXe", 2.953 , 54, 482. , 1, kStateLiquid, false);
1801
1802 AddMaterial("G4_PbWO4", 8.28, 0, 0.0, 3);
1803 AddElementByAtomCount("O" , 4);
1804 AddElementByAtomCount("Pb", 1);
1805 AddElementByAtomCount("W" , 1);
1806
1807 G4double density = universe_mean_density*cm3/g;
1808 AddMaterial("G4_Galactic", density, 1, 21.8, 1, kStateGas);
1809 AddGas("G4_Galactic",2.73*kelvin, 3.e-18*pascal);
1810
1811 AddMaterial("G4_GRAPHITE_POROUS", 1.7, 6, 78.);
1812 chFormulas[nMaterials-1] = "Graphite";
1813
1814 // LUCITE is equal to plustiglass
1815 AddMaterial("G4_LUCITE", 1.19, 0, 74., 3);
1816 AddElementByWeightFraction( 1, 0.080538);
1817 AddElementByWeightFraction( 6, 0.599848);
1818 AddElementByWeightFraction( 8, 0.319614);
1819
1820 // SRIM-2008 materials
1821 AddMaterial("G4_BRASS", 8.52, 0, 0.0, 3);
1822 AddElementByAtomCount("Cu", 62);
1823 AddElementByAtomCount("Zn", 35);
1824 AddElementByAtomCount("Pb" , 3);
1825
1826 AddMaterial("G4_BRONZE", 8.82, 0, 0.0, 3);
1827 AddElementByAtomCount("Cu", 89);
1828 AddElementByAtomCount("Zn", 9);
1829 AddElementByAtomCount("Pb" , 2);
1830
1831 AddMaterial("G4_STAINLESS-STEEL", 8.00, 0, 0.0, 3);
1832 AddElementByAtomCount("Fe", 74);
1833 AddElementByAtomCount("Cr", 8);
1834 AddElementByAtomCount("Ni" ,18);
1835
1836 AddMaterial("G4_CR39", 1.32, 0, 0.0, 3);
1837 AddElementByAtomCount("H", 18);
1838 AddElementByAtomCount("C", 12);
1839 AddElementByAtomCount("O", 7);
1840
1841 AddMaterial("G4_OCTADECANOL", 0.812, 0, 0.0, 3);
1842 AddElementByAtomCount("H", 38);
1843 AddElementByAtomCount("C", 18);
1844 AddElementByAtomCount("O", 1);
1845
1846 nHEP = nMaterials;
1847}
1848
1849//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
1850
1851void G4NistMaterialBuilder::SpaceMaterials()
1852{
1853 // density in g/cm3
1854 AddMaterial("G4_KEVLAR" , 1.44, 0, 0.0, 4);
1855 AddElementByAtomCount("C", 14);
1856 AddElementByAtomCount("H", 10);
1857 AddElementByAtomCount("O", 2);
1858 AddElementByAtomCount("N", 2);
1859
1860 AddMaterial("G4_DACRON" , 1.40, 0, 0.0, 3); // G4_POLYETHYLENE_TEREPHTALATE
1861 AddElementByAtomCount("C", 10);
1862 AddElementByAtomCount("H", 8);
1863 AddElementByAtomCount("O", 4);
1864
1865 AddMaterial("G4_NEOPRENE" , 1.23, 0, 0.0, 3); // POLYCLOROPRENE
1866 AddElementByAtomCount("C", 4);
1867 AddElementByAtomCount("H", 5);
1868 AddElementByAtomCount("Cl", 1);
1869
1870 nSpace = nMaterials;
1871}
1872
1873//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
1874
1875void G4NistMaterialBuilder::BioChemicalMaterials()
1876{
1877 AddMaterial("G4_CYTOSINE", 1.55, 0, 72., 4);
1878 AddElementByAtomCount("H", 5);
1879 AddElementByAtomCount("C", 4);
1880 AddElementByAtomCount("N", 3);
1881 AddElementByAtomCount("O", 1);
1882
1883 AddMaterial("G4_THYMINE", 1.23, 0, 72., 4);
1884 AddElementByAtomCount("H", 6);
1885 AddElementByAtomCount("C", 5);
1886 AddElementByAtomCount("N", 2);
1887 AddElementByAtomCount("O", 2);
1888
1889 AddMaterial("G4_URACIL", 1.32, 0, 72., 4);
1890 AddElementByAtomCount("H", 4);
1891 AddElementByAtomCount("C", 4);
1892 AddElementByAtomCount("N", 2);
1893 AddElementByAtomCount("O", 2);
1894
1895 // DNA_Nucleobase (Nucleobase-1H)
1896 AddMaterial("G4_DNA_ADENINE", 1, 0, 72., 3);
1897 AddElementByAtomCount("H",4 );
1898 AddElementByAtomCount("C",5 );
1899 AddElementByAtomCount("N",5 );
1900
1901 AddMaterial("G4_DNA_GUANINE", 1, 0, 72. ,4);
1902 AddElementByAtomCount("H",4 );
1903 AddElementByAtomCount("C",5 );
1904 AddElementByAtomCount("N",5 );
1905 AddElementByAtomCount("O",1 );
1906
1907 AddMaterial("G4_DNA_CYTOSINE", 1, 0, 72., 4);
1908 AddElementByAtomCount("H", 4);
1909 AddElementByAtomCount("C", 4);
1910 AddElementByAtomCount("N", 3);
1911 AddElementByAtomCount("O", 1);
1912
1913 AddMaterial("G4_DNA_THYMINE", 1, 0, 72., 4);
1914 AddElementByAtomCount("H", 5);
1915 AddElementByAtomCount("C", 5);
1916 AddElementByAtomCount("N", 2);
1917 AddElementByAtomCount("O", 2);
1918
1919 AddMaterial("G4_DNA_URACIL", 1, 0, 72., 4);
1920 AddElementByAtomCount("H", 3);
1921 AddElementByAtomCount("C", 4);
1922 AddElementByAtomCount("N", 2);
1923 AddElementByAtomCount("O", 2);
1924
1925 // DNA_Nucleoside (Nucleoside-3H)
1926 AddMaterial("G4_DNA_ADENOSINE", 1, 0, 72., 4);
1927 AddElementByAtomCount("H", 10);
1928 AddElementByAtomCount("C", 10);
1929 AddElementByAtomCount("N", 5);
1930 AddElementByAtomCount("O", 4);
1931
1932 AddMaterial("G4_DNA_GUANOSINE", 1, 0, 72. ,4);
1933 AddElementByAtomCount("H", 10);
1934 AddElementByAtomCount("C", 10);
1935 AddElementByAtomCount("N", 5);
1936 AddElementByAtomCount("O", 5);
1937
1938 AddMaterial("G4_DNA_CYTIDINE", 1, 0, 72., 4);
1939 AddElementByAtomCount("H", 10);
1940 AddElementByAtomCount("C", 9);
1941 AddElementByAtomCount("N", 3);
1942 AddElementByAtomCount("O", 5);
1943
1944 AddMaterial("G4_DNA_URIDINE", 1, 0, 72., 4);
1945 AddElementByAtomCount("H", 9);
1946 AddElementByAtomCount("C", 9);
1947 AddElementByAtomCount("N", 2);
1948 AddElementByAtomCount("O", 6);
1949
1950 AddMaterial("G4_DNA_METHYLURIDINE", 1, 0, 72., 4);
1951 AddElementByAtomCount("H", 11);
1952 AddElementByAtomCount("C", 10);
1953 AddElementByAtomCount("N", 2);
1954 AddElementByAtomCount("O", 6);
1955
1956 AddMaterial("G4_DNA_MONOPHOSPHATE", 1, 0, 72., 2);
1957 AddElementByAtomCount("P", 1);
1958 AddElementByAtomCount("O", 3);
1959
1960 AddMaterial("G4_DNA_A", 1, 0, 72., 5); //Adenine base
1961 AddElementByAtomCount("H", 10);
1962 AddElementByAtomCount("C", 10);
1963 AddElementByAtomCount("N", 5);
1964 AddElementByAtomCount("O", 7);
1965 AddElementByAtomCount("P", 1);
1966
1967 AddMaterial("G4_DNA_G", 1, 0, 72. ,5); //Guanine base
1968 AddElementByAtomCount("H", 10);
1969 AddElementByAtomCount("C", 10);
1970 AddElementByAtomCount("N", 5);
1971 AddElementByAtomCount("O", 8);
1972 AddElementByAtomCount("P", 1);
1973
1974 AddMaterial("G4_DNA_C", 1, 0, 72., 5); // Cytosine base
1975 AddElementByAtomCount("H", 10);
1976 AddElementByAtomCount("C", 9);
1977 AddElementByAtomCount("N", 3);
1978 AddElementByAtomCount("O", 8);
1979 AddElementByAtomCount("P", 1);
1980
1981 AddMaterial("G4_DNA_U", 1, 0, 72., 5); // Uracil base
1982 AddElementByAtomCount("H", 9);
1983 AddElementByAtomCount("C", 9);
1984 AddElementByAtomCount("N", 2);
1985 AddElementByAtomCount("O", 9);
1986 AddElementByAtomCount("P", 1);
1987
1988 AddMaterial("G4_DNA_MU", 1, 0, 72., 5); // MethaUracil base
1989 AddElementByAtomCount("H", 11);
1990 AddElementByAtomCount("C", 10);
1991 AddElementByAtomCount("N", 2);
1992 AddElementByAtomCount("O", 9);
1993 AddElementByAtomCount("P", 1);
1994 /*
1995 // Complete 70 kg body of adult men from en.wikipedia.org/ see References there
1996 AddMaterial("G4_BODY", 1.8, 0, 78, 12);
1997 AddElementByWeightFraction( 8, 0.650);
1998 AddElementByWeightFraction( 6, 0.180);
1999 AddElementByWeightFraction( 1, 0.100);
2000 AddElementByWeightFraction( 7, 0.030);
2001 AddElementByWeightFraction(20, 0.015);
2002 AddElementByWeightFraction(15, 0.010);
2003 AddElementByWeightFraction(19, 0.0025);
2004 AddElementByWeightFraction(16, 0.0025);
2005 AddElementByWeightFraction(11, 0.0015);
2006 AddElementByWeightFraction(17, 0.0015);
2007 AddElementByWeightFraction(12, 0.0005);
2008 AddElementByWeightFraction(26, 0.00006);
2009 */
2010}
2011
2012
2013
2014
@ FatalException
std::vector< G4Material * > G4MaterialTable
G4State
Definition: G4Material.hh:114
@ kStateLiquid
Definition: G4Material.hh:114
@ kStateGas
Definition: G4Material.hh:114
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
#define pascal
G4double FindMeanExcitationEnergy(const G4String &chFormula)
G4double GetMeanExcitationEnergy() const
void SetMeanExcitationEnergy(G4double value)
G4double GetDensity() const
Definition: G4Material.hh:179
static const G4MaterialTable * GetMaterialTable()
Definition: G4Material.cc:562
G4State GetState() const
Definition: G4Material.hh:180
G4IonisParamMat * GetIonisation() const
Definition: G4Material.hh:225
void AddElement(G4Element *element, G4int nAtoms)
Definition: G4Material.cc:341
void SetChemicalFormula(const G4String &chF)
Definition: G4Material.hh:172
size_t GetIndex() const
Definition: G4Material.hh:261
G4int GetZ(const G4String &symb)
G4Element * FindOrBuildElement(G4int Z, G4bool buildIsotopes=true)
G4double GetAtomicMassAmu(const G4String &symb)
G4Material * ConstructNewMaterial(const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4double dens, G4bool isotopes=true, G4State state=kStateSolid, G4double temp=CLHEP::STP_Temperature, G4double pressure=CLHEP::STP_Pressure)
G4Material * ConstructNewIdealGasMaterial(const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4bool isotopes=true, G4double temp=CLHEP::STP_Temperature, G4double pressure=CLHEP::STP_Pressure)
G4NistMaterialBuilder(G4NistElementBuilder *, G4int verb=0)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=true)
void ListMaterials(const G4String &)
G4Material * ConstructNewGasMaterial(const G4String &name, const G4String &nameDB, G4double temp, G4double pres, G4bool isotopes=true)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
int G4lrint(double ad)
Definition: templates.hh:163