diff --git a/NPLib/Physics/NPNucleus.cxx b/NPLib/Physics/NPNucleus.cxx index 44038da618164558bd4df79f4ba6b84fbde418c5..b8e740f86e0e396dcffab160b40e7f10bf2c554c 100644 --- a/NPLib/Physics/NPNucleus.cxx +++ b/NPLib/Physics/NPNucleus.cxx @@ -71,10 +71,16 @@ void Nucleus::SetUp(string isotope){ // Replace the p,d,t,a by there standard name: if(isotope=="p") isotope="1H"; + else if(isotope=="n") isotope="1n"; else if(isotope=="d") isotope="2H"; else if(isotope=="t") isotope="3H"; else if(isotope=="a") isotope="4He"; - + else if(isotope=="4n"){ // tetraneutron @Eres = 0 + string line = "004 0000 4n 32285.268 0.0005 219.4 ys 0.6 1/2+ 00 02PaDGt B-=100"; + Extract(line.data()); + return; + } + ifstream inFile; string Path = getenv("NPTOOL") ; string FileName = Path + "/NPLib/Physics/nubtab03.asc"; @@ -105,6 +111,10 @@ Nucleus::Nucleus(int Z, int A) { //----------- Constructor Using nubtab03.asc by Z and A---------- + if(Z==0 && A==4){ + SetUp("4n"); + return; + } // open the file to read and check if it is open ifstream inFile; string Path = getenv("NPTOOL") ; diff --git a/NPSimulation/Core/MaterialManager.cc b/NPSimulation/Core/MaterialManager.cc index 29bdcad13612925cf79e1a5af4412854b96b4ed7..06c59632b53d8df98d3771372bdb1547f6dac286 100644 --- a/NPSimulation/Core/MaterialManager.cc +++ b/NPSimulation/Core/MaterialManager.cc @@ -295,7 +295,30 @@ G4Material* MaterialManager::GetMaterialFromLibrary(string Name,double density){ m_Material[Name]=material; return material; } - + else if(Name == "He_gas"){ + if(!density) + density = 0.0001665*g/cm3; // room temp, 1 atm + G4Material* material = new G4Material("NPS_"+Name, density,1); + material->AddElement(GetElementFromLibrary("He"),1); + m_Material[Name]=material; + return material; + } + else if(Name == "O2_gas"){ + if(!density) + density = 0.001331*g/cm3; // room temp, 1 atm + G4Material* material = new G4Material("NPS_"+Name, density,1); + material->AddElement(GetElementFromLibrary("O"),2); + m_Material[Name]=material; + return material; + } + else if(Name == "Ti"){ + if(!density) + density = 4.5189*g/cm3; + G4Material* material = new G4Material("NPS_"+Name, density,1); + material->AddElement(GetElementFromLibrary("Ti"),1); + m_Material[Name]=material; + return material; + } // Usual detector material else if(Name == "Si"){ if(!density)