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