00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 #include "G4NistMaterialBuilder.hh"
00069 #include "G4NistElementBuilder.hh"
00070 #include "G4Element.hh"
00071 #include "G4PhysicalConstants.hh"
00072 #include "G4SystemOfUnits.hh"
00073
00074
00075
00076 G4NistMaterialBuilder::G4NistMaterialBuilder(G4NistElementBuilder* eb, G4int vb)
00077 : elmBuilder(eb),
00078 verbose(vb),
00079 nMaterials(0),
00080 nComponents(0),
00081 nCurrent(0),
00082 first(true)
00083 {
00084 Initialise();
00085 }
00086
00087
00088
00089 G4NistMaterialBuilder::~G4NistMaterialBuilder()
00090 {}
00091
00092
00093
00094 G4Material* G4NistMaterialBuilder::FindOrBuildMaterial(const G4String& matname,
00095 G4bool isotopes,
00096 G4bool warning)
00097 {
00098 if(first) {
00099 if(verbose > 0) {
00100 G4cout << "### NIST DataBase for Materials is used" << G4endl;
00101 }
00102 first = false;
00103 }
00104
00105 G4String name = matname;
00106 if("G4_NYLON-6/6" == matname) { name = "G4_NYLON-6-6"; }
00107 if("G4_NYLON-6/10" == matname) { name = "G4_NYLON-6-10";}
00108
00109 if (verbose > 1) {
00110 G4cout << "G4NistMaterialBuilder::FindOrBuildMaterial " << name << G4endl;
00111 }
00112 const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable();
00113 G4int nmat = theMaterialTable->size();
00114
00115
00116 G4Material* mat = 0;
00117
00118 for (G4int i=0; i<nMaterials; ++i) {
00119
00120 if (name == names[i]) {
00121
00122 if(matIndex[i] == -1) { mat = BuildMaterial(i, isotopes); }
00123
00124 else { mat = (*theMaterialTable)[matIndex[i]]; }
00125 return mat;
00126 }
00127 }
00128
00129
00130 if (nmat > 0) {
00131 for (G4int i=0; i<nmat; ++i) {
00132 if(name == ((*theMaterialTable)[i])->GetName()) {
00133 mat = (*theMaterialTable)[i];
00134 return mat;
00135 }
00136 }
00137 }
00138
00139 if( (verbose == 1 && warning) || verbose > 1) {
00140 G4cout << "G4NistMaterialBuilder::FindOrBuildMaterial WARNING:"
00141 << " material <" << name
00142 << "> is not found out" << G4endl;
00143 }
00144 return mat;
00145 }
00146
00147
00148
00149 G4Material* G4NistMaterialBuilder::BuildMaterial(G4int i, G4bool isotopes)
00150 {
00151 if (verbose > 1) {
00152 G4cout << "G4NistMaterialBuilder: BuildMaterial #" << i
00153 << G4endl;
00154 }
00155 G4Material* mat = 0;
00156 if (nMaterials == 0) { return mat; }
00157
00158 G4int nc = components[i];
00159
00160
00161 G4double t = STP_Temperature;
00162 G4double p = STP_Pressure;
00163 if(kStateGas == states[i]) {
00164 size_t nn = idxGas.size();
00165 if(nn > 0) {
00166 for(size_t j=0; j<nn; ++j) {
00167 if(i == idxGas[j]) {
00168 t = gasTemperature[j];
00169 p = gasPressure[j];
00170 break;
00171 }
00172 }
00173 }
00174
00175 } else if( !STP[i] ) { t = 0.0; }
00176
00177 mat = new G4Material(names[i],densities[i],nc,states[i],t,p);
00178
00179 if (verbose>1) { G4cout << "New material nComponents= " << nc << G4endl; }
00180 if (nc > 0) {
00181 G4int idx = indexes[i];
00182 for (G4int j=0; j<nc; ++j) {
00183 G4int Z = elements[idx+j];
00184 G4Element* el = elmBuilder->FindOrBuildElement(Z, isotopes);
00185 if(!el) {
00186 G4cout << "G4NistMaterialBuilder::BuildMaterial:"
00187 << " ERROR: elements Z= " << Z << " is not found "
00188 << " for material " << names[i]
00189 << G4endl;
00190 G4Exception("G4NistMaterialBuilder::BuildMaterial()", "mat103",
00191 FatalException, "Fail to construct material");
00192 return 0;
00193 }
00194 if(atomCount[i]) {
00195 mat->AddElement(el,G4lrint(fractions[idx+j]));
00196 } else {
00197 mat->AddElement(el,fractions[idx+j]);
00198 }
00199 }
00200 }
00201
00202
00203
00204 G4IonisParamMat* ion = mat->GetIonisation();
00205 G4double exc0 = ion->GetMeanExcitationEnergy();
00206 G4double exc1 = exc0;
00207 if(chFormulas[i] != "") {
00208 mat->SetChemicalFormula(chFormulas[i]);
00209 exc1 = ion->FindMeanExcitationEnergy(chFormulas[i]);
00210 }
00211 if(ionPotentials[i] > 0.0) { exc1 = ionPotentials[i]; }
00212 if(exc0 != exc1) { ion->SetMeanExcitationEnergy(exc1); }
00213
00214
00215 matIndex[i] = mat->GetIndex();
00216 return mat;
00217 }
00218
00219
00220
00221 G4Material* G4NistMaterialBuilder::ConstructNewMaterial(
00222 const G4String& name,
00223 const std::vector<G4String>& elm,
00224 const std::vector<G4int>& nbAtoms,
00225 G4double dens,
00226 G4bool isotopes,
00227 G4State state,
00228 G4double temp,
00229 G4double pres)
00230 {
00231
00232 G4Material* mat = FindOrBuildMaterial(name);
00233 if(mat) {
00234 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
00235 << " WARNING: the material <" << name
00236 << "> is already exist" << G4endl;
00237 G4cout << " New material will NOT be built!"
00238 << G4endl;
00239 return mat;
00240 }
00241
00242
00243 G4int els = elm.size();
00244 if(els == 0) {
00245 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
00246 << " WARNING: empty list of elements for " << name
00247 << G4endl;
00248 G4cout << " New material will NOT be built!"
00249 << G4endl;
00250 return 0;
00251 }
00252
00253
00254
00255 G4bool stp = true;
00256 if(state == kStateGas && temp != STP_Temperature && pres != STP_Pressure)
00257 { stp = false; }
00258
00259 AddMaterial(name,dens*cm3/g,0,0.,els,state,stp);
00260 if(!stp) { AddGas(name,temp,pres); }
00261
00262 for (G4int i=0; i<els; ++i) {
00263 AddElementByAtomCount(elmBuilder->GetZ(elm[i]), nbAtoms[i]);
00264 }
00265
00266 return BuildMaterial(nMaterials-1, isotopes);
00267 }
00268
00269
00270
00271 G4Material* G4NistMaterialBuilder::ConstructNewMaterial(
00272 const G4String& name,
00273 const std::vector<G4String>& elm,
00274 const std::vector<G4double>& w,
00275 G4double dens,
00276 G4bool isotopes,
00277 G4State state,
00278 G4double temp,
00279 G4double pres)
00280 {
00281
00282 G4Material* mat = FindOrBuildMaterial(name);
00283 if(mat) {
00284 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
00285 << " WARNING: the material <" << name
00286 << "> is already exist" << G4endl;
00287 G4cout << " New material will NOT be built!"
00288 << G4endl;
00289 return mat;
00290 }
00291
00292
00293 G4int els = elm.size();
00294 if(els == 0) {
00295 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
00296 << " WARNING: empty list of elements for " << name
00297 << G4endl;
00298 G4cout << " New material will NOT be built!"
00299 << G4endl;
00300 return 0;
00301 }
00302
00303
00304
00305 G4bool stp = true;
00306 if(state == kStateGas && temp != STP_Temperature && pres != STP_Pressure)
00307 { stp = false; }
00308 AddMaterial(name,dens*cm3/g,0,0.,els,state,stp);
00309 if(!stp) { AddGas(name,temp,pres); }
00310
00311 for (G4int i=0; i<els; ++i) {
00312 AddElementByWeightFraction(elmBuilder->GetZ(elm[i]), w[i]);
00313 }
00314
00315 return BuildMaterial(nMaterials-1, isotopes);
00316 }
00317
00318
00319
00320 G4Material* G4NistMaterialBuilder::ConstructNewGasMaterial(
00321 const G4String& name,
00322 const G4String& nameDB,
00323 G4double temp,
00324 G4double pres,
00325 G4bool)
00326 {
00327
00328 G4Material* mat = FindOrBuildMaterial(name);
00329 if(mat) {
00330 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:"
00331 << " WARNING: the material <" << name
00332 << "> is already exist" << G4endl;
00333 G4cout << " New material will NOT be built!"
00334 << G4endl;
00335 return mat;
00336 }
00337
00338 G4Material* bmat = FindOrBuildMaterial(nameDB);
00339 if(!bmat) {
00340 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:"
00341 << " WARNING: the Name <" << nameDB
00342 << "> is NOT in the DB: no new gas will be constructed"
00343 << G4endl;
00344 return 0;
00345 }
00346 if(bmat->GetState() != kStateGas) {
00347 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial:"
00348 << " WARNING: <" << nameDB
00349 << "> is NOT a gas - no new gas will be constructed"
00350 << G4endl;
00351 return 0;
00352 }
00353
00354 G4double dens = bmat->GetDensity()*pres*STP_Temperature/(temp*STP_Pressure);
00355 mat = new G4Material(name,dens,bmat,kStateGas,temp,pres);
00356
00357 if (verbose>1) {
00358 G4cout << "G4NistMaterialBuilder::ConstructNewGasMaterial: done" << G4endl;
00359 G4cout << &mat << G4endl;
00360 }
00361 return mat;
00362 }
00363
00364
00365
00366 G4Material* G4NistMaterialBuilder::ConstructNewIdealGasMaterial(
00367 const G4String& name,
00368 const std::vector<G4String>& elm,
00369 const std::vector<G4int>& nbAtoms,
00370 G4bool isotopes,
00371 G4double temp,
00372 G4double pres)
00373 {
00374 G4State state = kStateGas;
00375
00376
00377 G4Material* mat = FindOrBuildMaterial(name);
00378 if(mat) {
00379 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
00380 << " WARNING: the material <" << name
00381 << "> is already exist" << G4endl;
00382 G4cout << " New material will NOT be built!"
00383 << G4endl;
00384 return mat;
00385 }
00386
00387
00388 G4int els = elm.size();
00389 if(els == 0) {
00390 G4cout << "G4NistMaterialBuilder::ConstructNewMaterial:"
00391 << " WARNING: empty list of elements for " << name
00392 << G4endl;
00393 G4cout << " New material will NOT be built!"
00394 << G4endl;
00395 return 0;
00396 }
00397
00398
00399
00400 G4bool stp = true;
00401 if(temp != STP_Temperature && pres != STP_Pressure)
00402 { stp = false; }
00403
00404 G4double massPerMole = 0;
00405
00406 G4int Z = 0;
00407 for (G4int i=0; i<els; ++i) {
00408 Z = elmBuilder->GetZ(elm[i]);
00409 massPerMole += nbAtoms[i] * elmBuilder->GetAtomicMassAmu(Z) * amu_c2;
00410 }
00411
00412 G4double dens = massPerMole / (Avogadro*k_Boltzmann*temp/pres);
00413
00414 if (els == 1) { AddMaterial(name,dens,Z,0.,els,state,stp); }
00415 else {
00416 AddMaterial(name,dens,0,0.,els,state,stp);
00417 for (G4int i=0; i<els; ++i) {
00418 AddElementByAtomCount(elmBuilder->GetZ(elm[i]), nbAtoms[i]);
00419 }
00420 }
00421
00422 if(!stp) { AddGas(name,temp,pres); }
00423
00424 return BuildMaterial(nMaterials-1, isotopes);
00425 }
00426
00427
00428
00429 void G4NistMaterialBuilder::AddMaterial(const G4String& nameMat, G4double dens,
00430 G4int Z, G4double pot,
00431 G4int ncomp, G4State state,
00432 G4bool stp)
00433 {
00434
00435
00436
00437
00438
00439
00440 if (nCurrent != 0) {
00441 G4cout << "G4NistMaterialBuilder::AddMaterial WARNING: previous "
00442 << "mixture " << nMaterials << " " << names[nMaterials]
00443 << " is not yet complete!"
00444 << G4endl;
00445 G4cout << " New material " << nameMat << " will not be added"
00446 << G4endl;
00447 return;
00448 }
00449
00450
00451
00452 names.push_back(nameMat);
00453 chFormulas.push_back("");
00454 densities.push_back(dens*g/cm3);
00455 ionPotentials.push_back(pot*eV);
00456 states.push_back(state);
00457 components.push_back(ncomp);
00458 indexes.push_back(nComponents);
00459 STP.push_back(stp);
00460 matIndex.push_back(-1);
00461 atomCount.push_back(false);
00462
00463 if (ncomp == 1 && Z > 0) {
00464 elements.push_back(Z);
00465 fractions.push_back(1.0);
00466 atomCount[nMaterials] = true;
00467 ++nComponents;
00468 nCurrent = 0;
00469 } else {
00470 nCurrent = ncomp;
00471 }
00472
00473 ++nMaterials;
00474
00475 if(verbose > 1) {
00476 G4cout << "New material " << nameMat << " is prepeared; "
00477 << " nMaterials= " << nMaterials
00478 << " nComponents= " << nComponents
00479 << " nCurrent= " << nCurrent
00480 << G4endl;
00481 }
00482 }
00483
00484
00485
00486 void G4NistMaterialBuilder::SetVerbose(G4int val)
00487 {
00488 verbose = val;
00489 elmBuilder->SetVerbose(verbose);
00490 }
00491
00492
00493
00494 void G4NistMaterialBuilder::ListMaterials(const G4String& mnam)
00495 {
00496 if (mnam == "simple") { ListNistSimpleMaterials(); }
00497 else if (mnam == "compound") { ListNistCompoundMaterials(); }
00498 else if (mnam == "hep") { ListHepMaterials(); }
00499 else if (mnam == "space") { ListSpaceMaterials(); }
00500 else if (mnam == "biochemical") { ListBioChemicalMaterials(); }
00501
00502 else if (mnam == "all") {
00503 ListNistSimpleMaterials();
00504 ListNistCompoundMaterials();
00505 ListHepMaterials();
00506 ListSpaceMaterials();
00507 ListBioChemicalMaterials();
00508
00509 } else {
00510 G4cout << "### G4NistMaterialBuilder::ListMaterials: Warning "
00511 << mnam << " list is not known" << G4endl;
00512 }
00513 }
00514
00515
00516
00517 void G4NistMaterialBuilder::ListNistSimpleMaterials()
00518 {
00519 G4cout << "=======================================================" << G4endl;
00520 G4cout << "### Simple Materials from the NIST Data Base ###" << G4endl;
00521 G4cout << "=======================================================" << G4endl;
00522 G4cout << " Z Name ChFormula density(g/cm^3) I(eV) " << G4endl;
00523 G4cout << "=======================================================" << G4endl;
00524 for (G4int i=0; i<nElementary; ++i) {DumpElm(i);}
00525 G4cout << "=======================================================" << G4endl;
00526 }
00527
00528
00529
00530 void G4NistMaterialBuilder::ListNistCompoundMaterials()
00531 {
00532 G4cout << "### Compound Materials from the NIST Data Base ##" << G4endl;
00533 G4cout << "=======================================================" << G4endl;
00534 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
00535 G4cout << "=======================================================" << G4endl;
00536 for (G4int i=nElementary; i<nNIST; ++i) {DumpMix(i);}
00537 G4cout << "=======================================================" << G4endl;
00538 }
00539
00540
00541
00542 void G4NistMaterialBuilder::ListHepMaterials()
00543 {
00544 G4cout << "=======================================================" << G4endl;
00545 G4cout << "### HEP & Nuclear Materials ##" << G4endl;
00546 G4cout << "=======================================================" << G4endl;
00547 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
00548 G4cout << "=======================================================" << G4endl;
00549 for (G4int i=nNIST; i<nHEP; ++i) {DumpMix(i);}
00550 G4cout << "=======================================================" << G4endl;
00551 }
00552
00553
00554
00555 void G4NistMaterialBuilder::ListSpaceMaterials()
00556 {
00557 G4cout << "=======================================================" << G4endl;
00558 G4cout << "### Space ISS Materials ##" << G4endl;
00559 G4cout << "=======================================================" << G4endl;
00560 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
00561 G4cout << "=======================================================" << G4endl;
00562 for (G4int i=nHEP; i<nSpace; ++i) {DumpMix(i);}
00563 G4cout << "=======================================================" << G4endl;
00564 }
00565
00566
00567
00568 void G4NistMaterialBuilder::ListBioChemicalMaterials()
00569 {
00570 G4cout << "=======================================================" << G4endl;
00571 G4cout << "### Bio-Chemical Materials ##" << G4endl;
00572 G4cout << "=======================================================" << G4endl;
00573 G4cout << " Ncomp Name ChFormula density(g/cm^3) I(eV) " << G4endl;
00574 G4cout << "=======================================================" << G4endl;
00575 for (G4int i=nSpace; i<nMaterials; ++i) {DumpMix(i);}
00576 G4cout << "=======================================================" << G4endl;
00577 }
00578
00579
00580
00581 void G4NistMaterialBuilder::DumpElm(G4int i)
00582 {
00583 G4cout << i+1 << " " << names[i] << " " << chFormulas[i]
00584 << densities[i]*cm3/g << " " << ionPotentials[i]/eV
00585 << G4endl;
00586 }
00587
00588
00589
00590 void G4NistMaterialBuilder::DumpMix(G4int i)
00591 {
00592 G4int nc = components[i];
00593 G4cout << nc << " " << names[i] << " " << chFormulas[i]
00594 << densities[i]*cm3/g << " " << ionPotentials[i]/eV
00595 << G4endl;
00596 if (nc > 1) {
00597 G4int imin = indexes[i];
00598 G4int imax = imin + nc;
00599 for (G4int j=imin; j<imax; ++j) {
00600 G4cout << " " << elements[j] << " " << fractions[j]
00601 << G4endl;
00602 }
00603 }
00604 }
00605
00606
00607
00608 void
00609 G4NistMaterialBuilder::AddGas(const G4String& nameMat, G4double t, G4double p)
00610 {
00611 G4int idx = nMaterials-1;
00612 if(nameMat != names[idx]) {
00613 idx = -1;
00614 for(G4int i=0; i<nMaterials; ++i) {
00615 if(nameMat == names[i]) {
00616 idx = i; break;
00617 }
00618 }
00619 }
00620 if(idx >= 0) {
00621 idxGas.push_back(idx);
00622 gasTemperature.push_back(t);
00623 gasPressure.push_back(p);
00624 } else {
00625 G4cout << "WARNING: G4NistMaterialBuilder::AddGas problem: there is no "
00626 << nameMat << " in the list of materials;"
00627 << G4endl;
00628 }
00629 }
00630
00631
00632
00633 void G4NistMaterialBuilder::AddElementByWeightFraction(G4int Z, G4double w)
00634 {
00635 elements.push_back(Z);
00636 fractions.push_back(w);
00637 --nCurrent;
00638 ++nComponents;
00639 if (nCurrent == 0) {
00640 G4int n = nMaterials - 1;
00641 G4double sum = 0.0;
00642 G4int imin = indexes[n];
00643 G4int imax = imin + components[n];
00644
00645 if(!atomCount[n]) {
00646 for(G4int i=imin; i<imax; ++i) {sum += fractions[i];}
00647 if (sum > 0.0) for (G4int i=imin; i<imax; ++i) {fractions[i] /= sum;}
00648 }
00649 }
00650 }
00651
00652
00653
00654 void G4NistMaterialBuilder::AddElementByWeightFraction(const G4String& name,
00655 G4double w)
00656 {
00657 G4int Z = elmBuilder->GetZ(name);
00658 AddElementByWeightFraction(Z, w);
00659 }
00660
00661
00662
00663 void G4NistMaterialBuilder::AddElementByAtomCount(G4int Z, G4int nb)
00664 {
00665 atomCount[nMaterials-1] = true;
00666 G4double w = (G4double)nb;
00667 AddElementByWeightFraction(Z, w);
00668 }
00669
00670
00671
00672 void G4NistMaterialBuilder::AddElementByAtomCount(const G4String& name,
00673 G4int nb)
00674 {
00675 atomCount[nMaterials-1] = true;
00676 G4int Z = elmBuilder->GetZ(name);
00677 G4double w = (G4double)nb;
00678 AddElementByWeightFraction(Z, w);
00679 }
00680
00681
00682
00683
00684 void G4NistMaterialBuilder::Initialise()
00685 {
00686 if (verbose > 0) {
00687 G4cout << "### G4NistMaterialBuilder::Initialise()" << G4endl;
00688 }
00689 NistSimpleMaterials();
00690 NistCompoundMaterials();
00691 HepAndNuclearMaterials();
00692 SpaceMaterials();
00693 BioChemicalMaterials();
00694
00695 if (verbose > 1) { ListMaterials("all"); }
00696 }
00697
00698
00699
00700 void G4NistMaterialBuilder::NistSimpleMaterials()
00701 {
00702
00703
00704 AddMaterial("G4_H" , 8.37480e-5, 1, 19.2, 1, kStateGas);
00705 AddMaterial("G4_He", 1.66322e-4, 2, 41.8, 1, kStateGas);
00706 AddMaterial("G4_Li", 0.534 , 3, 40. );
00707 AddMaterial("G4_Be", 1.848 , 4, 63.7);
00708 AddMaterial("G4_B" , 2.37 , 5, 76. );
00709 AddMaterial("G4_C" , 2. , 6, 81. );
00710 AddMaterial("G4_N" , 1.16520e-3, 7, 82. , 1, kStateGas);
00711 AddMaterial("G4_O" , 1.33151e-3, 8, 95. , 1, kStateGas);
00712 AddMaterial("G4_F" , 1.58029e-3, 9, 115. , 1, kStateGas);
00713 AddMaterial("G4_Ne", 8.38505e-4, 10, 137. , 1, kStateGas);
00714 AddMaterial("G4_Na", 0.971 , 11, 149. );
00715 AddMaterial("G4_Mg", 1.74 , 12, 156. );
00716 AddMaterial("G4_Al", 2.699 , 13, 166. );
00717 AddMaterial("G4_Si", 2.33 , 14, 173. );
00718 AddMaterial("G4_P" , 2.2 , 15, 173. );
00719 AddMaterial("G4_S" , 2.0 , 16, 180. );
00720 AddMaterial("G4_Cl", 2.99473e-3, 17, 174. , 1, kStateGas);
00721 AddMaterial("G4_Ar", 1.66201e-3, 18, 188.0, 1, kStateGas);
00722 AddMaterial("G4_K" , 0.862 , 19, 190. );
00723 AddMaterial("G4_Ca", 1.55 , 20, 191. );
00724 AddMaterial("G4_Sc", 2.989 , 21, 216. );
00725 AddMaterial("G4_Ti", 4.54 , 22, 233. );
00726 AddMaterial("G4_V" , 6.11 , 23, 245. );
00727 AddMaterial("G4_Cr", 7.18 , 24, 257. );
00728 AddMaterial("G4_Mn", 7.44 , 25, 272. );
00729 AddMaterial("G4_Fe", 7.874 , 26, 286. );
00730 AddMaterial("G4_Co", 8.9 , 27, 297. );
00731 AddMaterial("G4_Ni", 8.902 , 28, 311. );
00732 AddMaterial("G4_Cu", 8.96 , 29, 322. );
00733 AddMaterial("G4_Zn", 7.133 , 30, 330. );
00734 AddMaterial("G4_Ga", 5.904 , 31, 334. );
00735 AddMaterial("G4_Ge", 5.323 , 32, 350. );
00736 AddMaterial("G4_As", 5.73 , 33, 347. );
00737 AddMaterial("G4_Se", 4.5 , 34, 348. );
00738 AddMaterial("G4_Br", 7.07210e-3, 35, 343. , 1, kStateGas);
00739 AddMaterial("G4_Kr", 3.47832e-3, 36, 352. , 1, kStateGas);
00740 AddMaterial("G4_Rb", 1.532 , 37, 363. );
00741 AddMaterial("G4_Sr", 2.54 , 38, 366. );
00742 AddMaterial("G4_Y" , 4.469 , 39, 379. );
00743 AddMaterial("G4_Zr", 6.506 , 40, 393. );
00744 AddMaterial("G4_Nb", 8.57 , 41, 417. );
00745 AddMaterial("G4_Mo", 10.22 , 42, 424. );
00746 AddMaterial("G4_Tc", 11.50 , 43, 428. );
00747 AddMaterial("G4_Ru", 12.41 , 44, 441. );
00748 AddMaterial("G4_Rh", 12.41 , 45, 449. );
00749 AddMaterial("G4_Pd", 12.02 , 46, 470. );
00750 AddMaterial("G4_Ag", 10.5 , 47, 470. );
00751 AddMaterial("G4_Cd", 8.65 , 48, 469. );
00752 AddMaterial("G4_In", 7.31 , 49, 488. );
00753 AddMaterial("G4_Sn", 7.31 , 50, 488. );
00754 AddMaterial("G4_Sb", 6.691 , 51, 487. );
00755 AddMaterial("G4_Te", 6.24 , 52, 485. );
00756 AddMaterial("G4_I" , 4.93 , 53, 491. );
00757 AddMaterial("G4_Xe", 5.48536e-3, 54, 482. , 1, kStateGas);
00758 AddMaterial("G4_Cs", 1.873 , 55, 488. );
00759 AddMaterial("G4_Ba", 3.5 , 56, 491. );
00760 AddMaterial("G4_La", 6.154 , 57, 501. );
00761 AddMaterial("G4_Ce", 6.657 , 58, 523. );
00762 AddMaterial("G4_Pr", 6.71 , 59, 535. );
00763 AddMaterial("G4_Nd", 6.9 , 60, 546. );
00764 AddMaterial("G4_Pm", 7.22 , 61, 560. );
00765 AddMaterial("G4_Sm", 7.46 , 62, 574. );
00766 AddMaterial("G4_Eu", 5.243 , 63, 580. );
00767 AddMaterial("G4_Gd", 7.9004 , 64, 591. );
00768 AddMaterial("G4_Tb", 8.229 , 65, 614. );
00769 AddMaterial("G4_Dy", 8.55 , 66, 628. );
00770 AddMaterial("G4_Ho", 8.795 , 67, 650. );
00771 AddMaterial("G4_Er", 9.066 , 68, 658. );
00772 AddMaterial("G4_Tm", 9.321 , 69, 674. );
00773 AddMaterial("G4_Yb", 6.73 , 70, 684. );
00774 AddMaterial("G4_Lu", 9.84 , 71, 694. );
00775 AddMaterial("G4_Hf", 13.31 , 72, 705. );
00776 AddMaterial("G4_Ta", 16.654 , 73, 718. );
00777 AddMaterial("G4_W" , 19.30 , 74, 727. );
00778 AddMaterial("G4_Re", 21.02 , 75, 736. );
00779 AddMaterial("G4_Os", 22.57 , 76, 746. );
00780 AddMaterial("G4_Ir", 22.42 , 77, 757. );
00781 AddMaterial("G4_Pt", 21.45 , 78, 790. );
00782 AddMaterial("G4_Au", 19.32 , 79, 790. );
00783 AddMaterial("G4_Hg", 13.546 , 80, 800. );
00784 AddMaterial("G4_Tl", 11.72 , 81, 810. );
00785 AddMaterial("G4_Pb", 11.35 , 82, 823. );
00786 AddMaterial("G4_Bi", 9.747 , 83, 823. );
00787 AddMaterial("G4_Po", 9.32 , 84, 830. );
00788 AddMaterial("G4_At", 9.32 , 85, 825. );
00789 AddMaterial("G4_Rn", 9.00662e-3, 86, 794. , 1, kStateGas);
00790 AddMaterial("G4_Fr", 1.00 , 87, 827. );
00791 AddMaterial("G4_Ra", 5.00 , 88, 826. );
00792 AddMaterial("G4_Ac", 10.07 , 89, 841. );
00793 AddMaterial("G4_Th", 11.72 , 90, 847. );
00794 AddMaterial("G4_Pa", 15.37 , 91, 878. );
00795 AddMaterial("G4_U" , 18.95 , 92, 890. );
00796 AddMaterial("G4_Np", 20.25 , 93, 902. );
00797 AddMaterial("G4_Pu", 19.84 , 94, 921. );
00798 AddMaterial("G4_Am", 13.67 , 95, 934. );
00799 AddMaterial("G4_Cm", 13.51 , 96, 939. );
00800 AddMaterial("G4_Bk", 14.00 , 97, 952. );
00801 AddMaterial("G4_Cf", 10.00 , 98, 966. );
00802
00803 nElementary = nMaterials;
00804 }
00805
00806
00807
00808 void G4NistMaterialBuilder::NistCompoundMaterials()
00809 {
00810 AddMaterial("G4_A-150_TISSUE", 1.127, 0, 65.1, 6);
00811 AddElementByWeightFraction( 1, 0.101327);
00812 AddElementByWeightFraction( 6, 0.775501);
00813 AddElementByWeightFraction( 7, 0.035057);
00814 AddElementByWeightFraction( 8, 0.052316);
00815 AddElementByWeightFraction( 9, 0.017422);
00816 AddElementByWeightFraction(20, 0.018378);
00817
00818 AddMaterial("G4_ACETONE", 0.7899, 0, 64.2, 3);
00819 AddElementByWeightFraction( 1, 0.104122);
00820 AddElementByWeightFraction( 6, 0.620405);
00821 AddElementByWeightFraction( 8, 0.275473);
00822
00823 AddMaterial("G4_ACETYLENE", 0.0010967, 0, 58.2, 2, kStateGas);
00824 AddElementByWeightFraction( 1, 0.077418);
00825 AddElementByWeightFraction( 6, 0.922582);
00826
00827 AddMaterial("G4_ADENINE", 1.6, 0, 71.4, 3);
00828 AddElementByAtomCount("H",5 );
00829 AddElementByAtomCount("C",5 );
00830 AddElementByAtomCount("N",5 );
00831
00832 AddMaterial("G4_ADIPOSE_TISSUE_ICRP", 0.95, 0, 63.2, 7);
00833 AddElementByWeightFraction( 1, 0.114);
00834 AddElementByWeightFraction( 6, 0.598);
00835 AddElementByWeightFraction( 7, 0.007);
00836 AddElementByWeightFraction( 8, 0.278);
00837 AddElementByWeightFraction(11, 0.001);
00838 AddElementByWeightFraction(16, 0.001);
00839 AddElementByWeightFraction(17, 0.001);
00840
00841 AddMaterial("G4_AIR", 0.00120479, 0, 85.7, 4, kStateGas);
00842 AddElementByWeightFraction( 6, 0.000124);
00843 AddElementByWeightFraction( 7, 0.755267);
00844 AddElementByWeightFraction( 8, 0.231781);
00845 AddElementByWeightFraction(18, 0.012827);
00846
00847 AddMaterial("G4_ALANINE", 1.42, 0, 71.9, 4);
00848 AddElementByWeightFraction( 1, 0.07919 );
00849 AddElementByWeightFraction( 6, 0.404439);
00850 AddElementByWeightFraction( 7, 0.157213);
00851 AddElementByWeightFraction( 8, 0.359159);
00852
00853 AddMaterial("G4_ALUMINUM_OXIDE", 3.97, 0, 145.2, 2);
00854 AddElementByWeightFraction( 8, 0.470749);
00855 AddElementByWeightFraction(13, 0.529251);
00856 chFormulas[nMaterials-1] = "Al_2O_3";
00857
00858 AddMaterial("G4_AMBER", 1.1, 0, 63.2, 3);
00859 AddElementByWeightFraction( 1, 0.10593 );
00860 AddElementByWeightFraction( 6, 0.788973);
00861 AddElementByWeightFraction( 8, 0.105096);
00862
00863 AddMaterial("G4_AMMONIA", 0.000826019, 0, 53.7, 2, kStateGas);
00864 AddElementByWeightFraction( 1, 0.177547);
00865 AddElementByWeightFraction( 7, 0.822453);
00866
00867 AddMaterial("G4_ANILINE", 1.0235, 0, 66.2, 3);
00868 AddElementByWeightFraction( 1, 0.075759);
00869 AddElementByWeightFraction( 6, 0.773838);
00870 AddElementByWeightFraction( 7, 0.150403);
00871
00872 AddMaterial("G4_ANTHRACENE", 1.283, 0, 69.5, 2);
00873 AddElementByWeightFraction( 1, 0.05655);
00874 AddElementByWeightFraction( 6, 0.94345);
00875
00876 AddMaterial("G4_B-100_BONE", 1.45, 0, 85.9, 6);
00877 AddElementByWeightFraction( 1, 0.065471);
00878 AddElementByWeightFraction( 6, 0.536945);
00879 AddElementByWeightFraction( 7, 0.0215 );
00880 AddElementByWeightFraction( 8, 0.032085);
00881 AddElementByWeightFraction( 9, 0.167411);
00882 AddElementByWeightFraction(20, 0.176589);
00883
00884 AddMaterial("G4_BAKELITE", 1.25, 0, 72.4, 3);
00885 AddElementByWeightFraction( 1, 0.057441);
00886 AddElementByWeightFraction( 6, 0.774591);
00887 AddElementByWeightFraction( 8, 0.167968);
00888
00889 AddMaterial("G4_BARIUM_FLUORIDE", 4.89 ,0, 375.9, 2);
00890 AddElementByWeightFraction( 9, 0.21672);
00891 AddElementByWeightFraction(56, 0.78328);
00892
00893 AddMaterial("G4_BARIUM_SULFATE", 4.5, 0, 285.7, 3);
00894 AddElementByWeightFraction( 8,0.274212);
00895 AddElementByWeightFraction(16,0.137368);
00896 AddElementByWeightFraction(56,0.58842 );
00897
00898 AddMaterial("G4_BENZENE", 0.87865, 0, 63.4, 2);
00899 AddElementByWeightFraction( 1, 0.077418);
00900 AddElementByWeightFraction( 6, 0.922582);
00901
00902 AddMaterial("G4_BERYLLIUM_OXIDE", 3.01, 0, 93.2, 2);
00903 AddElementByWeightFraction( 4, 0.36032);
00904 AddElementByWeightFraction( 8, 0.63968);
00905
00906 AddMaterial("G4_BGO", 7.13, 0, 534.1, 3);
00907 AddElementByWeightFraction( 8, 0.154126);
00908 AddElementByWeightFraction(32, 0.17482 );
00909 AddElementByWeightFraction(83, 0.671054);
00910
00911 AddMaterial("G4_BLOOD_ICRP", 1.06, 0, 75.2, 10);
00912 AddElementByWeightFraction( 1, 0.102);
00913 AddElementByWeightFraction( 6, 0.110);
00914 AddElementByWeightFraction( 7, 0.033);
00915 AddElementByWeightFraction( 8, 0.745);
00916 AddElementByWeightFraction(11, 0.001);
00917 AddElementByWeightFraction(15, 0.001);
00918 AddElementByWeightFraction(16, 0.002);
00919 AddElementByWeightFraction(17, 0.003);
00920 AddElementByWeightFraction(19, 0.002);
00921 AddElementByWeightFraction(26, 0.001);
00922
00923 AddMaterial("G4_BONE_COMPACT_ICRU", 1.85, 0, 91.9, 8);
00924 AddElementByWeightFraction( 1, 0.064);
00925 AddElementByWeightFraction( 6, 0.278);
00926 AddElementByWeightFraction( 7, 0.027);
00927 AddElementByWeightFraction( 8, 0.410);
00928 AddElementByWeightFraction(12, 0.002);
00929 AddElementByWeightFraction(15, 0.07 );
00930 AddElementByWeightFraction(16, 0.002);
00931 AddElementByWeightFraction(20, 0.147);
00932
00933
00934 AddMaterial("G4_BONE_CORTICAL_ICRP", 1.92, 0, 110, 9);
00935 AddElementByWeightFraction( 1, 0.034);
00936 AddElementByWeightFraction( 6, 0.155);
00937 AddElementByWeightFraction( 7, 0.042);
00938 AddElementByWeightFraction( 8, 0.435);
00939 AddElementByWeightFraction(11, 0.001);
00940 AddElementByWeightFraction(12, 0.002);
00941 AddElementByWeightFraction(15, 0.103);
00942 AddElementByWeightFraction(16, 0.003);
00943 AddElementByWeightFraction(20, 0.225);
00944
00945 AddMaterial("G4_BORON_CARBIDE", 2.52, 0, 84.7, 2);
00946 AddElementByWeightFraction( 5, 0.78261);
00947 AddElementByWeightFraction( 6, 0.21739);
00948
00949 AddMaterial("G4_BORON_OXIDE", 1.812, 0, 99.6, 2);
00950 AddElementByWeightFraction( 5, 0.310551);
00951 AddElementByWeightFraction( 8, 0.689449);
00952
00953 AddMaterial("G4_BRAIN_ICRP", 1.04, 0, 73.3, 9);
00954 AddElementByWeightFraction( 1, 0.107);
00955 AddElementByWeightFraction( 6, 0.145);
00956 AddElementByWeightFraction( 7, 0.022);
00957 AddElementByWeightFraction( 8, 0.712);
00958 AddElementByWeightFraction(11, 0.002);
00959 AddElementByWeightFraction(15, 0.004);
00960 AddElementByWeightFraction(16, 0.002);
00961 AddElementByWeightFraction(17, 0.003);
00962 AddElementByWeightFraction(19, 0.003);
00963
00964 AddMaterial("G4_BUTANE", 0.00249343, 0, 48.3, 2, kStateGas);
00965 AddElementByWeightFraction( 1, 0.173408);
00966 AddElementByWeightFraction( 6, 0.826592);
00967
00968 AddMaterial("G4_N-BUTYL_ALCOHOL", 0.8098, 0, 59.9, 3);
00969 AddElementByWeightFraction( 1, 0.135978);
00970 AddElementByWeightFraction( 6, 0.648171);
00971 AddElementByWeightFraction( 8, 0.215851);
00972
00973 AddMaterial("G4_C-552", 1.76, 0, 86.8, 5);
00974 AddElementByWeightFraction( 1, 0.02468 );
00975 AddElementByWeightFraction( 6, 0.50161 );
00976 AddElementByWeightFraction( 8, 0.004527);
00977 AddElementByWeightFraction( 9, 0.465209);
00978 AddElementByWeightFraction(14, 0.003973);
00979
00980 AddMaterial("G4_CADMIUM_TELLURIDE", 6.2, 0, 539.3, 2);
00981 AddElementByWeightFraction(48, 0.468355);
00982 AddElementByWeightFraction(52, 0.531645);
00983
00984 AddMaterial("G4_CADMIUM_TUNGSTATE", 7.9, 0, 468.3, 3);
00985 AddElementByWeightFraction( 8, 0.177644);
00986 AddElementByWeightFraction(48, 0.312027);
00987 AddElementByWeightFraction(74, 0.510329);
00988
00989 AddMaterial("G4_CALCIUM_CARBONATE", 2.8, 0, 136.4, 3);
00990 AddElementByWeightFraction( 6, 0.120003);
00991 AddElementByWeightFraction( 8, 0.479554);
00992 AddElementByWeightFraction(20, 0.400443);
00993
00994 AddMaterial("G4_CALCIUM_FLUORIDE", 3.18, 0, 166., 2);
00995 AddElementByWeightFraction( 9, 0.486659);
00996 AddElementByWeightFraction(20, 0.513341);
00997
00998 AddMaterial("G4_CALCIUM_OXIDE", 3.3, 0, 176.1, 2);
00999 AddElementByWeightFraction( 8, 0.285299);
01000 AddElementByWeightFraction(20, 0.714701);
01001
01002 AddMaterial("G4_CALCIUM_SULFATE", 2.96, 0, 152.3, 3);
01003 AddElementByWeightFraction( 8, 0.470095);
01004 AddElementByWeightFraction(16, 0.235497);
01005 AddElementByWeightFraction(20, 0.294408);
01006
01007 AddMaterial("G4_CALCIUM_TUNGSTATE", 6.062, 0, 395., 3);
01008 AddElementByWeightFraction( 8, 0.22227 );
01009 AddElementByWeightFraction(20, 0.139202);
01010 AddElementByWeightFraction(74, 0.638529);
01011
01012 AddMaterial("G4_CARBON_DIOXIDE", 0.00184212, 0, 85., 2, kStateGas);
01013 AddElementByWeightFraction( 6, 0.272916);
01014 AddElementByWeightFraction( 8, 0.727084);
01015 chFormulas[nMaterials-1] = "CO_2";
01016
01017 AddMaterial("G4_CARBON_TETRACHLORIDE", 1.594, 0, 166.3, 2);
01018 AddElementByWeightFraction( 6, 0.078083);
01019 AddElementByWeightFraction(17, 0.921917);
01020
01021 AddMaterial("G4_CELLULOSE_CELLOPHANE", 1.42, 0, 77.6, 3);
01022 AddElementByWeightFraction( 1, 0.062162);
01023 AddElementByWeightFraction( 6, 0.444462);
01024 AddElementByWeightFraction( 8, 0.493376);
01025
01026 AddMaterial("G4_CELLULOSE_BUTYRATE", 1.2, 0, 74.6, 3);
01027 AddElementByWeightFraction( 1, 0.067125);
01028 AddElementByWeightFraction( 6, 0.545403);
01029 AddElementByWeightFraction( 8, 0.387472);
01030
01031 AddMaterial("G4_CELLULOSE_NITRATE", 1.49, 0, 87., 4);
01032 AddElementByWeightFraction( 1, 0.029216);
01033 AddElementByWeightFraction( 6, 0.271296);
01034 AddElementByWeightFraction( 7, 0.121276);
01035 AddElementByWeightFraction( 8, 0.578212);
01036
01037 AddMaterial("G4_CERIC_SULFATE", 1.03, 0, 76.7, 5);
01038 AddElementByWeightFraction( 1, 0.107596);
01039 AddElementByWeightFraction( 7, 0.0008 );
01040 AddElementByWeightFraction( 8, 0.874976);
01041 AddElementByWeightFraction(16, 0.014627);
01042 AddElementByWeightFraction(58, 0.002001);
01043
01044 AddMaterial("G4_CESIUM_FLUORIDE", 4.115, 0, 440.7, 2);
01045 AddElementByWeightFraction( 9, 0.125069);
01046 AddElementByWeightFraction(55, 0.874931);
01047
01048 AddMaterial("G4_CESIUM_IODIDE", 4.51, 0, 553.1, 2);
01049 AddElementByWeightFraction(53, 0.488451);
01050 AddElementByWeightFraction(55, 0.511549);
01051
01052 AddMaterial("G4_CHLOROBENZENE", 1.1058, 0, 89.1, 3);
01053 AddElementByWeightFraction( 1, 0.044772);
01054 AddElementByWeightFraction( 6, 0.640254);
01055 AddElementByWeightFraction(17, 0.314974);
01056
01057 AddMaterial("G4_CHLOROFORM", 1.4832, 0, 156., 3);
01058 AddElementByWeightFraction( 1, 0.008443);
01059 AddElementByWeightFraction( 6, 0.100613);
01060 AddElementByWeightFraction(17, 0.890944);
01061
01062 AddMaterial("G4_CONCRETE", 2.3, 0, 135.2, 10);
01063 AddElementByWeightFraction( 1, 0.01 );
01064 AddElementByWeightFraction( 6, 0.001 );
01065 AddElementByWeightFraction( 8, 0.529107);
01066 AddElementByWeightFraction(11, 0.016 );
01067 AddElementByWeightFraction(12, 0.002 );
01068 AddElementByWeightFraction(13, 0.033872);
01069 AddElementByWeightFraction(14, 0.337021);
01070 AddElementByWeightFraction(19, 0.013 );
01071 AddElementByWeightFraction(20, 0.044 );
01072 AddElementByWeightFraction(26, 0.014 );
01073
01074 AddMaterial("G4_CYCLOHEXANE", 0.779, 0, 56.4, 2);
01075 AddElementByWeightFraction( 1, 0.143711);
01076 AddElementByWeightFraction( 6, 0.856289);
01077
01078 AddMaterial("G4_1,2-DICHLOROBENZENE", 1.3048, 0, 106.5, 3);
01079 AddElementByWeightFraction( 1, 0.027425);
01080 AddElementByWeightFraction( 6, 0.490233);
01081 AddElementByWeightFraction(17, 0.482342);
01082
01083 AddMaterial("G4_DICHLORODIETHYL_ETHER", 1.2199, 0, 103.3, 4);
01084 AddElementByWeightFraction( 1, 0.056381);
01085 AddElementByWeightFraction( 6, 0.335942);
01086 AddElementByWeightFraction( 8, 0.111874);
01087 AddElementByWeightFraction(17, 0.495802);
01088
01089 AddMaterial("G4_1,2-DICHLOROETHANE", 1.2351, 0, 111.9, 3);
01090 AddElementByWeightFraction( 1, 0.04074 );
01091 AddElementByWeightFraction( 6, 0.242746);
01092 AddElementByWeightFraction(17, 0.716515);
01093
01094 AddMaterial("G4_DIETHYL_ETHER", 0.71378, 0, 60., 3);
01095 AddElementByWeightFraction( 1, 0.135978);
01096 AddElementByWeightFraction( 6, 0.648171);
01097 AddElementByWeightFraction( 8, 0.215851);
01098
01099 AddMaterial("G4_N,N-DIMETHYL_FORMAMIDE", 0.9487, 0, 66.6, 4);
01100 AddElementByWeightFraction( 1, 0.096523);
01101 AddElementByWeightFraction( 6, 0.492965);
01102 AddElementByWeightFraction( 7, 0.191625);
01103 AddElementByWeightFraction( 8, 0.218887);
01104
01105 AddMaterial("G4_DIMETHYL_SULFOXIDE", 1.1014, 0, 98.6, 4);
01106 AddElementByWeightFraction( 1, 0.077403);
01107 AddElementByWeightFraction( 6, 0.307467);
01108 AddElementByWeightFraction( 8, 0.204782);
01109 AddElementByWeightFraction(16, 0.410348);
01110
01111 AddMaterial("G4_ETHANE", 0.00125324, 0, 45.4, 2, kStateGas);
01112 AddElementByWeightFraction( 1, 0.201115);
01113 AddElementByWeightFraction( 6, 0.798885);
01114
01115 AddMaterial("G4_ETHYL_ALCOHOL", 0.7893, 0, 62.9, 3);
01116 AddElementByWeightFraction( 1, 0.131269);
01117 AddElementByWeightFraction( 6, 0.521438);
01118 AddElementByWeightFraction( 8, 0.347294);
01119
01120 AddMaterial("G4_ETHYL_CELLULOSE", 1.13, 0, 69.3, 3);
01121 AddElementByWeightFraction( 1, 0.090027);
01122 AddElementByWeightFraction( 6, 0.585182);
01123 AddElementByWeightFraction( 8, 0.324791);
01124
01125 AddMaterial("G4_ETHYLENE", 0.00117497, 0, 50.7, 2, kStateGas);
01126 AddElementByWeightFraction( 1, 0.143711);
01127 AddElementByWeightFraction( 6, 0.856289);
01128
01129 AddMaterial("G4_EYE_LENS_ICRP", 1.07, 0, 73.3, 8);
01130 AddElementByWeightFraction( 1, 0.096);
01131 AddElementByWeightFraction( 6, 0.195);
01132 AddElementByWeightFraction( 7, 0.057);
01133 AddElementByWeightFraction( 8, 0.646);
01134 AddElementByWeightFraction(11, 0.001);
01135 AddElementByWeightFraction(15, 0.001);
01136 AddElementByWeightFraction(16, 0.003);
01137 AddElementByWeightFraction(17, 0.001);
01138
01139 AddMaterial("G4_FERRIC_OXIDE", 5.2, 0, 227.3, 2);
01140 AddElementByWeightFraction( 8, 0.300567);
01141 AddElementByWeightFraction(26, 0.699433);
01142
01143 AddMaterial("G4_FERROBORIDE", 7.15, 0, 261., 2);
01144 AddElementByWeightFraction( 5, 0.162174);
01145 AddElementByWeightFraction(26, 0.837826);
01146
01147 AddMaterial("G4_FERROUS_OXIDE", 5.7, 0, 248.6, 2);
01148 AddElementByWeightFraction( 8, 0.222689);
01149 AddElementByWeightFraction(26, 0.777311);
01150
01151 AddMaterial("G4_FERROUS_SULFATE", 1.024, 0, 76.4, 7);
01152 AddElementByWeightFraction( 1, 0.108259);
01153 AddElementByWeightFraction( 7, 2.7e-05 );
01154 AddElementByWeightFraction( 8, 0.878636);
01155 AddElementByWeightFraction(11, 2.2e-05 );
01156 AddElementByWeightFraction(16, 0.012968);
01157 AddElementByWeightFraction(17, 3.4e-05 );
01158 AddElementByWeightFraction(26, 5.4e-05 );
01159
01160 AddMaterial("G4_FREON-12", 1.12, 0, 143., 3);
01161 AddElementByWeightFraction( 6, 0.099335);
01162 AddElementByWeightFraction( 9, 0.314247);
01163 AddElementByWeightFraction(17, 0.586418);
01164
01165 AddMaterial("G4_FREON-12B2", 1.8, 0, 284.9, 3);
01166 AddElementByWeightFraction( 6, 0.057245);
01167 AddElementByWeightFraction( 9, 0.181096);
01168 AddElementByWeightFraction(35, 0.761659);
01169
01170 AddMaterial("G4_FREON-13", 0.95, 0, 126.6, 3);
01171 AddElementByWeightFraction( 6, 0.114983);
01172 AddElementByWeightFraction( 9, 0.545622);
01173 AddElementByWeightFraction(17, 0.339396);
01174
01175 AddMaterial("G4_FREON-13B1", 1.5, 0, 210.5, 3);
01176 AddElementByWeightFraction( 6, 0.080659);
01177 AddElementByWeightFraction( 9, 0.382749);
01178 AddElementByWeightFraction(35, 0.536592);
01179
01180 AddMaterial("G4_FREON-13I1", 1.8, 0, 293.5, 3);
01181 AddElementByWeightFraction( 6, 0.061309);
01182 AddElementByWeightFraction( 9, 0.290924);
01183 AddElementByWeightFraction(53, 0.647767);
01184
01185 AddMaterial("G4_GADOLINIUM_OXYSULFIDE", 7.44, 0, 493.3, 3);
01186 AddElementByWeightFraction( 8, 0.084528);
01187 AddElementByWeightFraction(16, 0.08469 );
01188 AddElementByWeightFraction(64, 0.830782);
01189
01190 AddMaterial("G4_GALLIUM_ARSENIDE", 5.31, 0, 384.9, 2);
01191 AddElementByWeightFraction(31, 0.482019);
01192 AddElementByWeightFraction(33, 0.517981);
01193
01194 AddMaterial("G4_GEL_PHOTO_EMULSION", 1.2914, 0, 74.8, 5);
01195 AddElementByWeightFraction( 1, 0.08118);
01196 AddElementByWeightFraction( 6, 0.41606);
01197 AddElementByWeightFraction( 7, 0.11124);
01198 AddElementByWeightFraction( 8, 0.38064);
01199 AddElementByWeightFraction(16, 0.01088);
01200
01201 AddMaterial("G4_Pyrex_Glass", 2.23, 0, 134., 6);
01202 AddElementByWeightFraction( 5, 0.040064);
01203 AddElementByWeightFraction( 8, 0.539562);
01204 AddElementByWeightFraction(11, 0.028191);
01205 AddElementByWeightFraction(13, 0.011644);
01206 AddElementByWeightFraction(14, 0.37722 );
01207 AddElementByWeightFraction(19, 0.003321);
01208
01209 AddMaterial("G4_GLASS_LEAD", 6.22, 0, 526.4, 5);
01210 AddElementByWeightFraction( 8, 0.156453);
01211 AddElementByWeightFraction(14, 0.080866);
01212 AddElementByWeightFraction(22, 0.008092);
01213 AddElementByWeightFraction(33, 0.002651);
01214 AddElementByWeightFraction(82, 0.751938);
01215
01216 AddMaterial("G4_GLASS_PLATE", 2.4, 0, 145.4, 4);
01217 AddElementByWeightFraction( 8, 0.4598 );
01218 AddElementByWeightFraction(11, 0.096441);
01219 AddElementByWeightFraction(14, 0.336553);
01220 AddElementByWeightFraction(20, 0.107205);
01221
01222 AddMaterial("G4_GLUCOSE", 1.54, 0, 77.2, 3);
01223 AddElementByWeightFraction( 1, 0.071204);
01224 AddElementByWeightFraction( 6, 0.363652);
01225 AddElementByWeightFraction( 8, 0.565144);
01226
01227 AddMaterial("G4_GLUTAMINE", 1.46, 0, 73.3, 4);
01228 AddElementByWeightFraction( 1, 0.068965);
01229 AddElementByWeightFraction( 6, 0.410926);
01230 AddElementByWeightFraction( 7, 0.191681);
01231 AddElementByWeightFraction( 8, 0.328427);
01232
01233 AddMaterial("G4_GLYCEROL", 1.2613, 0, 72.6, 3);
01234 AddElementByWeightFraction( 1, 0.087554);
01235 AddElementByWeightFraction( 6, 0.391262);
01236 AddElementByWeightFraction( 8, 0.521185);
01237
01238 AddMaterial("G4_GUANINE", 2.2, 0, 75. ,4);
01239 AddElementByAtomCount("H",5 );
01240 AddElementByAtomCount("C",5 );
01241 AddElementByAtomCount("N",5 );
01242 AddElementByAtomCount("O",1 );
01243
01244 AddMaterial("G4_GYPSUM", 2.32, 0, 129.7, 4);
01245 AddElementByWeightFraction( 1, 0.023416);
01246 AddElementByWeightFraction( 8, 0.557572);
01247 AddElementByWeightFraction(16, 0.186215);
01248 AddElementByWeightFraction(20, 0.232797);
01249
01250 AddMaterial("G4_N-HEPTANE", 0.68376, 0, 54.4, 2);
01251 AddElementByWeightFraction( 1, 0.160937);
01252 AddElementByWeightFraction( 6, 0.839063);
01253
01254 AddMaterial("G4_N-HEXANE", 0.6603, 0, 54., 2);
01255 AddElementByWeightFraction( 1, 0.163741);
01256 AddElementByWeightFraction( 6, 0.836259);
01257
01258 AddMaterial("G4_KAPTON", 1.42, 0, 79.6, 4);
01259 AddElementByWeightFraction( 1, 0.026362);
01260 AddElementByWeightFraction( 6, 0.691133);
01261 AddElementByWeightFraction( 7, 0.07327 );
01262 AddElementByWeightFraction( 8, 0.209235);
01263
01264 AddMaterial("G4_LANTHANUM_OXYBROMIDE", 6.28, 0, 439.7, 3);
01265 AddElementByWeightFraction( 8, 0.068138);
01266 AddElementByWeightFraction(35, 0.340294);
01267 AddElementByWeightFraction(57, 0.591568);
01268
01269 AddMaterial("G4_LANTHANUM_OXYSULFIDE", 5.86, 0, 421.2, 3);
01270 AddElementByWeightFraction( 8, 0.0936 );
01271 AddElementByWeightFraction(16, 0.093778);
01272 AddElementByWeightFraction(57, 0.812622);
01273
01274 AddMaterial("G4_LEAD_OXIDE", 9.53, 0, 766.7, 2);
01275 AddElementByWeightFraction( 8, 0.071682);
01276 AddElementByWeightFraction(82, 0.928318);
01277
01278 AddMaterial("G4_LITHIUM_AMIDE", 1.178, 0, 55.5, 3);
01279 AddElementByWeightFraction( 1, 0.087783);
01280 AddElementByWeightFraction( 3, 0.302262);
01281 AddElementByWeightFraction( 7, 0.609955);
01282
01283 AddMaterial("G4_LITHIUM_CARBONATE", 2.11, 0, 87.9, 3);
01284 AddElementByWeightFraction( 3, 0.187871);
01285 AddElementByWeightFraction( 6, 0.16255 );
01286 AddElementByWeightFraction( 8, 0.649579);
01287
01288 AddMaterial("G4_LITHIUM_FLUORIDE", 2.635, 0, 94., 2);
01289 AddElementByWeightFraction( 3, 0.267585);
01290 AddElementByWeightFraction( 9, 0.732415);
01291
01292 AddMaterial("G4_LITHIUM_HYDRIDE", 0.82, 0, 36.5, 2);
01293 AddElementByWeightFraction( 1, 0.126797);
01294 AddElementByWeightFraction( 3, 0.873203);
01295
01296 AddMaterial("G4_LITHIUM_IODIDE", 3.494, 0, 485.1, 2);
01297 AddElementByWeightFraction( 3, 0.051858);
01298 AddElementByWeightFraction(53, 0.948142);
01299
01300 AddMaterial("G4_LITHIUM_OXIDE", 2.013, 0, 73.6, 2);
01301 AddElementByWeightFraction( 3, 0.46457);
01302 AddElementByWeightFraction( 8, 0.53543);
01303
01304 AddMaterial("G4_LITHIUM_TETRABORATE", 2.44, 0, 94.6, 3);
01305 AddElementByWeightFraction( 3, 0.082085);
01306 AddElementByWeightFraction( 5, 0.25568 );
01307 AddElementByWeightFraction( 8, 0.662235);
01308
01309
01310 AddMaterial("G4_LUNG_ICRP", 1.04, 0, 75.3, 9);
01311 AddElementByWeightFraction( 1, 0.105);
01312 AddElementByWeightFraction( 6, 0.083);
01313 AddElementByWeightFraction( 7, 0.023);
01314 AddElementByWeightFraction( 8, 0.779);
01315 AddElementByWeightFraction(11, 0.002);
01316 AddElementByWeightFraction(15, 0.001);
01317 AddElementByWeightFraction(16, 0.002);
01318 AddElementByWeightFraction(17, 0.003);
01319 AddElementByWeightFraction(19, 0.002);
01320
01321 AddMaterial("G4_M3_WAX", 1.05, 0, 67.9, 5);
01322 AddElementByWeightFraction( 1, 0.114318);
01323 AddElementByWeightFraction( 6, 0.655823);
01324 AddElementByWeightFraction( 8, 0.092183);
01325 AddElementByWeightFraction(12, 0.134792);
01326 AddElementByWeightFraction(20, 0.002883);
01327
01328 AddMaterial("G4_MAGNESIUM_CARBONATE", 2.958, 0, 118., 3);
01329 AddElementByWeightFraction( 6, 0.142455);
01330 AddElementByWeightFraction( 8, 0.569278);
01331 AddElementByWeightFraction(12, 0.288267);
01332
01333 AddMaterial("G4_MAGNESIUM_FLUORIDE", 3.0, 0, 134.3, 2);
01334 AddElementByWeightFraction( 9, 0.609883);
01335 AddElementByWeightFraction(12, 0.390117);
01336
01337 AddMaterial("G4_MAGNESIUM_OXIDE", 3.58, 0, 143.8, 2);
01338 AddElementByWeightFraction( 8, 0.396964);
01339 AddElementByWeightFraction(12, 0.603036);
01340
01341 AddMaterial("G4_MAGNESIUM_TETRABORATE", 2.53, 0, 108.3, 3);
01342 AddElementByWeightFraction( 5, 0.240837);
01343 AddElementByWeightFraction( 8, 0.62379);
01344 AddElementByWeightFraction(12, 0.135373);
01345
01346 AddMaterial("G4_MERCURIC_IODIDE", 6.36, 0, 684.5, 2);
01347 AddElementByWeightFraction(53, 0.55856);
01348 AddElementByWeightFraction(80, 0.44144);
01349
01350 AddMaterial("G4_METHANE", 0.000667151, 0, 41.7, 2, kStateGas);
01351 AddElementByWeightFraction( 1, 0.251306);
01352 AddElementByWeightFraction( 6, 0.748694);
01353
01354 AddMaterial("G4_METHANOL", 0.7914, 0, 67.6, 3);
01355 AddElementByWeightFraction( 1, 0.125822);
01356 AddElementByWeightFraction( 6, 0.374852);
01357 AddElementByWeightFraction( 8, 0.499326);
01358
01359 AddMaterial("G4_MIX_D_WAX", 0.99, 0, 60.9, 5);
01360 AddElementByWeightFraction( 1, 0.13404 );
01361 AddElementByWeightFraction( 6, 0.77796 );
01362 AddElementByWeightFraction( 8, 0.03502 );
01363 AddElementByWeightFraction(12, 0.038594);
01364 AddElementByWeightFraction(22, 0.014386);
01365
01366 AddMaterial("G4_MS20_TISSUE", 1.0, 0, 75.1, 6);
01367 AddElementByWeightFraction( 1, 0.081192);
01368 AddElementByWeightFraction( 6, 0.583442);
01369 AddElementByWeightFraction( 7, 0.017798);
01370 AddElementByWeightFraction( 8, 0.186381);
01371 AddElementByWeightFraction(12, 0.130287);
01372 AddElementByWeightFraction(17, 0.0009 );
01373
01374 AddMaterial("G4_MUSCLE_SKELETAL_ICRP", 1.05, 0, 75.3, 9);
01375 AddElementByWeightFraction( 1, 0.102);
01376 AddElementByWeightFraction( 6, 0.143);
01377 AddElementByWeightFraction( 7, 0.034);
01378 AddElementByWeightFraction( 8, 0.710);
01379 AddElementByWeightFraction(11, 0.001);
01380 AddElementByWeightFraction(15, 0.002);
01381 AddElementByWeightFraction(16, 0.003);
01382 AddElementByWeightFraction(17, 0.001);
01383 AddElementByWeightFraction(19, 0.004);
01384
01385
01386 AddMaterial("G4_MUSCLE_STRIATED_ICRU", 1.04, 0, 74.7, 8);
01387 AddElementByWeightFraction( 1, 0.102);
01388 AddElementByWeightFraction( 6, 0.123);
01389 AddElementByWeightFraction( 7, 0.035);
01390 AddElementByWeightFraction( 8, 0.729);
01391 AddElementByWeightFraction(11, 0.001);
01392 AddElementByWeightFraction(15, 0.002);
01393 AddElementByWeightFraction(16, 0.004);
01394 AddElementByWeightFraction(19, 0.003);
01395
01396 AddMaterial("G4_MUSCLE_WITH_SUCROSE", 1.11, 0, 74.3, 4);
01397 AddElementByWeightFraction( 1, 0.098234);
01398 AddElementByWeightFraction( 6, 0.156214);
01399 AddElementByWeightFraction( 7, 0.035451);
01400 AddElementByWeightFraction( 8, 0.7101 );
01401
01402 AddMaterial("G4_MUSCLE_WITHOUT_SUCROSE", 1.07, 0, 74.2, 4);
01403 AddElementByWeightFraction( 1, 0.101969);
01404 AddElementByWeightFraction( 6, 0.120058);
01405 AddElementByWeightFraction( 7, 0.035451);
01406 AddElementByWeightFraction( 8, 0.742522);
01407
01408 AddMaterial("G4_NAPHTHALENE", 1.145, 0, 68.4, 2);
01409 AddElementByWeightFraction( 1, 0.062909);
01410 AddElementByWeightFraction( 6, 0.937091);
01411
01412 AddMaterial("G4_NITROBENZENE", 1.19867, 0, 75.8, 4);
01413 AddElementByWeightFraction( 1, 0.040935);
01414 AddElementByWeightFraction( 6, 0.585374);
01415 AddElementByWeightFraction( 7, 0.113773);
01416 AddElementByWeightFraction( 8, 0.259918);
01417
01418 AddMaterial("G4_NITROUS_OXIDE", 0.00183094, 0, 84.9, 2, kStateGas);
01419 AddElementByWeightFraction( 7, 0.636483);
01420 AddElementByWeightFraction( 8, 0.363517);
01421
01422 AddMaterial("G4_NYLON-8062", 1.08, 0, 64.3, 4);
01423 AddElementByWeightFraction( 1, 0.103509);
01424 AddElementByWeightFraction( 6, 0.648415);
01425 AddElementByWeightFraction( 7, 0.099536);
01426 AddElementByWeightFraction( 8, 0.148539);
01427
01428 AddMaterial("G4_NYLON-6-6", 1.14, 0, 63.9, 4);
01429 AddElementByWeightFraction( 1, 0.097976);
01430 AddElementByWeightFraction( 6, 0.636856);
01431 AddElementByWeightFraction( 7, 0.123779);
01432 AddElementByWeightFraction( 8, 0.141389);
01433
01434 AddMaterial("G4_NYLON-6-10", 1.14, 0, 63.2, 4);
01435 AddElementByWeightFraction( 1, 0.107062);
01436 AddElementByWeightFraction( 6, 0.680449);
01437 AddElementByWeightFraction( 7, 0.099189);
01438 AddElementByWeightFraction( 8, 0.1133 );
01439
01440 AddMaterial("G4_NYLON-11_RILSAN", 1.425, 0, 61.6, 4);
01441 AddElementByWeightFraction( 1, 0.115476);
01442 AddElementByWeightFraction( 6, 0.720819);
01443 AddElementByWeightFraction( 7, 0.076417);
01444 AddElementByWeightFraction( 8, 0.087289);
01445
01446 AddMaterial("G4_OCTANE", 0.7026, 0, 54.7, 2);
01447 AddElementByWeightFraction( 1, 0.158821);
01448 AddElementByWeightFraction( 6, 0.841179);
01449
01450 AddMaterial("G4_PARAFFIN", 0.93, 0, 55.9, 2);
01451 AddElementByWeightFraction( 1, 0.148605);
01452 AddElementByWeightFraction( 6, 0.851395);
01453
01454 AddMaterial("G4_N-PENTANE", 0.6262, 0, 53.6, 2);
01455 AddElementByWeightFraction( 1, 0.167635);
01456 AddElementByWeightFraction (6, 0.832365);
01457
01458 AddMaterial("G4_PHOTO_EMULSION", 3.815, 0, 331., 8);
01459 AddElementByWeightFraction( 1, 0.0141 );
01460 AddElementByWeightFraction( 6, 0.072261);
01461 AddElementByWeightFraction( 7, 0.01932 );
01462 AddElementByWeightFraction( 8, 0.066101);
01463 AddElementByWeightFraction(16, 0.00189 );
01464 AddElementByWeightFraction(35, 0.349103);
01465 AddElementByWeightFraction(47, 0.474105);
01466 AddElementByWeightFraction(53, 0.00312 );
01467
01468 AddMaterial("G4_PLASTIC_SC_VINYLTOLUENE", 1.032, 0, 64.7, 2);
01469 AddElementByWeightFraction( 1, 0.085);
01470 AddElementByWeightFraction( 6, 0.915);
01471
01472 AddMaterial("G4_PLUTONIUM_DIOXIDE", 11.46, 0, 746.5, 2);
01473 AddElementByWeightFraction( 8, 0.118055);
01474 AddElementByWeightFraction(94, 0.881945);
01475
01476 AddMaterial("G4_POLYACRYLONITRILE", 1.17, 0, 69.6, 3);
01477 AddElementByWeightFraction( 1, 0.056983);
01478 AddElementByWeightFraction( 6, 0.679056);
01479 AddElementByWeightFraction( 7, 0.263962);
01480
01481 AddMaterial("G4_POLYCARBONATE", 1.2, 0, 73.1, 3);
01482 AddElementByWeightFraction( 1, 0.055491);
01483 AddElementByWeightFraction( 6, 0.755751);
01484 AddElementByWeightFraction( 8, 0.188758);
01485
01486 AddMaterial("G4_POLYCHLOROSTYRENE", 1.3, 0, 81.7, 3);
01487 AddElementByWeightFraction( 1, 0.061869);
01488 AddElementByWeightFraction( 6, 0.696325);
01489 AddElementByWeightFraction(17, 0.241806);
01490
01491 AddMaterial("G4_POLYETHYLENE", 0.94, 0, 57.4, 2);
01492 AddElementByWeightFraction( 1, 0.143711);
01493 AddElementByWeightFraction( 6, 0.856289);
01494 chFormulas[nMaterials-1] = "(C_2H_4)_N-Polyethylene";
01495
01496 AddMaterial("G4_MYLAR", 1.4, 0, 78.7, 3);
01497 AddElementByWeightFraction( 1, 0.041959);
01498 AddElementByWeightFraction( 6, 0.625017);
01499 AddElementByWeightFraction( 8, 0.333025);
01500
01501 AddMaterial("G4_PLEXIGLASS", 1.19, 0, 74., 3);
01502 AddElementByWeightFraction( 1, 0.080538);
01503 AddElementByWeightFraction( 6, 0.599848);
01504 AddElementByWeightFraction( 8, 0.319614);
01505
01506 AddMaterial("G4_POLYOXYMETHYLENE", 1.425 ,0, 77.4, 3);
01507 AddElementByWeightFraction( 1, 0.067135);
01508 AddElementByWeightFraction( 6, 0.400017);
01509 AddElementByWeightFraction( 8, 0.532848);
01510
01511 AddMaterial("G4_POLYPROPYLENE", 0.9, 0, 56.5, 2);
01512 AddElementByWeightFraction( 1, 0.143711);
01513 AddElementByWeightFraction( 6, 0.856289);
01514 chFormulas[nMaterials-1] = "(C_2H_4)_N-Polypropylene";
01515
01516 AddMaterial("G4_POLYSTYRENE", 1.06, 0, 68.7, 2);
01517 AddElementByWeightFraction( 1, 0.077418);
01518 AddElementByWeightFraction( 6, 0.922582);
01519
01520 AddMaterial("G4_TEFLON", 2.2, 0, 99.1, 2);
01521 AddElementByWeightFraction( 6, 0.240183);
01522 AddElementByWeightFraction( 9, 0.759817);
01523
01524 AddMaterial("G4_POLYTRIFLUOROCHLOROETHYLENE", 2.1, 0, 120.7, 3);
01525
01526 AddElementByWeightFraction( 6, 0.20625 );
01527 AddElementByWeightFraction( 9, 0.489354);
01528 AddElementByWeightFraction(17, 0.304395);
01529
01530 AddMaterial("G4_POLYVINYL_ACETATE", 1.19, 0, 73.7, 3);
01531 AddElementByWeightFraction( 1, 0.070245);
01532 AddElementByWeightFraction( 6, 0.558066);
01533 AddElementByWeightFraction( 8, 0.371689);
01534
01535 AddMaterial("G4_POLYVINYL_ALCOHOL", 1.3, 0, 69.7, 3);
01536 AddElementByWeightFraction( 1, 0.091517);
01537 AddElementByWeightFraction( 6, 0.545298);
01538 AddElementByWeightFraction( 8, 0.363185);
01539
01540 AddMaterial("G4_POLYVINYL_BUTYRAL", 1.12, 0, 67.2, 3);
01541 AddElementByWeightFraction( 1, 0.092802);
01542 AddElementByWeightFraction( 6, 0.680561);
01543 AddElementByWeightFraction( 8, 0.226637);
01544
01545 AddMaterial("G4_POLYVINYL_CHLORIDE", 1.3, 0, 108.2, 3);
01546 AddElementByWeightFraction( 1, 0.04838);
01547 AddElementByWeightFraction( 6, 0.38436);
01548 AddElementByWeightFraction(17, 0.56726);
01549
01550 AddMaterial("G4_POLYVINYLIDENE_CHLORIDE", 1.7, 0, 134.3, 3);
01551 AddElementByWeightFraction( 1, 0.020793);
01552 AddElementByWeightFraction( 6, 0.247793);
01553 AddElementByWeightFraction(17, 0.731413);
01554
01555 AddMaterial("G4_POLYVINYLIDENE_FLUORIDE", 1.76, 0, 88.8, 3);
01556 AddElementByWeightFraction( 1, 0.03148 );
01557 AddElementByWeightFraction( 6, 0.375141);
01558 AddElementByWeightFraction( 9, 0.593379);
01559
01560 AddMaterial("G4_POLYVINYL_PYRROLIDONE", 1.25, 0, 67.7, 4);
01561 AddElementByWeightFraction( 1, 0.081616);
01562 AddElementByWeightFraction( 6, 0.648407);
01563 AddElementByWeightFraction( 7, 0.126024);
01564 AddElementByWeightFraction( 8, 0.143953);
01565
01566 AddMaterial("G4_POTASSIUM_IODIDE", 3.13, 0, 431.9, 2);
01567 AddElementByWeightFraction(19, 0.235528);
01568 AddElementByWeightFraction(53, 0.764472);
01569
01570 AddMaterial("G4_POTASSIUM_OXIDE", 2.32, 0, 189.9, 2);
01571 AddElementByWeightFraction( 8, 0.169852);
01572 AddElementByWeightFraction(19, 0.830148);
01573
01574 AddMaterial("G4_PROPANE", 0.00187939, 0, 47.1, 2, kStateGas);
01575 AddElementByWeightFraction( 1, 0.182855);
01576 AddElementByWeightFraction( 6, 0.817145);
01577
01578 AddMaterial("G4_lPROPANE", 0.43, 0, 52., 2);
01579 AddElementByWeightFraction( 1, 0.182855);
01580 AddElementByWeightFraction( 6, 0.817145);
01581
01582 AddMaterial("G4_N-PROPYL_ALCOHOL", 0.8035, 0, 61.1, 3);
01583 AddElementByWeightFraction( 1, 0.134173);
01584 AddElementByWeightFraction( 6, 0.599595);
01585 AddElementByWeightFraction( 8, 0.266232);
01586
01587 AddMaterial("G4_PYRIDINE", 0.9819, 0, 66.2, 3);
01588 AddElementByWeightFraction( 1, 0.06371 );
01589 AddElementByWeightFraction( 6, 0.759217);
01590 AddElementByWeightFraction( 7, 0.177073);
01591
01592 AddMaterial("G4_RUBBER_BUTYL", 0.92, 0, 56.5, 2);
01593 AddElementByWeightFraction( 1, 0.143711);
01594 AddElementByWeightFraction( 6, 0.856289);
01595
01596 AddMaterial("G4_RUBBER_NATURAL", 0.92, 0, 59.8, 2);
01597 AddElementByWeightFraction( 1, 0.118371);
01598 AddElementByWeightFraction( 6, 0.881629);
01599
01600 AddMaterial("G4_RUBBER_NEOPRENE", 1.23, 0, 93., 3);
01601 AddElementByWeightFraction( 1, 0.05692 );
01602 AddElementByWeightFraction( 6, 0.542646);
01603 AddElementByWeightFraction(17, 0.400434);
01604
01605 AddMaterial("G4_SILICON_DIOXIDE", 2.32, 0, 139.2, 2);
01606 AddElementByWeightFraction( 8, 0.532565);
01607 AddElementByWeightFraction(14, 0.467435);
01608 chFormulas[nMaterials-1] = "SiO_2";
01609
01610 AddMaterial("G4_SILVER_BROMIDE", 6.473, 0, 486.6, 2);
01611 AddElementByWeightFraction(35, 0.425537);
01612 AddElementByWeightFraction(47, 0.574463);
01613
01614 AddMaterial("G4_SILVER_CHLORIDE", 5.56, 0, 398.4, 2);
01615 AddElementByWeightFraction(17, 0.247368);
01616 AddElementByWeightFraction(47, 0.752632);
01617
01618 AddMaterial("G4_SILVER_HALIDES", 6.47, 0, 487.1, 3);
01619 AddElementByWeightFraction(35, 0.422895);
01620 AddElementByWeightFraction(47, 0.573748);
01621 AddElementByWeightFraction(53, 0.003357);
01622
01623 AddMaterial("G4_SILVER_IODIDE", 6.01, 0, 543.5, 2);
01624 AddElementByWeightFraction(47, 0.459458);
01625 AddElementByWeightFraction(53, 0.540542);
01626
01627 AddMaterial("G4_SKIN_ICRP", 1.09, 0, 72.7, 9);
01628 AddElementByWeightFraction( 1, 0.100);
01629 AddElementByWeightFraction( 6, 0.204);
01630 AddElementByWeightFraction( 7, 0.042);
01631 AddElementByWeightFraction( 8, 0.645);
01632 AddElementByWeightFraction(11, 0.002);
01633 AddElementByWeightFraction(15, 0.001);
01634 AddElementByWeightFraction(16, 0.002);
01635 AddElementByWeightFraction(17, 0.003);
01636 AddElementByWeightFraction(19, 0.001);
01637
01638 AddMaterial("G4_SODIUM_CARBONATE", 2.532, 0, 125., 3);
01639 AddElementByWeightFraction( 6, 0.113323);
01640 AddElementByWeightFraction( 8, 0.452861);
01641 AddElementByWeightFraction(11, 0.433815);
01642
01643 AddMaterial("G4_SODIUM_IODIDE", 3.667, 0, 452., 2);
01644 AddElementByWeightFraction(11, 0.153373);
01645 AddElementByWeightFraction(53, 0.846627);
01646
01647 AddMaterial("G4_SODIUM_MONOXIDE", 2.27, 0, 148.8, 2);
01648 AddElementByWeightFraction( 8, 0.258143);
01649 AddElementByWeightFraction(11, 0.741857);
01650
01651 AddMaterial("G4_SODIUM_NITRATE", 2.261, 0, 114.6, 3);
01652 AddElementByWeightFraction( 7, 0.164795);
01653 AddElementByWeightFraction( 8, 0.56472 );
01654 AddElementByWeightFraction(11, 0.270485);
01655
01656 AddMaterial("G4_STILBENE", 0.9707, 0, 67.7, 2);
01657 AddElementByWeightFraction( 1, 0.067101);
01658 AddElementByWeightFraction( 6, 0.932899);
01659
01660 AddMaterial("G4_SUCROSE", 1.5805, 0, 77.5, 3);
01661 AddElementByWeightFraction( 1, 0.064779);
01662 AddElementByWeightFraction( 6, 0.42107);
01663 AddElementByWeightFraction( 8, 0.514151);
01664
01665 AddMaterial("G4_TERPHENYL", 1.234, 0, 71.7, 2);
01666 AddElementByWeightFraction( 1, 0.044543);
01667 AddElementByWeightFraction( 6, 0.955457);
01668
01669 AddMaterial("G4_TESTIS_ICRP", 1.04, 0, 75., 9);
01670 AddElementByWeightFraction( 1, 0.106);
01671 AddElementByWeightFraction( 6, 0.099);
01672 AddElementByWeightFraction( 7, 0.020);
01673 AddElementByWeightFraction( 8, 0.766);
01674 AddElementByWeightFraction(11, 0.002);
01675 AddElementByWeightFraction(15, 0.001);
01676 AddElementByWeightFraction(16, 0.002);
01677 AddElementByWeightFraction(17, 0.002);
01678 AddElementByWeightFraction(19, 0.002);
01679
01680 AddMaterial("G4_TETRACHLOROETHYLENE", 1.625, 0, 159.2, 2);
01681 AddElementByWeightFraction( 6, 0.144856);
01682 AddElementByWeightFraction(17, 0.855144);
01683
01684 AddMaterial("G4_THALLIUM_CHLORIDE", 7.004, 0, 690.3, 2);
01685 AddElementByWeightFraction(17, 0.147822);
01686 AddElementByWeightFraction(81, 0.852178);
01687
01688
01689 AddMaterial("G4_TISSUE_SOFT_ICRP", 1.03, 0, 72.3, 9);
01690 AddElementByWeightFraction( 1, 0.105);
01691 AddElementByWeightFraction( 6, 0.256);
01692 AddElementByWeightFraction( 7, 0.027);
01693 AddElementByWeightFraction( 8, 0.602);
01694 AddElementByWeightFraction(11, 0.001);
01695 AddElementByWeightFraction(15, 0.002);
01696 AddElementByWeightFraction(16, 0.003);
01697 AddElementByWeightFraction(17, 0.002);
01698 AddElementByWeightFraction(19, 0.002);
01699
01700
01701 AddMaterial("G4_TISSUE_SOFT_ICRU-4", 1.0, 0, 74.9, 4);
01702 AddElementByWeightFraction( 1, 0.101);
01703 AddElementByWeightFraction( 6, 0.111);
01704 AddElementByWeightFraction( 7, 0.026);
01705 AddElementByWeightFraction( 8, 0.762);
01706
01707 AddMaterial("G4_TISSUE-METHANE", 0.00106409, 0, 61.2, 4, kStateGas);
01708 AddElementByWeightFraction( 1, 0.101869);
01709 AddElementByWeightFraction( 6, 0.456179);
01710 AddElementByWeightFraction( 7, 0.035172);
01711 AddElementByWeightFraction( 8, 0.40678 );
01712
01713 AddMaterial("G4_TISSUE-PROPANE", 0.00182628, 0, 59.5, 4, kStateGas);
01714 AddElementByWeightFraction( 1, 0.102672);
01715 AddElementByWeightFraction( 6, 0.56894 );
01716 AddElementByWeightFraction( 7, 0.035022);
01717 AddElementByWeightFraction( 8, 0.293366);
01718
01719 AddMaterial("G4_TITANIUM_DIOXIDE", 4.26, 0, 179.5, 2);
01720 AddElementByWeightFraction( 8, 0.400592);
01721 AddElementByWeightFraction(22, 0.599408);
01722
01723 AddMaterial("G4_TOLUENE", 0.8669, 0, 62.5, 2);
01724 AddElementByWeightFraction( 1, 0.08751);
01725 AddElementByWeightFraction( 6, 0.91249);
01726
01727 AddMaterial("G4_TRICHLOROETHYLENE", 1.46, 0, 148.1, 3);
01728 AddElementByWeightFraction( 1, 0.007671);
01729 AddElementByWeightFraction( 6, 0.182831);
01730 AddElementByWeightFraction(17, 0.809498);
01731
01732 AddMaterial("G4_TRIETHYL_PHOSPHATE", 1.07, 0, 81.2, 4);
01733 AddElementByWeightFraction( 1, 0.082998);
01734 AddElementByWeightFraction( 6, 0.395628);
01735 AddElementByWeightFraction( 8, 0.351334);
01736 AddElementByWeightFraction(15, 0.17004 );
01737
01738 AddMaterial("G4_TUNGSTEN_HEXAFLUORIDE", 2.4, 0, 354.4, 2);
01739 AddElementByWeightFraction( 9, 0.382723);
01740 AddElementByWeightFraction(74, 0.617277);
01741
01742 AddMaterial("G4_URANIUM_DICARBIDE", 11.28, 0, 752., 2);
01743 AddElementByWeightFraction( 6, 0.091669);
01744 AddElementByWeightFraction(92, 0.908331);
01745
01746 AddMaterial("G4_URANIUM_MONOCARBIDE", 13.63, 0, 862., 2);
01747 AddElementByWeightFraction( 6, 0.048036);
01748 AddElementByWeightFraction(92, 0.951964);
01749
01750 AddMaterial("G4_URANIUM_OXIDE", 10.96, 0, 720.6, 2);
01751 AddElementByWeightFraction( 8, 0.118502);
01752 AddElementByWeightFraction(92, 0.881498);
01753
01754 AddMaterial("G4_UREA", 1.323, 0, 72.8, 4);
01755 AddElementByWeightFraction( 1, 0.067131);
01756 AddElementByWeightFraction( 6, 0.199999);
01757 AddElementByWeightFraction( 7, 0.466459);
01758 AddElementByWeightFraction( 8, 0.266411);
01759
01760 AddMaterial("G4_VALINE", 1.23, 0, 67.7, 4);
01761 AddElementByWeightFraction( 1, 0.094641);
01762 AddElementByWeightFraction( 6, 0.512645);
01763 AddElementByWeightFraction( 7, 0.119565);
01764 AddElementByWeightFraction( 8, 0.27315 );
01765
01766 AddMaterial("G4_VITON", 1.8, 0, 98.6, 3);
01767 AddElementByWeightFraction( 1, 0.009417);
01768 AddElementByWeightFraction( 6, 0.280555);
01769 AddElementByWeightFraction( 9, 0.710028);
01770
01771 AddMaterial("G4_WATER", 1.0,0, 78., 2);
01772 AddElementByAtomCount("H", 2);
01773 AddElementByAtomCount("O", 1);
01774 chFormulas[nMaterials-1] = "H_2O";
01775
01776 AddMaterial("G4_WATER_VAPOR", 0.000756182, 0, 71.6, 2, kStateGas);
01777 AddElementByAtomCount("H", 2);
01778 AddElementByAtomCount("O", 1);
01779 chFormulas[nMaterials-1] = "H_2O-Gas";
01780
01781 AddMaterial("G4_XYLENE", 0.87, 0, 61.8, 2);
01782 AddElementByWeightFraction( 1, 0.094935);
01783 AddElementByWeightFraction( 6, 0.905065);
01784
01785 AddMaterial("G4_GRAPHITE", 2.21, 6, 78.);
01786 chFormulas[nMaterials-1] = "Graphite";
01787
01788 nNIST = nMaterials;
01789 }
01790
01791
01792
01793 void G4NistMaterialBuilder::HepAndNuclearMaterials()
01794 {
01795 AddMaterial("G4_lH2", 0.0708, 1, 21.8, 1, kStateLiquid, false);
01796 AddMaterial("G4_lN2", 0.807, 7, 82., 1, kStateLiquid, false);
01797 AddMaterial("G4_lO2", 1.141, 8, 95., 1, kStateLiquid, false);
01798 AddMaterial("G4_lAr", 1.396 , 18, 188. , 1, kStateLiquid, false);
01799 AddMaterial("G4_lKr", 2.418 , 36, 352. , 1, kStateLiquid, false);
01800 AddMaterial("G4_lXe", 2.953 , 54, 482. , 1, kStateLiquid, false);
01801
01802 AddMaterial("G4_PbWO4", 8.28, 0, 0.0, 3);
01803 AddElementByAtomCount("O" , 4);
01804 AddElementByAtomCount("Pb", 1);
01805 AddElementByAtomCount("W" , 1);
01806
01807 G4double density = universe_mean_density*cm3/g;
01808 AddMaterial("G4_Galactic", density, 1, 21.8, 1, kStateGas);
01809 AddGas("G4_Galactic",2.73*kelvin, 3.e-18*pascal);
01810
01811 AddMaterial("G4_GRAPHITE_POROUS", 1.7, 6, 78.);
01812 chFormulas[nMaterials-1] = "Graphite";
01813
01814
01815 AddMaterial("G4_LUCITE", 1.19, 0, 74., 3);
01816 AddElementByWeightFraction( 1, 0.080538);
01817 AddElementByWeightFraction( 6, 0.599848);
01818 AddElementByWeightFraction( 8, 0.319614);
01819
01820
01821 AddMaterial("G4_BRASS", 8.52, 0, 0.0, 3);
01822 AddElementByAtomCount("Cu", 62);
01823 AddElementByAtomCount("Zn", 35);
01824 AddElementByAtomCount("Pb" , 3);
01825
01826 AddMaterial("G4_BRONZE", 8.82, 0, 0.0, 3);
01827 AddElementByAtomCount("Cu", 89);
01828 AddElementByAtomCount("Zn", 9);
01829 AddElementByAtomCount("Pb" , 2);
01830
01831
01832
01833 AddMaterial("G4_STAINLESS-STEEL", 8.00, 0, 0.0, 3);
01834 AddElementByAtomCount("Fe", 74);
01835 AddElementByAtomCount("Cr", 18);
01836 AddElementByAtomCount("Ni" , 8);
01837
01838 AddMaterial("G4_CR39", 1.32, 0, 0.0, 3);
01839 AddElementByAtomCount("H", 18);
01840 AddElementByAtomCount("C", 12);
01841 AddElementByAtomCount("O", 7);
01842
01843 AddMaterial("G4_OCTADECANOL", 0.812, 0, 0.0, 3);
01844 AddElementByAtomCount("H", 38);
01845 AddElementByAtomCount("C", 18);
01846 AddElementByAtomCount("O", 1);
01847
01848 nHEP = nMaterials;
01849 }
01850
01851
01852
01853 void G4NistMaterialBuilder::SpaceMaterials()
01854 {
01855
01856 AddMaterial("G4_KEVLAR" , 1.44, 0, 0.0, 4);
01857 AddElementByAtomCount("C", 14);
01858 AddElementByAtomCount("H", 10);
01859 AddElementByAtomCount("O", 2);
01860 AddElementByAtomCount("N", 2);
01861
01862 AddMaterial("G4_DACRON" , 1.40, 0, 0.0, 3);
01863 AddElementByAtomCount("C", 10);
01864 AddElementByAtomCount("H", 8);
01865 AddElementByAtomCount("O", 4);
01866
01867 AddMaterial("G4_NEOPRENE" , 1.23, 0, 0.0, 3);
01868 AddElementByAtomCount("C", 4);
01869 AddElementByAtomCount("H", 5);
01870 AddElementByAtomCount("Cl", 1);
01871
01872 nSpace = nMaterials;
01873 }
01874
01875
01876
01877 void G4NistMaterialBuilder::BioChemicalMaterials()
01878 {
01879 AddMaterial("G4_CYTOSINE", 1.55, 0, 72., 4);
01880 AddElementByAtomCount("H", 5);
01881 AddElementByAtomCount("C", 4);
01882 AddElementByAtomCount("N", 3);
01883 AddElementByAtomCount("O", 1);
01884
01885 AddMaterial("G4_THYMINE", 1.23, 0, 72., 4);
01886 AddElementByAtomCount("H", 6);
01887 AddElementByAtomCount("C", 5);
01888 AddElementByAtomCount("N", 2);
01889 AddElementByAtomCount("O", 2);
01890
01891 AddMaterial("G4_URACIL", 1.32, 0, 72., 4);
01892 AddElementByAtomCount("H", 4);
01893 AddElementByAtomCount("C", 4);
01894 AddElementByAtomCount("N", 2);
01895 AddElementByAtomCount("O", 2);
01896
01897
01898 AddMaterial("G4_DNA_ADENINE", 1, 0, 72., 3);
01899 AddElementByAtomCount("H",4 );
01900 AddElementByAtomCount("C",5 );
01901 AddElementByAtomCount("N",5 );
01902
01903 AddMaterial("G4_DNA_GUANINE", 1, 0, 72. ,4);
01904 AddElementByAtomCount("H",4 );
01905 AddElementByAtomCount("C",5 );
01906 AddElementByAtomCount("N",5 );
01907 AddElementByAtomCount("O",1 );
01908
01909 AddMaterial("G4_DNA_CYTOSINE", 1, 0, 72., 4);
01910 AddElementByAtomCount("H", 4);
01911 AddElementByAtomCount("C", 4);
01912 AddElementByAtomCount("N", 3);
01913 AddElementByAtomCount("O", 1);
01914
01915 AddMaterial("G4_DNA_THYMINE", 1, 0, 72., 4);
01916 AddElementByAtomCount("H", 5);
01917 AddElementByAtomCount("C", 5);
01918 AddElementByAtomCount("N", 2);
01919 AddElementByAtomCount("O", 2);
01920
01921 AddMaterial("G4_DNA_URACIL", 1, 0, 72., 4);
01922 AddElementByAtomCount("H", 3);
01923 AddElementByAtomCount("C", 4);
01924 AddElementByAtomCount("N", 2);
01925 AddElementByAtomCount("O", 2);
01926
01927
01928 AddMaterial("G4_DNA_ADENOSINE", 1, 0, 72., 4);
01929 AddElementByAtomCount("H", 10);
01930 AddElementByAtomCount("C", 10);
01931 AddElementByAtomCount("N", 5);
01932 AddElementByAtomCount("O", 4);
01933
01934 AddMaterial("G4_DNA_GUANOSINE", 1, 0, 72. ,4);
01935 AddElementByAtomCount("H", 10);
01936 AddElementByAtomCount("C", 10);
01937 AddElementByAtomCount("N", 5);
01938 AddElementByAtomCount("O", 5);
01939
01940 AddMaterial("G4_DNA_CYTIDINE", 1, 0, 72., 4);
01941 AddElementByAtomCount("H", 10);
01942 AddElementByAtomCount("C", 9);
01943 AddElementByAtomCount("N", 3);
01944 AddElementByAtomCount("O", 5);
01945
01946 AddMaterial("G4_DNA_URIDINE", 1, 0, 72., 4);
01947 AddElementByAtomCount("H", 9);
01948 AddElementByAtomCount("C", 9);
01949 AddElementByAtomCount("N", 2);
01950 AddElementByAtomCount("O", 6);
01951
01952 AddMaterial("G4_DNA_METHYLURIDINE", 1, 0, 72., 4);
01953 AddElementByAtomCount("H", 11);
01954 AddElementByAtomCount("C", 10);
01955 AddElementByAtomCount("N", 2);
01956 AddElementByAtomCount("O", 6);
01957
01958 AddMaterial("G4_DNA_MONOPHOSPHATE", 1, 0, 72., 2);
01959 AddElementByAtomCount("P", 1);
01960 AddElementByAtomCount("O", 3);
01961
01962 AddMaterial("G4_DNA_A", 1, 0, 72., 5);
01963 AddElementByAtomCount("H", 10);
01964 AddElementByAtomCount("C", 10);
01965 AddElementByAtomCount("N", 5);
01966 AddElementByAtomCount("O", 7);
01967 AddElementByAtomCount("P", 1);
01968
01969 AddMaterial("G4_DNA_G", 1, 0, 72. ,5);
01970 AddElementByAtomCount("H", 10);
01971 AddElementByAtomCount("C", 10);
01972 AddElementByAtomCount("N", 5);
01973 AddElementByAtomCount("O", 8);
01974 AddElementByAtomCount("P", 1);
01975
01976 AddMaterial("G4_DNA_C", 1, 0, 72., 5);
01977 AddElementByAtomCount("H", 10);
01978 AddElementByAtomCount("C", 9);
01979 AddElementByAtomCount("N", 3);
01980 AddElementByAtomCount("O", 8);
01981 AddElementByAtomCount("P", 1);
01982
01983 AddMaterial("G4_DNA_U", 1, 0, 72., 5);
01984 AddElementByAtomCount("H", 9);
01985 AddElementByAtomCount("C", 9);
01986 AddElementByAtomCount("N", 2);
01987 AddElementByAtomCount("O", 9);
01988 AddElementByAtomCount("P", 1);
01989
01990 AddMaterial("G4_DNA_MU", 1, 0, 72., 5);
01991 AddElementByAtomCount("H", 11);
01992 AddElementByAtomCount("C", 10);
01993 AddElementByAtomCount("N", 2);
01994 AddElementByAtomCount("O", 9);
01995 AddElementByAtomCount("P", 1);
01996
01997
01998
01999
02000
02001
02002
02003
02004
02005
02006
02007
02008
02009
02010
02011
02012 }
02013
02014
02015
02016