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


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