Skip to content

Commit 845ad7f

Browse files
authored
Merge pull request #139 from rest-for-physics/environmental-gammas-formula
Environmental gammas
2 parents 59cdd95 + 5ee6608 commit 845ad7f

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

inc/TRestGeant4PrimaryGeneratorInfo.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ enum class EnergyDistributionTypes {
4848
std::string EnergyDistributionTypesToString(const EnergyDistributionTypes&);
4949
EnergyDistributionTypes StringToEnergyDistributionTypes(const std::string&);
5050

51-
enum class EnergyDistributionFormulas { COSMIC_NEUTRONS, COSMIC_GAMMAS, FISSION_NEUTRONS_U238 };
51+
enum class EnergyDistributionFormulas {
52+
COSMIC_NEUTRONS,
53+
COSMIC_GAMMAS,
54+
FISSION_NEUTRONS_U238,
55+
ENVIRONMENTAL_GAMMAS
56+
};
5257

5358
std::string EnergyDistributionFormulasToString(const EnergyDistributionFormulas&);
5459
EnergyDistributionFormulas StringToEnergyDistributionFormulas(const std::string&);

src/TRestGeant4PrimaryGeneratorInfo.cxx

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

Comments
 (0)