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