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