Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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