Import Geant4 11.0.2 source tree

This commit is contained in:
Gabriele Cosmo
2022-05-25 15:50:57 +02:00
parent de4f28d823
commit b3bf75a2a1
341 changed files with 93127 additions and 39343 deletions
@@ -218,8 +218,9 @@ void G4VEnergyLossProcess::AddEmModel(G4int order, G4VEmModel* ptr,
const G4Region* region)
{
if(nullptr == ptr) { return; }
modelManager->AddEmModel(order, ptr, fluc, region);
ptr->SetParticleChange(pParticleChange, fluc);
G4VEmFluctuationModel* afluc = (nullptr == fluc) ? fluctModel : fluc;
modelManager->AddEmModel(order, ptr, afluc, region);
ptr->SetParticleChange(pParticleChange, afluc);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -408,7 +409,7 @@ G4VEnergyLossProcess::PreparePhysicsTable(const G4ParticleDefinition& part)
// defined ID of secondary particles
G4int stype = GetProcessSubType();
if(stype == fBremsstrahlung) {
secID = _Bremsstruhlung;
secID = _Bremsstrahlung;
biasID = _SplitBremsstrahlung;
} else if(stype == fPairProdByCharged) {
secID = _PairProduction;
@@ -300,9 +300,11 @@ void G4VMultipleScattering::StreamInfo(std::ostream& outFile,
void G4VMultipleScattering::StartTracking(G4Track* track)
{
G4VEnergyLossProcess* eloss = nullptr;
if(track->GetParticleDefinition() != currParticle) {
currParticle = track->GetParticleDefinition();
fIonisation = emManager->GetEnergyLossProcess(currParticle);
eloss = fIonisation;
}
/*
G4cout << "G4VMultipleScattering::StartTracking Nmod= " << numberOfModels
@@ -312,7 +314,8 @@ void G4VMultipleScattering::StartTracking(G4Track* track)
<< G4LossTableManager::Instance()->IsMaster()
<< G4endl;
*/
for(auto & msc : mscModels) {
for(G4int i=0; i<numberOfModels; ++i) {
G4VMscModel* msc = GetModelByIndex(i);
/*
G4cout << "Next model " << msc
<< " Emin= " << msc->LowEnergyLimit()
@@ -320,7 +323,9 @@ void G4VMultipleScattering::StartTracking(G4Track* track)
<< " Eact= " << msc->LowEnergyActivationLimit() << G4endl;
*/
msc->StartTracking(track);
msc->SetIonisation(fIonisation, currParticle);
if(nullptr != eloss) {
msc->SetIonisation(eloss, currParticle);
}
}
}