Import Geant4 11.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2024-12-06 11:11:40 +01:00
parent e58e650b32
commit 32390e802b
1984 changed files with 98713 additions and 83996 deletions
+3
View File
@@ -6,6 +6,9 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2024-11-04 Philippe Canal (phys-util-V11-02-00)
- Static initialization improvement for G4HadParticles.
## 2023-10-15 Vladimir Ivanchenko (phys-util-V11-01-01)
- G4HadProcesses - more accurate implementation for the neutron genelal process
@@ -56,21 +56,6 @@ public:
static const std::vector<G4int>& GetHeavyChargedParticles();
static const std::vector<G4int>& GetBCChargedHadrons();
static const std::vector<G4int>& GetChargedHyperNuclei();
private:
static const std::vector<G4int> sLightHadrons;
static const std::vector<G4int> sHyperons;
static const std::vector<G4int> sAntiHyperons;
static const std::vector<G4int> sKaons;
static const std::vector<G4int> sBCHadrons;
static const std::vector<G4int> sLightIons;
static const std::vector<G4int> sLightAntiIons;
static const std::vector<G4int> sHyperNuclei;
static const std::vector<G4int> sHyperAntiNuclei;
static const std::vector<G4int> sHeavyChargedPart;
static const std::vector<G4int> sBCChargedHadrons;
static const std::vector<G4int> sChargedHyperNuclei;
};
#endif
+79 -91
View File
@@ -31,153 +31,141 @@
#include "G4HadParticles.hh"
// p, n, pi+, pi-
const std::vector<G4int> G4HadParticles::sLightHadrons = {
2212, 2112, 211, -211
};
// Lambda, Sigma+, Sigma-, Xi0, Xi-, Omega-
// (note that Sigma0 has not been included because it decays very quickly)
const std::vector<G4int> G4HadParticles::sHyperons = {
3122, 3222, 3112, 3322, 3312, 3334
};
// anti_Lambda, anti_Sigma+, anti_Sigma-, anti_Xi0, anti_Xi-, anti_Omega-
// (note that anti_Sigma0 has not been included because it decays very quickly)
const std::vector<G4int> G4HadParticles::sAntiHyperons = {
-3122, -3222, -3112, -3322, -3312, -3334
};
// K+, K-, KS, KL
const std::vector<G4int> G4HadParticles::sKaons = {
321, -321, 310, 130
};
// Note: etac, JPsi, SigmaC++, SigmaC+, SigmaC0, Upsilon,
// SigmaB+, SigmaB0, SigmaB- are not included because
// they decay very quickly (therefore, their hadronic
// interactions can be neglected, as for pi0 and Sigma0).
const std::vector<G4int> G4HadParticles::sBCHadrons = {
// D+, D0, D-, D0bar, Ds+, Ds-
411, 421, -411, -421, 431, -431,
// B+, B0, B-, B0bar, Bs0, Bs0bar, Bc+, Bc-,
521, 511, -521, -511, 531, -531, 541, -541,
// LambdaC+, XiC+, XiC0, OmegaC0
4122, 4232, 4132, 4332,
// LambdaB, XiB0, XiB-, OmegaB-
5122, 5232, 5132, 5332,
// corresponding anti_baryons
-4122, -4232, -4132, -4332,
-5122, -5232, -5132, -5332
};
// d, t, He3, alpha
const std::vector<G4int> G4HadParticles::sLightIons = {
1000010020, 1000010030, 1000020030, 1000020040
};
// pbar, nbar, light anti-ions
const std::vector<G4int> G4HadParticles::sLightAntiIons = {
-2212, -2112, -1000010020, -1000010030, -1000020030, -1000020040
};
// hyper_t, hyper_H4, hyper_He4, hyder_He5, 2-hyper-2n, 2-hyper_H4
const std::vector<G4int> G4HadParticles::sHyperNuclei = {
1010010030, 1010010040, 1010020040, 1010020050, 1020000040, 1020010040
};
// anti-hyper-nuclei
const std::vector<G4int> G4HadParticles::sHyperAntiNuclei = {
-1010010030, -1010010040, -1010020040, -1010020050, -1020000040, -1020010040
};
//
// charged particles for EM physics
//
const std::vector<G4int> G4HadParticles::sHeavyChargedPart = {
// Sigma+, Sigma-, Xi-, Omega-, anti_hyperons
3222, 3112, 3312, 3334, -3222, -3112, -3312, -3334,
// light anti_ions
-1000010020, -1000010030, -1000020030, -1000020040,
// tau+-
15, -15
};
const std::vector<G4int> G4HadParticles::sBCChargedHadrons = {
// D+, D-, Ds+, Ds-
411, -411, 431, -431,
// B+, B-, Bc+, Bc-,
521, -521, 541, -541,
// LambdaC+, SigmaC++, SigmaC+, XiC+
4122, 4222, 4212, 4232,
// SigmaB+, SigmaB-, XiB-, OmegaB-
5222, 5112, 5132, 5332,
// anti_baryons
-4122, -4222, -4212, -4232, -5222, -5112, -5132, -5332
};
// hyper_t
const std::vector<G4int> G4HadParticles::sChargedHyperNuclei = {
1010010030, 1010010040, 1010020040, 1010020050, 1020010040,
-1010010030, -1010010040, -1010020040, -1010020050, -1020010040
};
const std::vector<G4int>& G4HadParticles::GetLightHadrons()
{
// p, n, pi+, pi-
static const std::vector<G4int> sLightHadrons = {
2212, 2112, 211, -211
};
return sLightHadrons;
}
const std::vector<G4int>& G4HadParticles::GetHyperons()
{
// Lambda, Sigma+, Sigma-, Xi0, Xi-, Omega-
// (note that Sigma0 has not been included because it decays very quickly)
static const std::vector<G4int> sHyperons = {
3122, 3222, 3112, 3322, 3312, 3334
};
return sHyperons;
}
const std::vector<G4int>& G4HadParticles::GetAntiHyperons()
{
// anti_Lambda, anti_Sigma+, anti_Sigma-, anti_Xi0, anti_Xi-, anti_Omega-
// (note that anti_Sigma0 has not been included because it decays very quickly)
static const std::vector<G4int> sAntiHyperons = {
-3122, -3222, -3112, -3322, -3312, -3334
};
return sAntiHyperons;
}
const std::vector<G4int>& G4HadParticles::GetKaons()
{
// K+, K-, KS, KL
static const std::vector<G4int> sKaons = {
321, -321, 310, 130
};
return sKaons;
}
const std::vector<G4int>& G4HadParticles::GetBCHadrons()
{
// Note: etac, JPsi, SigmaC++, SigmaC+, SigmaC0, Upsilon,
// SigmaB+, SigmaB0, SigmaB- are not included because
// they decay very quickly (therefore, their hadronic
// interactions can be neglected, as for pi0 and Sigma0).
static const std::vector<G4int> sBCHadrons = {
// D+, D0, D-, D0bar, Ds+, Ds-
411, 421, -411, -421, 431, -431,
// B+, B0, B-, B0bar, Bs0, Bs0bar, Bc+, Bc-,
521, 511, -521, -511, 531, -531, 541, -541,
// LambdaC+, XiC+, XiC0, OmegaC0
4122, 4232, 4132, 4332,
// LambdaB, XiB0, XiB-, OmegaB-
5122, 5232, 5132, 5332,
// corresponding anti_baryons
-4122, -4232, -4132, -4332,
-5122, -5232, -5132, -5332
};
return sBCHadrons;
}
const std::vector<G4int>& G4HadParticles::GetLightIons()
{
// d, t, He3, alpha
static const std::vector<G4int> sLightIons = {
1000010020, 1000010030, 1000020030, 1000020040
};
return sLightIons;
}
const std::vector<G4int>& G4HadParticles::GetLightAntiIons()
{
// pbar, nbar, light anti-ions
static const std::vector<G4int> sLightAntiIons = {
-2212, -2112, -1000010020, -1000010030, -1000020030, -1000020040
};
return sLightAntiIons;
}
const std::vector<G4int>& G4HadParticles::GetHyperNuclei()
{
// hyper_t, hyper_H4, hyper_He4, hyder_He5, 2-hyper-2n, 2-hyper_H4
static const std::vector<G4int> sHyperNuclei = {
1010010030, 1010010040, 1010020040, 1010020050, 1020000040, 1020010040
};
return sHyperNuclei;
}
const std::vector<G4int>& G4HadParticles::GetHyperAntiNuclei()
{
// anti-hyper-nuclei
static const std::vector<G4int> sHyperAntiNuclei = {
-1010010030, -1010010040, -1010020040, -1010020050, -1020000040, -1020010040
};
return sHyperAntiNuclei;
}
const std::vector<G4int>& G4HadParticles::GetHeavyChargedParticles()
{
//
// charged particles for EM physics
//
static const std::vector<G4int> sHeavyChargedPart = {
// Sigma+, Sigma-, Xi-, Omega-, anti_hyperons
3222, 3112, 3312, 3334, -3222, -3112, -3312, -3334,
// light anti_ions
-1000010020, -1000010030, -1000020030, -1000020040,
// tau+-
15, -15
};
return sHeavyChargedPart;
}
const std::vector<G4int>& G4HadParticles::GetBCChargedHadrons()
{
static const std::vector<G4int> sBCChargedHadrons = {
// D+, D-, Ds+, Ds-
411, -411, 431, -431,
// B+, B-, Bc+, Bc-,
521, -521, 541, -541,
// LambdaC+, SigmaC++, SigmaC+, XiC+
4122, 4222, 4212, 4232,
// SigmaB+, SigmaB-, XiB-, OmegaB-
5222, 5112, 5132, 5332,
// anti_baryons
-4122, -4222, -4212, -4232, -5222, -5112, -5132, -5332
};
return sBCChargedHadrons;
}
const std::vector<G4int>& G4HadParticles::GetChargedHyperNuclei()
{
// hyper_t
static const std::vector<G4int> sChargedHyperNuclei = {
1010010030, 1010010040, 1010020040, 1010020050, 1020010040,
-1010010030, -1010010040, -1010020040, -1010020050, -1020010040
};
return sChargedHyperNuclei;
}