source: trunk/examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc@ 1292

Last change on this file since 1292 was 1230, checked in by garnier, 16 years ago

update to geant4.9.3

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