Skip to content
Snippets Groups Projects
Commit 3687f2b0 authored by adrien-matta's avatar adrien-matta
Browse files

* Fixing Overlapping volume of sample in MaterialManager

        - The sample volume were not properly offset
* Adding NPS_ to all material name to avoid warning when loading GDML
 file
        - NPS is removed before writting the table
parent 62fbe17b
No related branches found
No related tags found
No related merge requests found
...@@ -90,7 +90,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -90,7 +90,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
if(Name == "Vacuum"){ if(Name == "Vacuum"){
if(!density) if(!density)
density = 0.000000001 * mg / cm3; density = 0.000000001 * mg / cm3;
G4Material* material = new G4Material(Name, density ,2); G4Material* material = new G4Material("NPS_"+Name, density ,2);
material->AddElement(GetElementFromLibrary("N"),7); material->AddElement(GetElementFromLibrary("N"),7);
material->AddElement(GetElementFromLibrary("O"),3); material->AddElement(GetElementFromLibrary("O"),3);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -100,7 +100,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -100,7 +100,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
if(Name == "Air"){ if(Name == "Air"){
if(!density) if(!density)
density = 1.290* mg/cm3; density = 1.290* mg/cm3;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("N"),7); material->AddElement(GetElementFromLibrary("N"),7);
material->AddElement(GetElementFromLibrary("O"),3); material->AddElement(GetElementFromLibrary("O"),3);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -112,7 +112,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -112,7 +112,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
if(!density) if(!density)
density = 1.85 * g / cm3; density = 1.85 * g / cm3;
// Actually taken value fron Epoxy // Actually taken value fron Epoxy
G4Material* material = new G4Material(Name,density,3); G4Material* material = new G4Material("NPS_"+Name,density,3);
material->AddElement(GetElementFromLibrary("H"),.475); material->AddElement(GetElementFromLibrary("H"),.475);
material->AddElement(GetElementFromLibrary("C"),.45); material->AddElement(GetElementFromLibrary("C"),.45);
material->AddElement(GetElementFromLibrary("O"),.075); material->AddElement(GetElementFromLibrary("O"),.075);
...@@ -124,7 +124,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -124,7 +124,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
if(!density) if(!density)
density = 1.2 * g / cm3; density = 1.2 * g / cm3;
// Actually taken value fron Epoxy // Actually taken value fron Epoxy
G4Material* material = new G4Material(Name, density,3); G4Material* material = new G4Material("NPS_"+Name, density,3);
material->AddElement(GetElementFromLibrary("H"),8); material->AddElement(GetElementFromLibrary("H"),8);
material->AddElement(GetElementFromLibrary("C"),5); material->AddElement(GetElementFromLibrary("C"),5);
material->AddElement(GetElementFromLibrary("O"),2); material->AddElement(GetElementFromLibrary("O"),2);
...@@ -135,7 +135,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -135,7 +135,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Mylar"){ else if(Name == "Mylar"){
if(!density) if(!density)
density = 1.397*g/cm3; density = 1.397*g/cm3;
G4Material* material = new G4Material(Name,density ,3); G4Material* material = new G4Material("NPS_"+Name,density ,3);
material->AddElement(GetElementFromLibrary("H"),8); material->AddElement(GetElementFromLibrary("H"),8);
material->AddElement(GetElementFromLibrary("C"),10); material->AddElement(GetElementFromLibrary("C"),10);
material->AddElement(GetElementFromLibrary("O"),4); material->AddElement(GetElementFromLibrary("O"),4);
...@@ -147,7 +147,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -147,7 +147,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Kapton"){ else if(Name == "Kapton"){
if(!density) if(!density)
density = 1.39*g/cm3; density = 1.39*g/cm3;
G4Material* material = new G4Material(Name, density,3); G4Material* material = new G4Material("NPS_"+Name, density,3);
material->AddElement(GetElementFromLibrary("H"),4); material->AddElement(GetElementFromLibrary("H"),4);
material->AddElement(GetElementFromLibrary("C"),10); material->AddElement(GetElementFromLibrary("C"),10);
material->AddElement(GetElementFromLibrary("O"),2); material->AddElement(GetElementFromLibrary("O"),2);
...@@ -158,7 +158,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -158,7 +158,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Kovar"){ else if(Name == "Kovar"){
if(!density) if(!density)
density = 8*g/cm3; density = 8*g/cm3;
G4Material* material = new G4Material(Name, density,5); G4Material* material = new G4Material("NPS_"+Name, density,5);
material->AddElement(GetElementFromLibrary("Ni"),290); material->AddElement(GetElementFromLibrary("Ni"),290);
material->AddElement(GetElementFromLibrary("Co"),170); material->AddElement(GetElementFromLibrary("Co"),170);
material->AddElement(GetElementFromLibrary("Si"),2); material->AddElement(GetElementFromLibrary("Si"),2);
...@@ -172,7 +172,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -172,7 +172,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Havar"){ else if(Name == "Havar"){
if(!density) if(!density)
density = 8.3*g / cm3; density = 8.3*g / cm3;
G4Material* material = new G4Material(Name, density,5); G4Material* material = new G4Material("NPS_"+Name, density,5);
material->AddElement(GetElementFromLibrary("Co"),42); material->AddElement(GetElementFromLibrary("Co"),42);
material->AddElement(GetElementFromLibrary("Cr"),20); material->AddElement(GetElementFromLibrary("Cr"),20);
material->AddElement(GetElementFromLibrary("Ni"),13); material->AddElement(GetElementFromLibrary("Ni"),13);
...@@ -186,7 +186,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -186,7 +186,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "N2_liquid"){ else if(Name == "N2_liquid"){
if(!density) if(!density)
density = 0.808*g/cm3; density = 0.808*g/cm3;
G4Material* material = new G4Material(Name,7,14.01*g/mole,density, G4Material* material = new G4Material("NPS_"+Name,7,14.01*g/mole,density,
kStateLiquid,77*kelvin); kStateLiquid,77*kelvin);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -196,7 +196,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -196,7 +196,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "CD2"){ else if(Name == "CD2"){
if(!density) if(!density)
density =1.06*g/cm3; density =1.06*g/cm3;
G4Material* material = new G4Material(Name, density,2); G4Material* material = new G4Material("NPS_"+Name, density,2);
material->AddElement(GetElementFromLibrary("C"),1); material->AddElement(GetElementFromLibrary("C"),1);
material->AddElement(GetElementFromLibrary("D"),2); material->AddElement(GetElementFromLibrary("D"),2);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -206,7 +206,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -206,7 +206,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "CH2"){ else if(Name == "CH2"){
if(!density) if(!density)
density = 0.93*g/cm3; density = 0.93*g/cm3;
G4Material* material = new G4Material(Name, density,2); G4Material* material = new G4Material("NPS_"+Name, density,2);
material->AddElement(GetElementFromLibrary("C"),1); material->AddElement(GetElementFromLibrary("C"),1);
material->AddElement(GetElementFromLibrary("D"),2); material->AddElement(GetElementFromLibrary("D"),2);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -216,7 +216,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -216,7 +216,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Cu"){ else if(Name == "Cu"){
if(!density) if(!density)
density = 8.96*g/cm3; density = 8.96*g/cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("Cu"),1); material->AddElement(GetElementFromLibrary("Cu"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -225,7 +225,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -225,7 +225,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Au"){ else if(Name == "Au"){
if(!density) if(!density)
density = 19.3*g/cm3; density = 19.3*g/cm3;
G4Material* material = new G4Material(Name,density ,1); G4Material* material = new G4Material("NPS_"+Name,density ,1);
material->AddElement(GetElementFromLibrary("Au"),1); material->AddElement(GetElementFromLibrary("Au"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -234,7 +234,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -234,7 +234,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "C"){ // Graphite else if(Name == "C"){ // Graphite
if(!density) if(!density)
density = 2.267*g/cm3; density = 2.267*g/cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("C"),1); material->AddElement(GetElementFromLibrary("C"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -243,7 +243,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -243,7 +243,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Pb"){ else if(Name == "Pb"){
if(!density) if(!density)
density = 11.342*g / cm3; density = 11.342*g / cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("Pb"),1); material->AddElement(GetElementFromLibrary("Pb"),1);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -253,7 +253,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -253,7 +253,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "D2"){ else if(Name == "D2"){
if(!density) if(!density)
density = 0.0715*g/cm3; density = 0.0715*g/cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("D"),2); material->AddElement(GetElementFromLibrary("D"),2);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -262,7 +262,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -262,7 +262,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "H2"){ else if(Name == "H2"){
if(!density) if(!density)
density = 0.0715*g/cm3; density = 0.0715*g/cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("H"),2); material->AddElement(GetElementFromLibrary("H"),2);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -272,7 +272,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -272,7 +272,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Si"){ else if(Name == "Si"){
if(!density) if(!density)
density = 2.321*g/cm3; density = 2.321*g/cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("Si"),1); material->AddElement(GetElementFromLibrary("Si"),1);
// Adding Optical property: // Adding Optical property:
...@@ -300,7 +300,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -300,7 +300,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Ge"){ else if(Name == "Ge"){
if(!density) if(!density)
density = 5.323*g/cm3; density = 5.323*g/cm3;
G4Material* material = new G4Material(Name, density,1); G4Material* material = new G4Material("NPS_"+Name, density,1);
material->AddElement(GetElementFromLibrary("Ge"),1); material->AddElement(GetElementFromLibrary("Ge"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -309,7 +309,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -309,7 +309,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Boric_Oxyde"){ else if(Name == "Boric_Oxyde"){
if(!density) if(!density)
density = 2.55*g/cm3 ; density = 2.55*g/cm3 ;
G4Material* material = new G4Material(Name, density,2); G4Material* material = new G4Material("NPS_"+Name, density,2);
material->AddElement(GetElementFromLibrary("B"),2); material->AddElement(GetElementFromLibrary("B"),2);
material->AddElement(GetElementFromLibrary("O"),3); material->AddElement(GetElementFromLibrary("O"),3);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -319,7 +319,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -319,7 +319,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Sodium_Oxyde"){ else if(Name == "Sodium_Oxyde"){
if(!density) if(!density)
density = 2.27*g/cm3 ; density = 2.27*g/cm3 ;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("Na"),2); material->AddElement(GetElementFromLibrary("Na"),2);
material->AddElement(GetElementFromLibrary("O"),1); material->AddElement(GetElementFromLibrary("O"),1);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -331,7 +331,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -331,7 +331,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Borosillicate_Glass"){ else if(Name == "Borosillicate_Glass"){
if(!density) if(!density)
density = 2.23*g/cm3 ; density = 2.23*g/cm3 ;
G4Material* material = new G4Material(Name,density,4); G4Material* material = new G4Material("NPS_"+Name,density,4);
material->AddElement(GetElementFromLibrary("Si"),80*perCent); material->AddElement(GetElementFromLibrary("Si"),80*perCent);
G4Material* BO = GetMaterialFromLibrary("Boric_Oxyde"); G4Material* BO = GetMaterialFromLibrary("Boric_Oxyde");
material->AddMaterial(BO,13*perCent); material->AddMaterial(BO,13*perCent);
...@@ -346,7 +346,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -346,7 +346,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "BC400"){ else if(Name == "BC400"){
if(!density) if(!density)
density = 1.032*g/cm3; density = 1.032*g/cm3;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("H"),10); material->AddElement(GetElementFromLibrary("H"),10);
material->AddElement(GetElementFromLibrary("C"),9); material->AddElement(GetElementFromLibrary("C"),9);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -356,7 +356,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -356,7 +356,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "NaI"){ else if(Name == "NaI"){
if(!density) if(!density)
density = 3.67*g/cm3; density = 3.67*g/cm3;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("Na"),1); material->AddElement(GetElementFromLibrary("Na"),1);
material->AddElement(GetElementFromLibrary("I"),1); material->AddElement(GetElementFromLibrary("I"),1);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -366,7 +366,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -366,7 +366,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "CsI"){ else if(Name == "CsI"){
if(!density) if(!density)
density = 4.51*g/cm3; density = 4.51*g/cm3;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("Cs"),1); material->AddElement(GetElementFromLibrary("Cs"),1);
material->AddElement(GetElementFromLibrary("I"),1); material->AddElement(GetElementFromLibrary("I"),1);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -376,7 +376,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -376,7 +376,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "NaturalUranium"){ else if(Name == "NaturalUranium"){
if(!density) if(!density)
density = 19.1*g/cm3; density = 19.1*g/cm3;
G4Material* material = new G4Material(Name,density,1); G4Material* material = new G4Material("NPS_"+Name,density,1);
material->AddElement(GetElementFromLibrary("U"),1); material->AddElement(GetElementFromLibrary("U"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -385,7 +385,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -385,7 +385,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "CsI_Scintillator"){ else if(Name == "CsI_Scintillator"){
if(!density) if(!density)
density = 4.51*g/cm3; density = 4.51*g/cm3;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("Cs"),1); material->AddElement(GetElementFromLibrary("Cs"),1);
material->AddElement(GetElementFromLibrary("I"),1); material->AddElement(GetElementFromLibrary("I"),1);
// Adding Scintillation property: // Adding Scintillation property:
...@@ -461,7 +461,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -461,7 +461,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "LaBr3"){ else if(Name == "LaBr3"){
if(!density) if(!density)
density =5.06*g/cm3 ; density =5.06*g/cm3 ;
G4Material* material = new G4Material(Name,density, 2); G4Material* material = new G4Material("NPS_"+Name,density, 2);
material->AddElement(GetElementFromLibrary("La"),1); material->AddElement(GetElementFromLibrary("La"),1);
material->AddElement(GetElementFromLibrary("Br"),3); material->AddElement(GetElementFromLibrary("Br"),3);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -472,7 +472,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -472,7 +472,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
if(!density) if(!density)
density =5.29*g/cm3 ; density =5.29*g/cm3 ;
G4Material* base = GetMaterialFromLibrary("LaBr3"); G4Material* base = GetMaterialFromLibrary("LaBr3");
G4Material* material = new G4Material(Name,density, 2); G4Material* material = new G4Material("NPS_"+Name,density, 2);
material->AddMaterial(base,95*perCent); material->AddMaterial(base,95*perCent);
material->AddElement(GetElementFromLibrary("Ce"),5*perCent); material->AddElement(GetElementFromLibrary("Ce"),5*perCent);
...@@ -484,7 +484,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -484,7 +484,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "BaF2"){ else if(Name == "BaF2"){
if(!density) if(!density)
density = 4.89*g/cm3; density = 4.89*g/cm3;
G4Material* material = new G4Material(Name,density, 2); G4Material* material = new G4Material("NPS_"+Name,density, 2);
material->AddElement(GetElementFromLibrary("Ba"),1); material->AddElement(GetElementFromLibrary("Ba"),1);
material->AddElement(GetElementFromLibrary("F"),2); material->AddElement(GetElementFromLibrary("F"),2);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -495,7 +495,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -495,7 +495,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Al"){ else if(Name == "Al"){
if(!density) if(!density)
density = 2.702*g/cm3; density = 2.702*g/cm3;
G4Material* material = new G4Material(Name,density,1); G4Material* material = new G4Material("NPS_"+Name,density,1);
material->AddElement(GetElementFromLibrary("Al"),1); material->AddElement(GetElementFromLibrary("Al"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -504,7 +504,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -504,7 +504,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Fe"){ else if(Name == "Fe"){
if(!density) if(!density)
density = 7.874*g/cm3; density = 7.874*g/cm3;
G4Material* material = new G4Material(Name,density,1); G4Material* material = new G4Material("NPS_"+Name,density,1);
material->AddElement(GetElementFromLibrary("Fe"),1); material->AddElement(GetElementFromLibrary("Fe"),1);
m_Material[Name]=material; m_Material[Name]=material;
return material; return material;
...@@ -513,7 +513,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -513,7 +513,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "P10_1atm"){ else if(Name == "P10_1atm"){
if(!density) if(!density)
density = 1.74*mg/cm3; density = 1.74*mg/cm3;
G4Material* material = new G4Material(Name,density, 3); //@ 0K, 1 atm G4Material* material = new G4Material("NPS_"+Name,density, 3); //@ 0K, 1 atm
material->AddElement(GetElementFromLibrary("Ar"),0.9222); material->AddElement(GetElementFromLibrary("Ar"),0.9222);
material->AddElement(GetElementFromLibrary("C"),0.0623); material->AddElement(GetElementFromLibrary("C"),0.0623);
material->AddElement(GetElementFromLibrary("H"),0.0155); material->AddElement(GetElementFromLibrary("H"),0.0155);
...@@ -524,7 +524,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -524,7 +524,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "P10"){ else if(Name == "P10"){
if(!density) if(!density)
density = 0.57*mg/cm3; density = 0.57*mg/cm3;
G4Material* material = new G4Material(Name,density,3); //@ 0K, 1/3 atm G4Material* material = new G4Material("NPS_"+Name,density,3); //@ 0K, 1/3 atm
material->AddElement(GetElementFromLibrary("Ar"),0.9222); material->AddElement(GetElementFromLibrary("Ar"),0.9222);
material->AddElement(GetElementFromLibrary("C"),0.0623); material->AddElement(GetElementFromLibrary("C"),0.0623);
material->AddElement(GetElementFromLibrary("H"),0.0155); material->AddElement(GetElementFromLibrary("H"),0.0155);
...@@ -535,7 +535,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -535,7 +535,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Air"){ // 1 atm else if(Name == "Air"){ // 1 atm
if(!density) if(!density)
density = 1.290*mg/cm3; density = 1.290*mg/cm3;
G4Material* material = new G4Material(Name,density,2); G4Material* material = new G4Material("NPS_"+Name,density,2);
material->AddElement(GetElementFromLibrary("N"), 0.7); material->AddElement(GetElementFromLibrary("N"), 0.7);
material->AddElement(GetElementFromLibrary("O"), 0.3); material->AddElement(GetElementFromLibrary("O"), 0.3);
m_Material[Name]=material; m_Material[Name]=material;
...@@ -545,7 +545,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ ...@@ -545,7 +545,7 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){
else if(Name == "Wood"){ else if(Name == "Wood"){
if(!density) if(!density)
density = 0.9*mg/cm3; density = 0.9*mg/cm3;
G4Material* material = new G4Material(Name,density, 3); G4Material* material = new G4Material("NPS_"+Name,density, 3);
material->AddElement(GetElementFromLibrary("H") , 4); material->AddElement(GetElementFromLibrary("H") , 4);
material->AddElement(GetElementFromLibrary("O") , 1); material->AddElement(GetElementFromLibrary("O") , 1);
material->AddElement(GetElementFromLibrary("C") , 2); material->AddElement(GetElementFromLibrary("C") , 2);
...@@ -612,7 +612,10 @@ void MaterialManager::WriteDEDXTable(G4ParticleDefinition* Particle ,G4double Em ...@@ -612,7 +612,10 @@ void MaterialManager::WriteDEDXTable(G4ParticleDefinition* Particle ,G4double Em
for(it = m_Material.begin() ; it != m_Material.end() ; it++){ for(it = m_Material.begin() ; it != m_Material.end() ; it++){
// Opening hte output file // Opening hte output file
G4String GlobalPath = getenv("NPTOOL"); G4String GlobalPath = getenv("NPTOOL");
G4String Path = GlobalPath + "/Inputs/EnergyLoss/" + Particle->GetParticleName() + "_" + it->second->GetName() + ".G4table"; G4String Name = it->second->GetName();
// Remove NPS name
Name.erase(0,4);
G4String Path = GlobalPath + "/Inputs/EnergyLoss/" + Particle->GetParticleName() + "_" + Name + ".G4table";
ofstream File ; ofstream File ;
File.open(Path) ; File.open(Path) ;
...@@ -657,7 +660,7 @@ void MaterialManager::CreateSampleVolumes(G4LogicalVolume* world_log){ ...@@ -657,7 +660,7 @@ void MaterialManager::CreateSampleVolumes(G4LogicalVolume* world_log){
for(it = m_Material.begin() ; it != m_Material.end() ; it++){ for(it = m_Material.begin() ; it != m_Material.end() ; it++){
G4LogicalVolume* sample_log = new G4LogicalVolume(sample_box, it->second, "sample_log", 0, 0, 0); G4LogicalVolume* sample_log = new G4LogicalVolume(sample_box, it->second, "sample_log", 0, 0, 0);
sample_log->SetVisAttributes(G4VisAttributes::Invisible); sample_log->SetVisAttributes(G4VisAttributes::Invisible);
Coord2 = WorldSize-i*SampleSize; Coord2 = WorldSize-i*2*SampleSize;
i++; i++;
new G4PVPlacement(0, G4ThreeVector(Coord1,Coord2,-Coord1), sample_log, "sample", world_log, false, 0); new G4PVPlacement(0, G4ThreeVector(Coord1,Coord2,-Coord1), sample_log, "sample", world_log, false, 0);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment