source: trunk/source/materials/src/G4NistMaterialBuilder.cc @ 1315

Last change on this file since 1315 was 1315, checked in by garnier, 14 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

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