@@ -176,6 +176,8 @@ string TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToString(
176176 return " CosmicGammas" ;
177177 case EnergyDistributionFormulas::FISSION_NEUTRONS_U238:
178178 return " FissionNeutronsU238" ;
179+ case EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS:
180+ return " EnvironmentalGammas" ;
179181 }
180182 cout << " TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToString - Error - Unknown energy "
181183 " distribution formula"
@@ -196,6 +198,10 @@ EnergyDistributionFormulas TRestGeant4PrimaryGeneratorTypes::StringToEnergyDistr
196198 EnergyDistributionFormulasToString (EnergyDistributionFormulas::FISSION_NEUTRONS_U238),
197199 TString::ECaseCompare::kIgnoreCase )) {
198200 return EnergyDistributionFormulas::FISSION_NEUTRONS_U238;
201+ } else if (TString (type).EqualTo (
202+ EnergyDistributionFormulasToString (EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS),
203+ TString::ECaseCompare::kIgnoreCase )) {
204+ return EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS;
199205 } else {
200206 cout << " TRestGeant4PrimaryGeneratorTypes::StringToEnergyDistributionFormulas - Error - Unknown "
201207 " energyDistributionFormulas: "
@@ -235,6 +241,15 @@ TF1 TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToRootFormula(
235241 distribution.GetXaxis ()->SetTitle (" Energy (keV)" );
236242 return distribution;
237243 }
244+ case EnergyDistributionFormulas::ENVIRONMENTAL_GAMMAS: {
245+ // Environmental gamma radiation approximation
246+ const char * title = " Environmental Gammas" ;
247+ auto distribution = TF1 (title, " (1 / TMath::Power(x, 1.5)) * TMath::Exp(-x / 1500.)" , 1 , 10000 );
248+ distribution.SetNormalized (true );
249+ distribution.SetTitle (title);
250+ distribution.GetXaxis ()->SetTitle (" Energy (keV)" );
251+ return distribution;
252+ }
238253 }
239254 cout << " TRestGeant4PrimaryGeneratorTypes::EnergyDistributionFormulasToRootFormula - Error - Unknown "
240255 " energy distribution formula"
0 commit comments