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

Last change on this file since 1321 was 1230, checked in by garnier, 14 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.