MollerMaterial.cc

Go to the documentation of this file.
00001 #include "MollerMaterial.hh"
00002 
00003 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00004 
00005 void MollerMaterial::DefineMaterials()
00006 {
00007   G4cout << G4endl << "###### Calling MollerMaterial::DefineMaterials() " << G4endl << G4endl;
00008 
00009   // Define required materials
00010 
00011   G4double a;
00012   G4double z;
00013   G4double density;
00014   G4double temp = 20.27*kelvin;
00015   G4int natoms;
00016   G4int nComponents;
00017   G4String symbol;
00018   G4double fractionmass;
00019 
00020   G4Element* elH  = fNistManager->FindOrBuildElement("H");
00021   G4Element* elHe = fNistManager->FindOrBuildElement("He");
00022   G4Element* elBe = fNistManager->FindOrBuildElement("Be");
00023   G4Element* elB  = fNistManager->FindOrBuildElement("B");
00024   G4Element* elC  = fNistManager->FindOrBuildElement("C");
00025   G4Element* elN  = fNistManager->FindOrBuildElement("N");
00026   G4Element* elO  = fNistManager->FindOrBuildElement("O");
00027   G4Element* elF  = fNistManager->FindOrBuildElement("F");
00028   G4Element* elNa = fNistManager->FindOrBuildElement("Na");
00029   G4Element* elMg = fNistManager->FindOrBuildElement("Mg");
00030   G4Element* elAl = fNistManager->FindOrBuildElement("Al");
00031   G4Element* elSi = fNistManager->FindOrBuildElement("Si");
00032   G4Element* elCl = fNistManager->FindOrBuildElement("Cl");
00033   G4Element* elAr = fNistManager->FindOrBuildElement("Ar");
00034   G4Element* elK  = fNistManager->FindOrBuildElement("K");
00035   G4Element* elCa = fNistManager->FindOrBuildElement("Ca");
00036   G4Element* elFe = fNistManager->FindOrBuildElement("Fe");
00037   G4Element* elNi = fNistManager->FindOrBuildElement("Ni");
00038   G4Element* elMn = fNistManager->FindOrBuildElement("Mn");
00039   G4Element* elCr = fNistManager->FindOrBuildElement("Cr");
00040   G4Element* elXe = fNistManager->FindOrBuildElement("Xe");
00041   G4Element* elSb = fNistManager->FindOrBuildElement("Sb");
00042   G4Element* elPb = fNistManager->FindOrBuildElement("Pb");
00043   
00044   //-----VACUUM------//
00045 
00046   G4Material* Vacuum = new G4Material("Vacuum", z=1., a=1.01*g/mole,
00047         density= universe_mean_density, 
00048         kStateGas, 2.73*kelvin, 3.e-18*pascal);
00049   
00050   //-----Carbon------//
00051   G4Material* Carbon = new G4Material("Carbon", z= 6., a= 12.01*g/mole,
00052         density= 2.265*g/cm3);
00053 
00054   //-----Aluminum------//
00055   G4Material* Al = new G4Material("Aluminum", z= 13., a= 26.98*g/mole,
00056           density= 2.7*g/cm3);
00057           
00058   //-----Copper------//
00059   G4Material* Copper = new G4Material("Copper", z= 11., a= 63.54*g/mole,
00060         density= 8.96*g/cm3);
00061 
00062   //-----Lead------//
00063   G4Material* Pb = new G4Material("Lead", z= 82., a= 207.19*g/mole, 
00064           density= 11.35*g/cm3);
00065   
00066   //-----Tungsten----//
00067   G4Material* Tungsten = new G4Material("Tungsten", z= 74., a= 183.85*g/mole,
00068           density= 19.3*g/cm3);
00069   
00070   //-----Iron-----//
00071   G4Material* Iron = new G4Material("Iron", z= 26., a= 55.85*g/mole,
00072       density= 7.87*g/cm3);
00073   
00074   //-----Liquid Hydrogen---//
00075   G4Element* H  = new G4Element("Hydrogen", symbol="H", 
00076          z= 1., a= 1.00794*g/mole);
00077   
00078   G4Material* LH2 = new G4Material("H2Liquid", density= 0.0708*g/cm3, 
00079             nComponents=1, kStateLiquid, temp);
00080 
00081   LH2->AddElement(elH, natoms=1);
00082 
00083   // ShieldingConcrete
00084   G4Material* matConcrete = new G4Material("ShieldingConcrete",density=2.7*g/cm3,nComponents=6);
00085   matConcrete -> AddElement(elO,  fractionmass = 0.509);
00086   matConcrete -> AddElement(elSi, fractionmass = 0.345);
00087   matConcrete -> AddElement(elCa, fractionmass = 0.070);
00088   matConcrete -> AddElement(elH, fractionmass = 0.004);
00089   matConcrete -> AddElement(elFe, fractionmass = 0.038);
00090   matConcrete -> AddElement(elAl, fractionmass = 0.034);
00091   matConcrete -> GetIonisation() -> SetMeanExcitationEnergy(135.2*eV);
00092 
00093   // Print materials defined.
00094   //G4cout << G4endl << "The materials defined are : " << G4endl << G4endl;
00095   //G4cout << *(G4Material::GetMaterialTable()) << G4endl;
00096 
00097   G4cout << G4endl << "###### Leaving MollerMaterial::DefineMaterials() " << G4endl << G4endl;
00098 
00099 }

Generated on 16 Jun 2013 for mollersim by  doxygen 1.6.1