Import Geant4 10.6.2 source tree

This commit is contained in:
Gabriele Cosmo
2020-05-29 14:54:29 +02:00
parent 8c87fe78c4
commit c02c370437
448 changed files with 23779 additions and 31516 deletions
@@ -13,6 +13,10 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
13-May-2020, M. Asai (phys-ctor-limiters-V10-05-01)
- G4GenericBiasingPhysics.cc : add missing code for parallel geometries
for all neutral / charged particles.
15-Nov-2019, G. Cosmo (phys-ctor-limiters-V10-05-00)
- Fixed cases of implicit type conversions from size_t to G4int.
@@ -565,9 +565,45 @@ void G4GenericBiasingPhysics::AssociateParallelGeometries()
}
// -- parallel geometries for all charged particles:
// -- parallel geometries for all neutral / charged particles:
particleIterator->reset();
G4bool islAllNeutral = false;
for(auto isln : fAllNeutralParallelGeometriesISL)
{ islAllNeutral |= isln; }
G4bool islAllCharged = false;
for(auto islc : fAllChargedParallelGeometriesISL)
{ islAllCharged |= islc; }
while((*particleIterator)())
{
G4ParticleDefinition* particle = particleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if(particle->GetPDGCharge() == 0.)
{
// Neutral particle
if(particle->IsShortLived() && !islAllNeutral) continue;
G4ParallelGeometriesLimiterProcess* limiter = G4BiasingHelper::AddLimiterProcess(pmanager);
G4int j = 0;
for(G4String wNameN : fParallelGeometriesForCharged)
{
if(!(particle->IsShortLived()) || fAllNeutralParallelGeometriesISL[j])
{ limiter->AddParallelWorld(wNameN); }
j++;
}
}
else
{
// charged
if(particle->IsShortLived() && !islAllCharged) continue;
G4ParallelGeometriesLimiterProcess* limiter = G4BiasingHelper::AddLimiterProcess(pmanager);
G4int j = 0;
for(G4String wNameC : fParallelGeometriesForCharged)
{
if(!(particle->IsShortLived()) || fAllChargedParallelGeometriesISL[j])
{ limiter->AddParallelWorld(wNameC); }
j++;
}
}
}
}