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