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 11.0)


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