@@ -178,6 +178,8 @@ string TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToString(
178178 return " FissionNeutronsU238" ;
179179 case EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS:
180180 return " EnvironmentalGammas" ;
181+ case EnergyDistributionFormulas::ENVIRONMENTAL_NEUTRONS:
182+ return " EnvironmentalNeutrons" ;
181183 }
182184 cout << " TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToString - Error - Unknown energy "
183185 " distribution formula"
@@ -202,6 +204,10 @@ EnergyDistributionFormulas TRestGeant4PrimaryGeneratorTypes::StringToEnergyDistr
202204 EnergyDistributionFormulasToString (EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS),
203205 TString::ECaseCompare::kIgnoreCase )) {
204206 return EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS;
207+ } else if (TString (type).EqualTo (
208+ EnergyDistributionFormulasToString (EnergyDistributionFormulas::ENVIRONMENTAL_NEUTRONS),
209+ TString::ECaseCompare::kIgnoreCase )) {
210+ return EnergyDistributionFormulas::ENVIRONMENTAL_NEUTRONS;
205211 } else {
206212 cout << " TRestGeant4PrimaryGeneratorTypes::StringToEnergyDistributionFormulas - Error - Unknown "
207213 " energyDistributionFormulas: "
@@ -250,6 +256,15 @@ TF1 TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToRootFormula(
250256 distribution.GetXaxis ()->SetTitle (" Energy (keV)" );
251257 return distribution;
252258 }
259+ case EnergyDistributionFormulas::ENVIRONMENTAL_NEUTRONS: {
260+ // Environmental neutron radiation approximation
261+ const char * title = " Environmental Neutrons" ;
262+ auto distribution = TF1 (title, " TMath::Exp(-x * 0.0005)" , 0 , 10000 ); // keV
263+ distribution.SetNormalized (true );
264+ distribution.SetTitle (title);
265+ distribution.GetXaxis ()->SetTitle (" Energy (keV)" );
266+ return distribution;
267+ }
253268 }
254269 cout << " TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToRootFormula - Error - Unknown "
255270 " energy distribution formula"
0 commit comments