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 9.2.p2)


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