Import Geant4 10.6.2 source tree
This commit is contained in:
@@ -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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user