Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

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