Import Geant4 11.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2021-12-10 14:46:44 +01:00
committed by Ben Morgan
parent 6399a014b6
commit 80e2389dd8
3932 changed files with 202519 additions and 246221 deletions
@@ -148,6 +148,7 @@ public:
inline G4double GetDEDX(const G4ParticleDefinition* part,
G4double kineticEnergy,
const G4MaterialCutsCouple* couple);
inline G4double GetDEDX(const G4ParticleDefinition* part,
G4double kineticEnergy,
const G4MaterialCutsCouple* couple,
@@ -156,6 +157,7 @@ public:
inline G4double GetRange(const G4ParticleDefinition* part,
G4double kineticEnergy,
const G4MaterialCutsCouple* couple);
inline G4double GetRange(const G4ParticleDefinition* part,
G4double kineticEnergy,
const G4MaterialCutsCouple* couple,
@@ -169,6 +171,7 @@ public:
inline
G4double GetTransportMeanFreePath(const G4ParticleDefinition* part,
G4double kinEnergy);
inline
G4double GetTransportMeanFreePath(const G4ParticleDefinition* part,
G4double kinEnergy,
@@ -301,7 +304,7 @@ G4VMscModel::GetDEDX(const G4ParticleDefinition* part, G4double kinEnergy,
const G4MaterialCutsCouple* couple)
{
G4double x;
if (ionisation) {
if (nullptr != ionisation) {
x = ionisation->GetDEDX(kinEnergy, couple);
} else {
const G4double q = part->GetPDGCharge()*inveplus;
@@ -317,7 +320,7 @@ G4VMscModel::GetDEDX(const G4ParticleDefinition* part, G4double kinEnergy,
const G4MaterialCutsCouple* couple, G4double logKinEnergy)
{
G4double x;
if (ionisation) {
if (nullptr != ionisation) {
x = ionisation->GetDEDX(kinEnergy, couple, logKinEnergy);
} else {
const G4double q = part->GetPDGCharge()*inveplus;
@@ -329,14 +332,14 @@ G4VMscModel::GetDEDX(const G4ParticleDefinition* part, G4double kinEnergy,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4double
G4VMscModel::GetRange(const G4ParticleDefinition* part,G4double kinEnergy,
G4VMscModel::GetRange(const G4ParticleDefinition* part, G4double kinEnergy,
const G4MaterialCutsCouple* couple)
{
//G4cout << "G4VMscModel::GetRange E(MeV)= " << kinEnergy << " "
// << ionisation << " " << part->GetParticleName()
// << G4endl;
localtkin = kinEnergy;
if (ionisation) {
localtkin = kinEnergy;
if (nullptr != ionisation) {
localrange = ionisation->GetRange(kinEnergy, couple);
} else {
const G4double q = part->GetPDGCharge()*inveplus;
@@ -355,8 +358,8 @@ G4VMscModel::GetRange(const G4ParticleDefinition* part,G4double kinEnergy,
//G4cout << "G4VMscModel::GetRange E(MeV)= " << kinEnergy << " "
// << ionisation << " " << part->GetParticleName()
// << G4endl;
localtkin = kinEnergy;
if (ionisation) {
localtkin = kinEnergy;
if (nullptr != ionisation) {
localrange = ionisation->GetRange(kinEnergy, couple, logKinEnergy);
} else {
const G4double q = part->GetPDGCharge()*inveplus;
@@ -376,7 +379,7 @@ G4VMscModel::GetEnergy(const G4ParticleDefinition* part,
//G4cout << "G4VMscModel::GetEnergy R(mm)= " << range << " " << ionisation
// << " Rlocal(mm)= " << localrange << " Elocal(MeV)= " << localtkin
// << G4endl;
if(ionisation) { e = ionisation->GetKineticEnergy(range, couple); }
if(nullptr != ionisation) { e = ionisation->GetKineticEnergy(range, couple); }
else {
e = localtkin;
if(localrange > range) {
@@ -410,12 +413,10 @@ G4VMscModel::GetTransportMeanFreePath(const G4ParticleDefinition* part,
G4double ekin)
{
G4double x;
if (xSectionTable) {
const G4int idx = CurrentCouple()->GetIndex();
x = (*xSectionTable)[idx]->Value(ekin, idxTable)/(ekin*ekin);
if (nullptr != xSectionTable) {
x = pFactor*(*xSectionTable)[basedCoupleIndex]->Value(ekin)/(ekin*ekin);
} else {
x = CrossSectionPerVolume(CurrentCouple()->GetMaterial(), part, ekin,
0.0, DBL_MAX);
x = pFactor*CrossSectionPerVolume(pBaseMaterial, part, ekin, 0.0, DBL_MAX);
}
return (x > 0.0) ? 1.0/x : DBL_MAX;
}
@@ -425,12 +426,10 @@ G4VMscModel::GetTransportMeanFreePath(const G4ParticleDefinition* part,
G4double ekin, G4double logekin)
{
G4double x;
if (xSectionTable) {
const G4int idx = CurrentCouple()->GetIndex();
x = (*xSectionTable)[idx]->LogVectorValue(ekin, logekin)/(ekin*ekin);
if (nullptr != xSectionTable) {
x = pFactor*(*xSectionTable)[basedCoupleIndex]->LogVectorValue(ekin, logekin)/(ekin*ekin);
} else {
x = CrossSectionPerVolume(CurrentCouple()->GetMaterial(), part, ekin,
0.0, DBL_MAX);
x = pFactor*CrossSectionPerVolume(pBaseMaterial, part, ekin, 0.0, DBL_MAX);
}
return (x > 0.0) ? 1.0/x : DBL_MAX;
}
@@ -438,4 +437,3 @@ G4VMscModel::GetTransportMeanFreePath(const G4ParticleDefinition* part,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif