Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 // 27 // 28 // Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it) 29 // 30 // History: 31 // ----------- 32 // 20 Aug 2001 Alfonso Mantero Created 33 // 34 // ------------------------------------------------------------------- 35 36 #include "XrayFluoNistMaterials.hh" 37 #include "G4PhysicalConstants.hh" 38 #include "G4SystemOfUnits.hh" 39 40 XrayFluoNistMaterials::XrayFluoNistMaterials() 41 { CreateMaterials();} 42 43 XrayFluoNistMaterials::~XrayFluoNistMaterials() 44 { 45 delete dolorite; 46 delete HPGe; 47 delete SiLi; 48 delete mars1; 49 delete anorthosite; 50 delete basalt; 51 delete gabbro; 52 delete gabbroWD; 53 delete gabbroRF; 54 delete Air; 55 delete Sci; 56 delete Vacuum; 57 delete madaBasalt; 58 delete icelandicBasalt; 59 delete icelandicWD; 60 delete icelandicRF; 61 delete GaAs; 62 delete galactic; 63 delete copper; 64 // delete nickel; 65 delete hawaiianRF; 66 delete hawaiianWD; 67 68 69 70 } 71 XrayFluoNistMaterials* XrayFluoNistMaterials::instance = 0; 72 73 XrayFluoNistMaterials* XrayFluoNistMaterials::GetInstance() 74 { 75 if (instance == 0) 76 { 77 instance = new XrayFluoNistMaterials; 78 79 } 80 return instance; 81 } 82 83 G4Material* XrayFluoNistMaterials::GetMaterial(G4String material) 84 { 85 86 //instancing G4NistManager 87 nistMan = G4NistManager::Instance(); 88 nistMan->SetVerbose(0); 89 90 //If not available at NIST, look for the local version of it 91 G4Material* mat = nistMan->FindOrBuildMaterial(material); 92 if (!mat) { 93 mat = G4Material::GetMaterial(material); 94 } 95 if (!mat) {G4cout << material << "Not Found, Please Retry"<< G4endl;} 96 return mat; 97 } 98 99 100 void XrayFluoNistMaterials::CreateMaterials() 101 { 102 103 G4double density; 104 std::vector<G4int> natoms; 105 std::vector<G4double> fractionMass; 106 std::vector<G4String> elements; 107 108 109 //instancing G4NistManager 110 nistMan = G4NistManager::Instance(); 111 nistMan->SetVerbose(1); 112 113 // Materials Definitions 114 115 116 /////////////////////// 117 // Madagascar Basalt // 118 /////////////////////// 119 120 121 // Define Madagascar Basalt main components 0054.PP.0044 sample 122 density = 3*g/cm3; 123 elements.push_back("Si"); fractionMass.push_back(0.1992); // 0.007093 mol/g(mat) 124 elements.push_back("Ti"); fractionMass.push_back(0.02027); // 4.235e-4 125 elements.push_back("Al"); fractionMass.push_back(0.04758); // 0.001763 126 elements.push_back("Fe"); fractionMass.push_back(0.1303); // 0.002333 127 elements.push_back("Mn"); fractionMass.push_back(0.001549);// 2.820e-5 128 elements.push_back("Mg"); fractionMass.push_back(0.08141); // 0.003350 129 elements.push_back("Ca"); fractionMass.push_back(0.06468); // 0.001614 130 elements.push_back("Na"); fractionMass.push_back(0.01692); // 7.360e-4 131 elements.push_back("K"); fractionMass.push_back(0.008576);// 2.193e-4 132 elements.push_back("P"); fractionMass.push_back(0.001977);// 6.383e-5 133 elements.push_back("O"); fractionMass.push_back(0.427538);// 0.02672 134 135 // sum is 0.04434383 total number of moles of atoms in one gram of material 136 // 2.248766e8 g per 10.000.000 moles. 137 138 G4Material* madaBasaltMain= nistMan->ConstructNewMaterial("MadaBasaltMain",elements, fractionMass, density); 139 elements.clear(); 140 fractionMass.clear(); 141 142 // Define Madagascar Basalt traces components 0054.PP.0044 sample 143 density = 3*g/cm3; 144 145 146 elements.push_back("Ti"); natoms.push_back(33); 147 elements.push_back("Ba"); natoms.push_back(4131); 148 elements.push_back("Ce"); natoms.push_back(694); 149 elements.push_back("Co"); natoms.push_back(965); 150 elements.push_back("Cr"); natoms.push_back(5584); 151 elements.push_back("La"); natoms.push_back(269); 152 elements.push_back("Nb"); natoms.push_back(259); 153 elements.push_back("Nd"); natoms.push_back(410); 154 elements.push_back("Ni"); natoms.push_back(389); 155 elements.push_back("Rb"); natoms.push_back(227); 156 elements.push_back("Sc"); natoms.push_back(212); 157 elements.push_back("Sr"); natoms.push_back(8686); 158 elements.push_back("V"); natoms.push_back(4203); 159 elements.push_back("Y"); natoms.push_back(272); 160 elements.push_back("Zn"); natoms.push_back(1440); 161 elements.push_back("Th"); natoms.push_back(19); 162 elements.push_back("Sm"); natoms.push_back(93); 163 elements.push_back("Eu"); natoms.push_back(32); 164 elements.push_back("Gd"); natoms.push_back(89); 165 elements.push_back("Tb"); natoms.push_back(13); 166 elements.push_back("Yb"); natoms.push_back(15); 167 elements.push_back("Lu"); natoms.push_back(2); 168 elements.push_back("Ta"); natoms.push_back(15); 169 elements.push_back("Hf"); natoms.push_back(62); 170 171 //tot 28114/10e7 weight: 2335253.28 g per 10e6 moles 172 173 G4Material* madaBasaltTraces= nistMan->ConstructNewMaterial("MadaBasaltTraces", elements, natoms, density); 174 elements.clear(); 175 natoms.clear(); 176 177 // Define Madacagascar Basalt complete material 0054.PP.0044 sample 178 density = 3*g/cm3; 179 180 madaBasalt= new G4Material("MadaBasalt", density, 2); 181 madaBasalt->AddMaterial(madaBasaltMain, 0.9897); 182 madaBasalt->AddMaterial(madaBasaltTraces, 0.0103); 183 184 185 186 /////////////////////////////////////////// 187 // Iceland Basalt 0029.PP.0035 sample // 188 /////////////////////////////////////////// 189 190 elements.push_back("Si"); fractionMass.push_back(0.2313); 191 elements.push_back("Ti"); fractionMass.push_back(0.0127); 192 elements.push_back("Al"); fractionMass.push_back(0.0702); 193 elements.push_back("Fe"); fractionMass.push_back(0.1134); 194 elements.push_back("Mn"); fractionMass.push_back(0.0019); 195 elements.push_back("Mg"); fractionMass.push_back(0.0349); 196 elements.push_back("Ca"); fractionMass.push_back(0.0756); 197 elements.push_back("Na"); fractionMass.push_back(0.0892); 198 elements.push_back("K"); fractionMass.push_back(0.0032); 199 elements.push_back("P"); fractionMass.push_back(0.00096); 200 elements.push_back("S"); fractionMass.push_back(0.0004); 201 elements.push_back("O"); fractionMass.push_back(0.36624); 202 203 // Define Icelandic Basalt main components 0029.PP.0035 sample 204 density = 3*g/cm3; 205 G4Material* icelandicBasaltMain= nistMan->ConstructNewMaterial("IceBasaltMain",elements, fractionMass, density); 206 elements.clear(); 207 fractionMass.clear(); 208 209 // Define Icelandic Basalt traces components 0029.PP.0035 sample 210 density = 3*g/cm3; 211 212 elements.push_back("Ba"); natoms.push_back(756); 213 elements.push_back("Ce"); natoms.push_back(328); 214 elements.push_back("Co"); natoms.push_back(643); 215 elements.push_back("Cr"); natoms.push_back(1000); 216 elements.push_back("Cu"); natoms.push_back(1396); 217 elements.push_back("Ga"); natoms.push_back(190); 218 elements.push_back("La"); natoms.push_back(103); 219 elements.push_back("Mo"); natoms.push_back(9); 220 elements.push_back("Nb"); natoms.push_back(114); 221 elements.push_back("Nd"); natoms.push_back(104); 222 elements.push_back("Ni"); natoms.push_back(544); 223 elements.push_back("Rb"); natoms.push_back(78); 224 elements.push_back("S"); natoms.push_back(5550); 225 elements.push_back("Sc"); natoms.push_back(531); 226 elements.push_back("Sr"); natoms.push_back(1353); 227 elements.push_back("U"); natoms.push_back(22); 228 elements.push_back("V"); natoms.push_back(4533); 229 elements.push_back("Y"); natoms.push_back(408); 230 elements.push_back("Zn"); natoms.push_back(1259); 231 elements.push_back("Zr"); natoms.push_back(1274); 232 233 G4Material* icelandicBasaltTraces= nistMan->ConstructNewMaterial("IceBasaltTraces", elements, natoms, density); 234 235 elements.clear(); 236 natoms.clear(); 237 238 // Define Icelandic Basalt complete material 0029.PP.0035 sample 239 density = 3*g/cm3; 240 icelandicBasalt= new G4Material("IceBasalt", density, 2); 241 icelandicBasalt->AddMaterial(icelandicBasaltMain, 0.9978); 242 icelandicBasalt->AddMaterial(icelandicBasaltTraces, 0.0022); 243 244 245 /////////////////////// 246 // Dolorite // 247 /////////////////////// 248 249 // Define dolorite main components 0055.PP.0038 sample 250 251 density = 3*g/cm3; 252 253 elements.push_back("Fe"); fractionMass.push_back(0.1750); 254 elements.push_back("Ti"); fractionMass.push_back(0.0082); 255 elements.push_back("Ca"); fractionMass.push_back(0.0753); 256 elements.push_back("Si"); fractionMass.push_back(0.2188); 257 elements.push_back("Al"); fractionMass.push_back(0.0676); 258 elements.push_back("Mg"); fractionMass.push_back(0.0008); 259 elements.push_back("O"); fractionMass.push_back(0.4377); 260 elements.push_back("Mn"); fractionMass.push_back(0.0015); 261 elements.push_back("Na"); fractionMass.push_back(0.0134); 262 elements.push_back("K"); fractionMass.push_back(0.0011); 263 elements.push_back("P"); fractionMass.push_back(0.0006); 264 265 266 G4Material* doloriteMain = nistMan->ConstructNewMaterial("Dolorite", elements, fractionMass, density); 267 268 elements.clear(); 269 fractionMass.clear(); 270 271 // define traces in dolorite 0055.PP.0038 sample 272 273 density = 3*g/cm3; 274 275 elements.push_back("Nb"); natoms.push_back(5); 276 elements.push_back("Zr"); natoms.push_back(91); 277 elements.push_back("Y"); natoms.push_back(29); 278 elements.push_back("Sr"); natoms.push_back(140); 279 elements.push_back("Rb"); natoms.push_back(3); 280 elements.push_back("Ga"); natoms.push_back(20); 281 elements.push_back("Zn"); natoms.push_back(99); 282 elements.push_back("Ni"); natoms.push_back(77); 283 elements.push_back("Sc"); natoms.push_back(32); 284 elements.push_back("V"); natoms.push_back(314); 285 elements.push_back("Cr"); natoms.push_back(130); 286 elements.push_back("Co"); natoms.push_back(56); 287 elements.push_back("Cu"); natoms.push_back(119); 288 elements.push_back("Ba"); natoms.push_back(38); 289 elements.push_back("Ce"); natoms.push_back(15); 290 elements.push_back("Nd"); natoms.push_back(9); 291 292 G4Material* tracesOfDolorite= nistMan->ConstructNewMaterial("TracesOfDolorite", elements, natoms, density); 293 294 elements.clear(); 295 natoms.clear(); 296 297 // define dolorite (full) -- 0055.PP.0038 sample 298 299 density = 3*g/cm3; 300 dolorite = new G4Material("Dolorite", density, 2); 301 dolorite->AddMaterial(tracesOfDolorite, 0.0027842352); 302 dolorite->AddMaterial(doloriteMain, 0.9972157648); 303 304 /////////////////////// 305 // Mars1 // 306 /////////////////////// 307 308 309 // define mars1 -- 01.PP.0030 sample 310 311 density = 3*g/cm3; 312 313 elements.push_back("Fe"); fractionMass.push_back(0.100916); 314 elements.push_back("Ti"); fractionMass.push_back(0.0186804); 315 elements.push_back("Ca"); fractionMass.push_back(0.0404091); 316 elements.push_back("Si"); fractionMass.push_back(0.196378); 317 elements.push_back("Al"); fractionMass.push_back(0.103282); 318 elements.push_back("Mg"); fractionMass.push_back(0.0241622); 319 elements.push_back("Mn"); fractionMass.push_back(0.00184331); 320 elements.push_back("Na"); fractionMass.push_back(0.0177908); 321 elements.push_back("K"); fractionMass.push_back(0.00574498); 322 elements.push_back("P"); fractionMass.push_back(0.00280169); 323 elements.push_back("O"); fractionMass.push_back(0.48799152); 324 325 326 G4Material* mars1Main = nistMan->ConstructNewMaterial("Mars1 Main components", elements, fractionMass, density); 327 328 elements.clear(); 329 fractionMass.clear(); 330 331 elements.push_back("Nb"); natoms.push_back(55); 332 elements.push_back("Zr"); natoms.push_back(433); 333 elements.push_back("Y"); natoms.push_back(58); 334 elements.push_back("Sr"); natoms.push_back(968); 335 elements.push_back("Rb"); natoms.push_back(16); 336 elements.push_back("Ga"); natoms.push_back(24); 337 elements.push_back("Zn"); natoms.push_back(109); 338 elements.push_back("Ni"); natoms.push_back(70); 339 elements.push_back("Sc"); natoms.push_back(21); 340 elements.push_back("V"); natoms.push_back(134); 341 elements.push_back("Cr"); natoms.push_back(141); 342 elements.push_back("Co"); natoms.push_back(30); 343 elements.push_back("Cu"); natoms.push_back(19); 344 elements.push_back("Ba"); natoms.push_back(580); 345 elements.push_back("Pb"); natoms.push_back(4); 346 elements.push_back("S"); natoms.push_back(444); 347 elements.push_back("U"); natoms.push_back(2); 348 349 density = 3*g/cm3; 350 G4Material* tracesOfMars1 = nistMan->ConstructNewMaterial("TracesOfMars1", elements, natoms, density); 351 352 elements.clear(); 353 natoms.clear(); 354 355 density = 3*g/cm3; 356 mars1 = new G4Material("Mars1", density, 2); 357 mars1->AddMaterial(tracesOfMars1, 0.0044963163); 358 mars1->AddMaterial(mars1Main, 0.9955036837); 359 360 ///////////////////////////////// 361 // Hawaiian -- WD coposition // 362 ///////////////////////////////// 363 364 density = 3*g/cm3; 365 366 elements.push_back("Fe"); fractionMass.push_back(1.1819860E-01); 367 elements.push_back("Ti"); fractionMass.push_back(2.2781000E-02); 368 elements.push_back("Ca"); fractionMass.push_back(4.5026100E-02); 369 elements.push_back("Si"); fractionMass.push_back(2.0518860E-01); 370 elements.push_back("Al"); fractionMass.push_back(1.3285430E-01); 371 elements.push_back("Mg"); fractionMass.push_back(2.4120000E-03); 372 elements.push_back("Na"); fractionMass.push_back(2.2257000E-02); 373 elements.push_back("K"); fractionMass.push_back(4.9812000E-03); 374 elements.push_back("O"); fractionMass.push_back(4.4630120E-01); 375 376 hawaiianWD = nistMan->ConstructNewMaterial("HawaiianWD", elements, fractionMass, density); 377 378 elements.clear(); 379 fractionMass.clear(); 380 381 ////////////////////////////////// 382 // Hawaiian -- RF composition // 383 ////////////////////////////////// 384 385 density = 3*g/cm3; 386 387 388 elements.push_back("Fe"); fractionMass.push_back(1.1120460E-01); 389 elements.push_back("Ti"); fractionMass.push_back(2.1582000E-02); 390 elements.push_back("Ca"); fractionMass.push_back(4.3596700E-02); 391 elements.push_back("Si"); fractionMass.push_back(2.1313440E-01); 392 elements.push_back("Al"); fractionMass.push_back(1.0374280E-01); 393 elements.push_back("Mg"); fractionMass.push_back(1.9296000E-02); 394 elements.push_back("Na"); fractionMass.push_back(2.8192200E-02); 395 elements.push_back("K"); fractionMass.push_back(5.8114000E-03); 396 elements.push_back("P"); fractionMass.push_back(4.8004000E-03); 397 elements.push_back("Mn"); fractionMass.push_back(2.3235000E-03); 398 elements.push_back("O"); fractionMass.push_back(4.4531600E-01); 399 400 hawaiianRF = nistMan->ConstructNewMaterial("HawaiianRF", elements, fractionMass, density); 401 402 elements.clear(); 403 fractionMass.clear(); 404 405 ////////////////////////////////// 406 // Icelandic -- WD composition // 407 ////////////////////////////////// 408 409 density = 3*g/cm3; 410 411 412 elements.push_back("Si"); fractionMass.push_back(2.2949340E-01); 413 elements.push_back("Ti"); fractionMass.push_back(1.1990000E-02); 414 elements.push_back("Al"); fractionMass.push_back(7.0396900E-02); 415 elements.push_back("Fe"); fractionMass.push_back(1.1330280E-01); 416 elements.push_back("Mg"); fractionMass.push_back(3.4974000E-02); 417 elements.push_back("Ca"); fractionMass.push_back(7.5758200E-02); 418 elements.push_back("Na"); fractionMass.push_back(1.8547500E-02); 419 elements.push_back("K"); fractionMass.push_back(3.3208000E-03); 420 elements.push_back("O"); fractionMass.push_back(4.4121640E-01); 421 422 icelandicWD = nistMan->ConstructNewMaterial("IcelandicWD", elements, fractionMass, density); 423 424 elements.clear(); 425 fractionMass.clear(); 426 427 428 ////////////////////////////////// 429 // Icelandic -- RF composition // 430 ////////////////////////////////// 431 432 density = 3*g/cm3; 433 434 435 elements.push_back("Si"); fractionMass.push_back(2.4304800E-01); 436 elements.push_back("Ti"); fractionMass.push_back(1.3788500E-02); 437 elements.push_back("Al"); fractionMass.push_back(6.5103900E-02); 438 elements.push_back("Fe"); fractionMass.push_back(1.1819860E-01); 439 elements.push_back("Mn"); fractionMass.push_back(2.3235000E-03); 440 elements.push_back("Mg"); fractionMass.push_back(2.3517000E-02); 441 elements.push_back("Ca"); fractionMass.push_back(8.2190500E-02); 442 elements.push_back("K"); fractionMass.push_back(3.3208000E-03); 443 elements.push_back("P"); fractionMass.push_back(1.3092000E-03); 444 elements.push_back("O"); fractionMass.push_back(4.4620000E-01); 445 446 icelandicRF = nistMan->ConstructNewMaterial("IcelandicRF", elements, fractionMass, density); 447 448 elements.clear(); 449 fractionMass.clear(); 450 451 ////////////////////////////////// 452 // Gabbro -- WD composition // 453 ////////////////////////////////// 454 455 density = 3*g/cm3; 456 457 elements.push_back("Si"); fractionMass.push_back(1.8696000E-01); 458 elements.push_back("Ti"); fractionMass.push_back(2.3380500E-02); 459 elements.push_back("Al"); fractionMass.push_back(4.6049100E-02); 460 elements.push_back("Fe"); fractionMass.push_back(1.2239500E-01); 461 elements.push_back("Mg"); fractionMass.push_back(8.3817000E-02); 462 elements.push_back("Ca"); fractionMass.push_back(1.0720500E-01); 463 elements.push_back("Na"); fractionMass.push_back(5.9352000E-03); 464 elements.push_back("K"); fractionMass.push_back(1.6604000E-03); 465 elements.push_back("O"); fractionMass.push_back(4.2259780E-01); 466 467 gabbroWD = nistMan->ConstructNewMaterial("GabbroWD", elements, fractionMass, density); 468 469 elements.clear(); 470 fractionMass.clear(); 471 472 ////////////////////////////////// 473 // Gabbro -- RF composition // 474 ////////////////////////////////// 475 476 density = 3*g/cm3; 477 478 479 elements.push_back("Si"); fractionMass.push_back(1.6826400E-01); 480 elements.push_back("Ti"); fractionMass.push_back(2.2781000E-02); 481 elements.push_back("Al"); fractionMass.push_back(5.8223000E-02); 482 elements.push_back("Fe"); fractionMass.push_back(1.2729080E-01); 483 elements.push_back("Mn"); fractionMass.push_back(1.5490000E-03); 484 elements.push_back("Mg"); fractionMass.push_back(8.3817000E-02); 485 elements.push_back("Ca"); fractionMass.push_back(1.1721080E-01); 486 elements.push_back("Na"); fractionMass.push_back(0.0000000E+00); 487 elements.push_back("K"); fractionMass.push_back(1.6604000E-03); 488 elements.push_back("P"); fractionMass.push_back(1.7456000E-03); 489 elements.push_back("O"); fractionMass.push_back(4.1845840E-01); 490 491 gabbroRF = nistMan->ConstructNewMaterial("GabbroRF", elements, fractionMass, density); 492 493 elements.clear(); 494 fractionMass.clear(); 495 496 497 /////////////////////// 498 // Anorthosite // 499 /////////////////////// 500 501 502 density = 2.8*g/cm3; 503 504 elements.push_back("Fe"); fractionMass.push_back(0.095283); 505 elements.push_back("Mn"); fractionMass.push_back(0.00137086); 506 elements.push_back("Ni"); fractionMass.push_back(5e-5); 507 elements.push_back("Cu"); fractionMass.push_back(5.2e-4); 508 elements.push_back("Na"); fractionMass.push_back(0.017635); 509 elements.push_back("Mg"); fractionMass.push_back(0.0245361); 510 elements.push_back("Al"); fractionMass.push_back(0.0800355); 511 elements.push_back("Si"); fractionMass.push_back(0.232204); 512 elements.push_back("Ca"); fractionMass.push_back(0.0635368); 513 elements.push_back("K"); fractionMass.push_back(0.00464912); 514 elements.push_back("C"); fractionMass.push_back(0.000837803); 515 elements.push_back("P"); fractionMass.push_back(0.00176742); 516 elements.push_back("Ti"); fractionMass.push_back(0.0240879); 517 elements.push_back("Cl"); fractionMass.push_back(0.00014); 518 elements.push_back("Pd"); fractionMass.push_back(0.00001); 519 elements.push_back("Cd"); fractionMass.push_back(0.00018); 520 elements.push_back("Ag"); fractionMass.push_back(0.00048); 521 elements.push_back("S"); fractionMass.push_back(0.00144); 522 elements.push_back("V"); fractionMass.push_back(0.00228); 523 elements.push_back("Ba"); fractionMass.push_back(0.00151); 524 elements.push_back("O"); fractionMass.push_back(0.447026); 525 526 anorthosite = nistMan->ConstructNewMaterial("Anorthosite", elements, fractionMass, density); 527 528 elements.clear(); 529 fractionMass.clear(); 530 531 //////////////////////////////////////// 532 // Gabbro 0059.PP.0048 // 533 //////////////////////////////////////// 534 535 536 density = 3.0*g/cm3; 537 538 elements.push_back("Si"); fractionMass.push_back(1.8284688E-01); 539 elements.push_back("Ti"); fractionMass.push_back(2.2601150E-02); 540 elements.push_back("Al"); fractionMass.push_back(4.4831710E-02); 541 elements.push_back("Fe"); fractionMass.push_back(1.2578402E-01); 542 elements.push_back("Mn"); fractionMass.push_back(1.3166500E-03); 543 elements.push_back("Mg"); fractionMass.push_back(8.1706500E-02); 544 elements.push_back("Ca"); fractionMass.push_back(1.0506090E-01); 545 elements.push_back("Na"); fractionMass.push_back(5.4900600E-03); 546 elements.push_back("K"); fractionMass.push_back(1.4943600E-03); 547 elements.push_back("P"); fractionMass.push_back(3.4912000E-04); 548 elements.push_back("O"); fractionMass.push_back(4.0651865E-01); 549 550 gabbro = nistMan->ConstructNewMaterial("Gabbro", elements, fractionMass, density); 551 552 elements.clear(); 553 fractionMass.clear(); 554 555 //define gallium arsenide 556 557 elements.push_back("Ga"); natoms.push_back(1); 558 elements.push_back("As"); natoms.push_back(1); 559 560 density = 5.32 * g/cm3; 561 GaAs = nistMan->ConstructNewMaterial("gallium arsenide", elements, natoms, density); 562 563 elements.clear(); 564 natoms.clear(); 565 566 /* 567 // define germanium 568 569 density = 5.32 * g/cm3; 570 571 elements.push_back("Ge"); natoms.push_back(1); 572 573 G4cout << elements[1] <<", "<<natoms[1] <<", " << elements.size() << ", " << natoms.size() << G4endl; 574 575 576 HPGe = nistMan->ConstructNewMaterial("High Purity Germanium",elements, natoms, density); 577 578 elements.clear(); 579 natoms.clear(); 580 */ 581 //define scintillator 582 583 elements.push_back("C"); natoms.push_back(9); 584 elements.push_back("H"); natoms.push_back(10); 585 586 density = 1.032*g/cm3; 587 Sci = nistMan->ConstructNewMaterial("Scintillator", elements, natoms, density); 588 589 elements.clear(); 590 natoms.clear(); 591 592 //define vacuum 593 594 density = universe_mean_density; //from PhysicalConstants.h 595 G4double pressure = 3.e-18*pascal; 596 G4double temperature = 2.73*kelvin; 597 Vacuum = new G4Material("Galactic", 1., 1.01*g/mole, density, 598 kStateGas,temperature,pressure); 599 600 elements.clear(); 601 natoms.clear(); 602 603 //define basalt 604 density = 3.*g/cm3; 605 606 elements.push_back("Fe"); fractionMass.push_back(0.1200); 607 elements.push_back("Ti"); fractionMass.push_back(0.0160); 608 elements.push_back("Ca"); fractionMass.push_back(0.0750); 609 elements.push_back("Si"); fractionMass.push_back(0.2160); 610 elements.push_back("Al"); fractionMass.push_back(0.0710); 611 elements.push_back("Mg"); fractionMass.push_back(0.0590); 612 elements.push_back("O"); fractionMass.push_back(0.4430); 613 614 basalt = nistMan->ConstructNewMaterial("Basalt", elements, fractionMass, density); 615 616 elements.clear(); 617 fractionMass.clear(); 618 619 620 // define silicon 621 622 density = 2330*kg/m3; 623 624 // workaround for a problem in nistMan: it doesn't like material with a single element. 625 626 elements.push_back("Si"); natoms.push_back(1); 627 elements.push_back("Si"); natoms.push_back(1); 628 629 SiLi = nistMan->ConstructNewMaterial("SiLi",elements, natoms, density); 630 631 elements.clear(); 632 natoms.clear(); 633 634 635 // define copper 636 637 density = 8920*kg/m3; 638 639 // workaround for a problem in nistMan: it doesn't like material with a single element. 640 elements.push_back("Cu"); natoms.push_back(1); 641 elements.push_back("Cu"); natoms.push_back(1); 642 643 copper = nistMan->ConstructNewMaterial("Cu",elements, natoms, density); 644 645 elements.clear(); 646 natoms.clear(); 647 /* 648 // define nikel 649 650 density = 8908*kg/m3; 651 652 // workaround for a problem in nistMan: it doesn't like material with a single element. 653 elements.push_back("Ni"); natoms.push_back(1); 654 elements.push_back("Ni"); natoms.push_back(1); 655 656 nickel = nistMan->ConstructNewMaterial("Nickel",elements, natoms, density); 657 */ 658 elements.clear(); 659 natoms.clear(); 660 661 662 663 G4cout << *(G4Material::GetMaterialTable()) << G4endl; 664 } 665 666