Skip to content

Commit 65599da

Browse files
authored
Merge pull request #141 from rest-for-physics/environmental-neutrons-formula
formula for environmental neutrons (aprox)
2 parents 6da2e24 + c70aff2 commit 65599da

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

inc/TRestGeant4PrimaryGeneratorInfo.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ enum class EnergyDistributionFormulas {
5252
COSMIC_NEUTRONS,
5353
COSMIC_GAMMAS,
5454
FISSION_NEUTRONS_U238,
55-
ENVIRONMENTAL_GAMMAS
55+
ENVIRONMENTAL_GAMMAS,
56+
ENVIRONMENTAL_NEUTRONS,
5657
};
5758

5859
std::string EnergyDistributionFormulasToString(const EnergyDistributionFormulas&);

src/TRestGeant4PrimaryGeneratorInfo.cxx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)