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