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 ]

Diff markup

Differences between /examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc (Version 11.3.0) and /examples/advanced/xray_fluorescence/src/XrayFluoNistMaterials.cc (Version 7.0)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 //                                                
 27 //                                                
 28 // Author: Alfonso Mantero (Alfonso.Mantero@ge    
 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::    
 72                                                   
 73 XrayFluoNistMaterials* XrayFluoNistMaterials::    
 74 {                                                 
 75   if (instance == 0)                              
 76     {                                             
 77       instance = new XrayFluoNistMaterials;       
 78                                                   
 79     }                                             
 80   return instance;                                
 81 }                                                 
 82                                                   
 83 G4Material* XrayFluoNistMaterials::GetMaterial    
 84 {                                                 
 85                                                   
 86   //instancing G4NistManager                      
 87   nistMan = G4NistManager::Instance();            
 88   nistMan->SetVerbose(0);                         
 89                                                   
 90   //If not available at NIST, look for the loc    
 91   G4Material* mat =  nistMan->FindOrBuildMater    
 92   if (!mat) {                                     
 93     mat = G4Material::GetMaterial(material);      
 94   }                                               
 95   if (!mat) {G4cout << material << "Not Found,    
 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     
122   density = 3*g/cm3;                              
123   elements.push_back("Si");  fractionMass.push    
124   elements.push_back("Ti");  fractionMass.push    
125   elements.push_back("Al");  fractionMass.push    
126   elements.push_back("Fe");  fractionMass.push    
127   elements.push_back("Mn");  fractionMass.push    
128   elements.push_back("Mg");  fractionMass.push    
129   elements.push_back("Ca");  fractionMass.push    
130   elements.push_back("Na");  fractionMass.push    
131   elements.push_back("K");   fractionMass.push    
132   elements.push_back("P");   fractionMass.push    
133   elements.push_back("O");   fractionMass.push    
134                                                   
135    // sum is 0.04434383 total number of moles     
136   // 2.248766e8 g per 10.000.000 moles.           
137                                                   
138   G4Material* madaBasaltMain= nistMan->Constru    
139   elements.clear();                               
140   fractionMass.clear();                           
141                                                   
142 // Define Madagascar Basalt traces components     
143   density = 3*g/cm3;                              
144                                                   
145                                                   
146   elements.push_back("Ti");  natoms.push_back(    
147   elements.push_back("Ba");  natoms.push_back(    
148   elements.push_back("Ce");  natoms.push_back(    
149   elements.push_back("Co");  natoms.push_back(    
150   elements.push_back("Cr");  natoms.push_back(    
151   elements.push_back("La");  natoms.push_back(    
152   elements.push_back("Nb");  natoms.push_back(    
153   elements.push_back("Nd");  natoms.push_back(    
154   elements.push_back("Ni");  natoms.push_back(    
155   elements.push_back("Rb");  natoms.push_back(    
156   elements.push_back("Sc");  natoms.push_back(    
157   elements.push_back("Sr");  natoms.push_back(    
158   elements.push_back("V");   natoms.push_back(    
159   elements.push_back("Y");   natoms.push_back(    
160   elements.push_back("Zn");  natoms.push_back(    
161   elements.push_back("Th");  natoms.push_back(    
162   elements.push_back("Sm");  natoms.push_back(    
163   elements.push_back("Eu");  natoms.push_back(    
164   elements.push_back("Gd");  natoms.push_back(    
165   elements.push_back("Tb");  natoms.push_back(    
166   elements.push_back("Yb");  natoms.push_back(    
167   elements.push_back("Lu");  natoms.push_back(    
168   elements.push_back("Ta");  natoms.push_back(    
169   elements.push_back("Hf");  natoms.push_back(    
170                                                   
171   //tot 28114/10e7  weight: 2335253.28 g per 1    
172                                                   
173   G4Material* madaBasaltTraces= nistMan->Const    
174   elements.clear();                               
175   natoms.clear();                                 
176                                                   
177   // Define Madacagascar Basalt complete mater    
178   density = 3*g/cm3;                              
179                                                   
180   madaBasalt= new G4Material("MadaBasalt", den    
181   madaBasalt->AddMaterial(madaBasaltMain,    0    
182   madaBasalt->AddMaterial(madaBasaltTraces,  0    
183                                                   
184                                                   
185                                                   
186   ///////////////////////////////////////////     
187   // Iceland    Basalt 0029.PP.0035 sample //     
188   ///////////////////////////////////////////     
189                                                   
190   elements.push_back("Si");  fractionMass.push    
191   elements.push_back("Ti");  fractionMass.push    
192   elements.push_back("Al");  fractionMass.push    
193   elements.push_back("Fe");  fractionMass.push    
194   elements.push_back("Mn");  fractionMass.push    
195   elements.push_back("Mg");  fractionMass.push    
196   elements.push_back("Ca");  fractionMass.push    
197   elements.push_back("Na");  fractionMass.push    
198   elements.push_back("K");   fractionMass.push    
199   elements.push_back("P");   fractionMass.push    
200   elements.push_back("S");   fractionMass.push    
201   elements.push_back("O");   fractionMass.push    
202                                                   
203    // Define Icelandic Basalt main components     
204   density = 3*g/cm3;                              
205   G4Material* icelandicBasaltMain= nistMan->Co    
206   elements.clear();                               
207   fractionMass.clear();                           
208                                                   
209   // Define Icelandic Basalt traces components    
210   density = 3*g/cm3;                              
211                                                   
212   elements.push_back("Ba");  natoms.push_back(    
213   elements.push_back("Ce");  natoms.push_back(    
214   elements.push_back("Co");  natoms.push_back(    
215   elements.push_back("Cr");  natoms.push_back(    
216   elements.push_back("Cu");  natoms.push_back(    
217   elements.push_back("Ga");  natoms.push_back(    
218   elements.push_back("La");  natoms.push_back(    
219   elements.push_back("Mo");  natoms.push_back(    
220   elements.push_back("Nb");  natoms.push_back(    
221   elements.push_back("Nd");  natoms.push_back(    
222   elements.push_back("Ni");  natoms.push_back(    
223   elements.push_back("Rb");  natoms.push_back(    
224   elements.push_back("S");   natoms.push_back(    
225   elements.push_back("Sc");  natoms.push_back(    
226   elements.push_back("Sr");  natoms.push_back(    
227   elements.push_back("U");   natoms.push_back(    
228   elements.push_back("V");   natoms.push_back(    
229   elements.push_back("Y");   natoms.push_back(    
230   elements.push_back("Zn");  natoms.push_back(    
231   elements.push_back("Zr");  natoms.push_back(    
232                                                   
233   G4Material* icelandicBasaltTraces= nistMan->    
234                                                   
235   elements.clear();                               
236   natoms.clear();                                 
237                                                   
238   // Define Icelandic Basalt complete material    
239   density = 3*g/cm3;                              
240   icelandicBasalt= new G4Material("IceBasalt",    
241   icelandicBasalt->AddMaterial(icelandicBasalt    
242   icelandicBasalt->AddMaterial(icelandicBasalt    
243                                                   
244                                                   
245   ///////////////////////                         
246   //    Dolorite       //                         
247   ///////////////////////                         
248                                                   
249   // Define dolorite main components 0055.PP.0    
250                                                   
251   density = 3*g/cm3;                              
252                                                   
253   elements.push_back("Fe");    fractionMass.pu    
254   elements.push_back("Ti");    fractionMass.pu    
255   elements.push_back("Ca");    fractionMass.pu    
256   elements.push_back("Si");    fractionMass.pu    
257   elements.push_back("Al");    fractionMass.pu    
258   elements.push_back("Mg");    fractionMass.pu    
259   elements.push_back("O");     fractionMass.pu    
260   elements.push_back("Mn");    fractionMass.pu    
261   elements.push_back("Na");    fractionMass.pu    
262   elements.push_back("K");     fractionMass.pu    
263   elements.push_back("P");     fractionMass.pu    
264                                                   
265                                                   
266   G4Material* doloriteMain = nistMan->Construc    
267                                                   
268   elements.clear();                               
269   fractionMass.clear();                           
270                                                   
271   // define traces in dolorite 0055.PP.0038 sa    
272                                                   
273   density = 3*g/cm3;                              
274                                                   
275   elements.push_back("Nb");    natoms.push_bac    
276   elements.push_back("Zr");    natoms.push_bac    
277   elements.push_back("Y");     natoms.push_bac    
278   elements.push_back("Sr");    natoms.push_bac    
279   elements.push_back("Rb");    natoms.push_bac    
280   elements.push_back("Ga");    natoms.push_bac    
281   elements.push_back("Zn");    natoms.push_bac    
282   elements.push_back("Ni");    natoms.push_bac    
283   elements.push_back("Sc");    natoms.push_bac    
284   elements.push_back("V");     natoms.push_bac    
285   elements.push_back("Cr");    natoms.push_bac    
286   elements.push_back("Co");    natoms.push_bac    
287   elements.push_back("Cu");    natoms.push_bac    
288   elements.push_back("Ba");    natoms.push_bac    
289   elements.push_back("Ce");    natoms.push_bac    
290   elements.push_back("Nd");    natoms.push_bac    
291                                                   
292   G4Material* tracesOfDolorite= nistMan->Const    
293                                                   
294   elements.clear();                               
295   natoms.clear();                                 
296                                                   
297   // define dolorite (full) --  0055.PP.0038 s    
298                                                   
299   density = 3*g/cm3;                              
300   dolorite = new G4Material("Dolorite", densit    
301   dolorite->AddMaterial(tracesOfDolorite, 0.00    
302   dolorite->AddMaterial(doloriteMain, 0.997215    
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.pu    
314   elements.push_back("Ti");    fractionMass.pu    
315   elements.push_back("Ca");    fractionMass.pu    
316   elements.push_back("Si");    fractionMass.pu    
317   elements.push_back("Al");    fractionMass.pu    
318   elements.push_back("Mg");    fractionMass.pu    
319   elements.push_back("Mn");    fractionMass.pu    
320   elements.push_back("Na");    fractionMass.pu    
321   elements.push_back("K");     fractionMass.pu    
322   elements.push_back("P");     fractionMass.pu    
323   elements.push_back("O");     fractionMass.pu    
324                                                   
325                                                   
326   G4Material* mars1Main = nistMan->ConstructNe    
327                                                   
328   elements.clear();                               
329   fractionMass.clear();                           
330                                                   
331   elements.push_back("Nb");    natoms.push_bac    
332   elements.push_back("Zr");    natoms.push_bac    
333   elements.push_back("Y");     natoms.push_bac    
334   elements.push_back("Sr");    natoms.push_bac    
335   elements.push_back("Rb");    natoms.push_bac    
336   elements.push_back("Ga");    natoms.push_bac    
337   elements.push_back("Zn");    natoms.push_bac    
338   elements.push_back("Ni");    natoms.push_bac    
339   elements.push_back("Sc");    natoms.push_bac    
340   elements.push_back("V");     natoms.push_bac    
341   elements.push_back("Cr");    natoms.push_bac    
342   elements.push_back("Co");    natoms.push_bac    
343   elements.push_back("Cu");    natoms.push_bac    
344   elements.push_back("Ba");    natoms.push_bac    
345   elements.push_back("Pb");    natoms.push_bac    
346   elements.push_back("S");     natoms.push_bac    
347   elements.push_back("U");     natoms.push_bac    
348                                                   
349   density = 3*g/cm3;                              
350   G4Material* tracesOfMars1 = nistMan->Constru    
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.00449631    
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.pu    
367   elements.push_back("Ti");    fractionMass.pu    
368   elements.push_back("Ca");    fractionMass.pu    
369   elements.push_back("Si");    fractionMass.pu    
370   elements.push_back("Al");    fractionMass.pu    
371   elements.push_back("Mg");    fractionMass.pu    
372   elements.push_back("Na");    fractionMass.pu    
373   elements.push_back("K");     fractionMass.pu    
374   elements.push_back("O");     fractionMass.pu    
375                                                   
376   hawaiianWD = nistMan->ConstructNewMaterial("    
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.pu    
389   elements.push_back("Ti");    fractionMass.pu    
390   elements.push_back("Ca");    fractionMass.pu    
391   elements.push_back("Si");    fractionMass.pu    
392   elements.push_back("Al");    fractionMass.pu    
393   elements.push_back("Mg");    fractionMass.pu    
394   elements.push_back("Na");    fractionMass.pu    
395   elements.push_back("K");     fractionMass.pu    
396   elements.push_back("P");     fractionMass.pu    
397   elements.push_back("Mn");    fractionMass.pu    
398   elements.push_back("O");     fractionMass.pu    
399                                                   
400   hawaiianRF = nistMan->ConstructNewMaterial("    
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.pu    
413   elements.push_back("Ti");    fractionMass.pu    
414   elements.push_back("Al");    fractionMass.pu    
415   elements.push_back("Fe");    fractionMass.pu    
416   elements.push_back("Mg");    fractionMass.pu    
417   elements.push_back("Ca");    fractionMass.pu    
418   elements.push_back("Na");    fractionMass.pu    
419   elements.push_back("K");     fractionMass.pu    
420   elements.push_back("O");     fractionMass.pu    
421                                                   
422   icelandicWD = nistMan->ConstructNewMaterial(    
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.pu    
436   elements.push_back("Ti");    fractionMass.pu    
437   elements.push_back("Al");    fractionMass.pu    
438   elements.push_back("Fe");    fractionMass.pu    
439   elements.push_back("Mn");    fractionMass.pu    
440   elements.push_back("Mg");    fractionMass.pu    
441   elements.push_back("Ca");    fractionMass.pu    
442   elements.push_back("K");     fractionMass.pu    
443   elements.push_back("P");     fractionMass.pu    
444   elements.push_back("O");     fractionMass.pu    
445                                                   
446   icelandicRF = nistMan->ConstructNewMaterial(    
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.pu    
458   elements.push_back("Ti");    fractionMass.pu    
459   elements.push_back("Al");    fractionMass.pu    
460   elements.push_back("Fe");    fractionMass.pu    
461   elements.push_back("Mg");    fractionMass.pu    
462   elements.push_back("Ca");    fractionMass.pu    
463   elements.push_back("Na");    fractionMass.pu    
464   elements.push_back("K");     fractionMass.pu    
465   elements.push_back("O");     fractionMass.pu    
466                                                   
467   gabbroWD = nistMan->ConstructNewMaterial("Ga    
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.pu    
480   elements.push_back("Ti");    fractionMass.pu    
481   elements.push_back("Al");    fractionMass.pu    
482   elements.push_back("Fe");    fractionMass.pu    
483   elements.push_back("Mn");    fractionMass.pu    
484   elements.push_back("Mg");    fractionMass.pu    
485   elements.push_back("Ca");    fractionMass.pu    
486   elements.push_back("Na");    fractionMass.pu    
487   elements.push_back("K");     fractionMass.pu    
488   elements.push_back("P");     fractionMass.pu    
489   elements.push_back("O");     fractionMass.pu    
490                                                   
491   gabbroRF = nistMan->ConstructNewMaterial("Ga    
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.pu    
505   elements.push_back("Mn");    fractionMass.pu    
506   elements.push_back("Ni");    fractionMass.pu    
507   elements.push_back("Cu");    fractionMass.pu    
508   elements.push_back("Na");    fractionMass.pu    
509   elements.push_back("Mg");    fractionMass.pu    
510   elements.push_back("Al");    fractionMass.pu    
511   elements.push_back("Si");    fractionMass.pu    
512   elements.push_back("Ca");    fractionMass.pu    
513   elements.push_back("K");     fractionMass.pu    
514   elements.push_back("C");     fractionMass.pu    
515   elements.push_back("P");     fractionMass.pu    
516   elements.push_back("Ti");    fractionMass.pu    
517   elements.push_back("Cl");    fractionMass.pu    
518   elements.push_back("Pd");    fractionMass.pu    
519   elements.push_back("Cd");    fractionMass.pu    
520   elements.push_back("Ag");    fractionMass.pu    
521   elements.push_back("S");     fractionMass.pu    
522   elements.push_back("V");     fractionMass.pu    
523   elements.push_back("Ba");    fractionMass.pu    
524   elements.push_back("O");     fractionMass.pu    
525                                                   
526   anorthosite = nistMan->ConstructNewMaterial(    
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.pu    
539   elements.push_back("Ti");    fractionMass.pu    
540   elements.push_back("Al");    fractionMass.pu    
541   elements.push_back("Fe");    fractionMass.pu    
542   elements.push_back("Mn");    fractionMass.pu    
543   elements.push_back("Mg");    fractionMass.pu    
544   elements.push_back("Ca");    fractionMass.pu    
545   elements.push_back("Na");    fractionMass.pu    
546   elements.push_back("K");     fractionMass.pu    
547   elements.push_back("P");     fractionMass.pu    
548   elements.push_back("O");     fractionMass.pu    
549                                                   
550   gabbro = nistMan->ConstructNewMaterial("Gabb    
551                                                   
552   elements.clear();                               
553   fractionMass.clear();                           
554                                                   
555   //define gallium arsenide                       
556                                                   
557   elements.push_back("Ga");     natoms.push_ba    
558   elements.push_back("As");     natoms.push_ba    
559                                                   
560   density = 5.32 * g/cm3;                         
561   GaAs = nistMan->ConstructNewMaterial("galliu    
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_ba    
572                                                   
573   G4cout << elements[1] <<", "<<natoms[1] <<",    
574                                                   
575                                                   
576   HPGe = nistMan->ConstructNewMaterial("High P    
577                                                   
578   elements.clear();                               
579   natoms.clear();                                 
580   */                                              
581   //define scintillator                           
582                                                   
583   elements.push_back("C");     natoms.push_bac    
584   elements.push_back("H");     natoms.push_bac    
585                                                   
586   density = 1.032*g/cm3;                          
587   Sci = nistMan->ConstructNewMaterial("Scintil    
588                                                   
589   elements.clear();                               
590   natoms.clear();                                 
591                                                   
592   //define vacuum                                 
593                                                   
594   density     = universe_mean_density;    //fr    
595   G4double pressure    = 3.e-18*pascal;           
596   G4double temperature = 2.73*kelvin;             
597   Vacuum = new G4Material("Galactic", 1., 1.01    
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.p    
607   elements.push_back("Ti");     fractionMass.p    
608   elements.push_back("Ca");     fractionMass.p    
609   elements.push_back("Si");     fractionMass.p    
610   elements.push_back("Al");     fractionMass.p    
611   elements.push_back("Mg");     fractionMass.p    
612   elements.push_back("O");      fractionMass.p    
613                                                   
614   basalt = nistMan->ConstructNewMaterial("Basa    
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 d    
625                                                   
626   elements.push_back("Si");       natoms.push_    
627   elements.push_back("Si");       natoms.push_    
628                                                   
629   SiLi = nistMan->ConstructNewMaterial("SiLi",    
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 d    
640   elements.push_back("Cu");       natoms.push_    
641   elements.push_back("Cu");       natoms.push_    
642                                                   
643   copper = nistMan->ConstructNewMaterial("Cu",    
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 d    
653   elements.push_back("Ni");       natoms.push_    
654   elements.push_back("Ni");       natoms.push_    
655                                                   
656   nickel = nistMan->ConstructNewMaterial("Nick    
657   */                                              
658   elements.clear();                               
659   natoms.clear();                                 
660                                                   
661                                                   
662                                                   
663   G4cout << *(G4Material::GetMaterialTable())     
664 }                                                 
665                                                   
666