Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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: G4NistMaterialBuilder.cc 67044 2013-01-30 08:50:06Z gcosmo $
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 
68 #include "G4NistMaterialBuilder.hh"
69 #include "G4NistElementBuilder.hh"
70 #include "G4Element.hh"
71 #include "G4PhysicalConstants.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 
149 G4Material* 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
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)
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 
429 void 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 
581 void 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 
590 void 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 
608 void
609 G4NistMaterialBuilder::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 
633 void 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 
654 void 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 
663 void 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 
672 void 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 
684 void 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 
700 void 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 
808 void 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 
1793 void 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 
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  // parameters are taken from
1832  // http://www.azom.com/article.aspx?ArticleID=965
1833  AddMaterial("G4_STAINLESS-STEEL", 8.00, 0, 0.0, 3);
1834  AddElementByAtomCount("Fe", 74);
1835  AddElementByAtomCount("Cr", 18);
1836  AddElementByAtomCount("Ni" , 8);
1837 
1838  AddMaterial("G4_CR39", 1.32, 0, 0.0, 3);
1839  AddElementByAtomCount("H", 18);
1840  AddElementByAtomCount("C", 12);
1841  AddElementByAtomCount("O", 7);
1842 
1843  AddMaterial("G4_OCTADECANOL", 0.812, 0, 0.0, 3);
1844  AddElementByAtomCount("H", 38);
1845  AddElementByAtomCount("C", 18);
1846  AddElementByAtomCount("O", 1);
1847 
1848  nHEP = nMaterials;
1849 }
1850 
1851 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
1852 
1853 void G4NistMaterialBuilder::SpaceMaterials()
1854 {
1855  // density in g/cm3
1856  AddMaterial("G4_KEVLAR" , 1.44, 0, 0.0, 4);
1857  AddElementByAtomCount("C", 14);
1858  AddElementByAtomCount("H", 10);
1859  AddElementByAtomCount("O", 2);
1860  AddElementByAtomCount("N", 2);
1861 
1862  AddMaterial("G4_DACRON" , 1.40, 0, 0.0, 3); // G4_POLYETHYLENE_TEREPHTALATE
1863  AddElementByAtomCount("C", 10);
1864  AddElementByAtomCount("H", 8);
1865  AddElementByAtomCount("O", 4);
1866 
1867  AddMaterial("G4_NEOPRENE" , 1.23, 0, 0.0, 3); // POLYCLOROPRENE
1868  AddElementByAtomCount("C", 4);
1869  AddElementByAtomCount("H", 5);
1870  AddElementByAtomCount("Cl", 1);
1871 
1872  nSpace = nMaterials;
1873 }
1874 
1875 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
1876 
1877 void G4NistMaterialBuilder::BioChemicalMaterials()
1878 {
1879  AddMaterial("G4_CYTOSINE", 1.55, 0, 72., 4);
1880  AddElementByAtomCount("H", 5);
1881  AddElementByAtomCount("C", 4);
1882  AddElementByAtomCount("N", 3);
1883  AddElementByAtomCount("O", 1);
1884 
1885  AddMaterial("G4_THYMINE", 1.23, 0, 72., 4);
1886  AddElementByAtomCount("H", 6);
1887  AddElementByAtomCount("C", 5);
1888  AddElementByAtomCount("N", 2);
1889  AddElementByAtomCount("O", 2);
1890 
1891  AddMaterial("G4_URACIL", 1.32, 0, 72., 4);
1892  AddElementByAtomCount("H", 4);
1893  AddElementByAtomCount("C", 4);
1894  AddElementByAtomCount("N", 2);
1895  AddElementByAtomCount("O", 2);
1896 
1897  // DNA_Nucleobase (Nucleobase-1H)
1898  AddMaterial("G4_DNA_ADENINE", 1, 0, 72., 3);
1899  AddElementByAtomCount("H",4 );
1900  AddElementByAtomCount("C",5 );
1901  AddElementByAtomCount("N",5 );
1902 
1903  AddMaterial("G4_DNA_GUANINE", 1, 0, 72. ,4);
1904  AddElementByAtomCount("H",4 );
1905  AddElementByAtomCount("C",5 );
1906  AddElementByAtomCount("N",5 );
1907  AddElementByAtomCount("O",1 );
1908 
1909  AddMaterial("G4_DNA_CYTOSINE", 1, 0, 72., 4);
1910  AddElementByAtomCount("H", 4);
1911  AddElementByAtomCount("C", 4);
1912  AddElementByAtomCount("N", 3);
1913  AddElementByAtomCount("O", 1);
1914 
1915  AddMaterial("G4_DNA_THYMINE", 1, 0, 72., 4);
1916  AddElementByAtomCount("H", 5);
1917  AddElementByAtomCount("C", 5);
1918  AddElementByAtomCount("N", 2);
1919  AddElementByAtomCount("O", 2);
1920 
1921  AddMaterial("G4_DNA_URACIL", 1, 0, 72., 4);
1922  AddElementByAtomCount("H", 3);
1923  AddElementByAtomCount("C", 4);
1924  AddElementByAtomCount("N", 2);
1925  AddElementByAtomCount("O", 2);
1926 
1927  // DNA_Nucleoside (Nucleoside-3H)
1928  AddMaterial("G4_DNA_ADENOSINE", 1, 0, 72., 4);
1929  AddElementByAtomCount("H", 10);
1930  AddElementByAtomCount("C", 10);
1931  AddElementByAtomCount("N", 5);
1932  AddElementByAtomCount("O", 4);
1933 
1934  AddMaterial("G4_DNA_GUANOSINE", 1, 0, 72. ,4);
1935  AddElementByAtomCount("H", 10);
1936  AddElementByAtomCount("C", 10);
1937  AddElementByAtomCount("N", 5);
1938  AddElementByAtomCount("O", 5);
1939 
1940  AddMaterial("G4_DNA_CYTIDINE", 1, 0, 72., 4);
1941  AddElementByAtomCount("H", 10);
1942  AddElementByAtomCount("C", 9);
1943  AddElementByAtomCount("N", 3);
1944  AddElementByAtomCount("O", 5);
1945 
1946  AddMaterial("G4_DNA_URIDINE", 1, 0, 72., 4);
1947  AddElementByAtomCount("H", 9);
1948  AddElementByAtomCount("C", 9);
1949  AddElementByAtomCount("N", 2);
1950  AddElementByAtomCount("O", 6);
1951 
1952  AddMaterial("G4_DNA_METHYLURIDINE", 1, 0, 72., 4);
1953  AddElementByAtomCount("H", 11);
1954  AddElementByAtomCount("C", 10);
1955  AddElementByAtomCount("N", 2);
1956  AddElementByAtomCount("O", 6);
1957 
1958  AddMaterial("G4_DNA_MONOPHOSPHATE", 1, 0, 72., 2);
1959  AddElementByAtomCount("P", 1);
1960  AddElementByAtomCount("O", 3);
1961 
1962  AddMaterial("G4_DNA_A", 1, 0, 72., 5); //Adenine base
1963  AddElementByAtomCount("H", 10);
1964  AddElementByAtomCount("C", 10);
1965  AddElementByAtomCount("N", 5);
1966  AddElementByAtomCount("O", 7);
1967  AddElementByAtomCount("P", 1);
1968 
1969  AddMaterial("G4_DNA_G", 1, 0, 72. ,5); //Guanine base
1970  AddElementByAtomCount("H", 10);
1971  AddElementByAtomCount("C", 10);
1972  AddElementByAtomCount("N", 5);
1973  AddElementByAtomCount("O", 8);
1974  AddElementByAtomCount("P", 1);
1975 
1976  AddMaterial("G4_DNA_C", 1, 0, 72., 5); // Cytosine base
1977  AddElementByAtomCount("H", 10);
1978  AddElementByAtomCount("C", 9);
1979  AddElementByAtomCount("N", 3);
1980  AddElementByAtomCount("O", 8);
1981  AddElementByAtomCount("P", 1);
1982 
1983  AddMaterial("G4_DNA_U", 1, 0, 72., 5); // Uracil base
1984  AddElementByAtomCount("H", 9);
1985  AddElementByAtomCount("C", 9);
1986  AddElementByAtomCount("N", 2);
1987  AddElementByAtomCount("O", 9);
1988  AddElementByAtomCount("P", 1);
1989 
1990  AddMaterial("G4_DNA_MU", 1, 0, 72., 5); // MethaUracil base
1991  AddElementByAtomCount("H", 11);
1992  AddElementByAtomCount("C", 10);
1993  AddElementByAtomCount("N", 2);
1994  AddElementByAtomCount("O", 9);
1995  AddElementByAtomCount("P", 1);
1996  /*
1997  // Complete 70 kg body of adult men from en.wikipedia.org/ see References there
1998  AddMaterial("G4_BODY", 1.8, 0, 78, 12);
1999  AddElementByWeightFraction( 8, 0.650);
2000  AddElementByWeightFraction( 6, 0.180);
2001  AddElementByWeightFraction( 1, 0.100);
2002  AddElementByWeightFraction( 7, 0.030);
2003  AddElementByWeightFraction(20, 0.015);
2004  AddElementByWeightFraction(15, 0.010);
2005  AddElementByWeightFraction(19, 0.0025);
2006  AddElementByWeightFraction(16, 0.0025);
2007  AddElementByWeightFraction(11, 0.0015);
2008  AddElementByWeightFraction(17, 0.0015);
2009  AddElementByWeightFraction(12, 0.0005);
2010  AddElementByWeightFraction(26, 0.00006);
2011  */
2012 }
2013 
2014 
2015 
2016