Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
+7 -1
View File
@@ -15,7 +15,13 @@ committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
October 30, 2019, A. Zaborowska (param-v10-05-00)
- Register G4FastSimulationManagerProcess with highest ordering in
G4FastSimulationManagerHelper to ensure it is the only process
invoked for a given step (ExclusivelyForced) and no other
StronglyForced processes will be considered.
December 19, 2017, G. Cosmo (param-V10-04-00)
- Fixed self-consistency in G4FastSimulationVector header (missing #include).
Thanks to Raphael Isemann for reporting this.
@@ -31,18 +31,27 @@
void G4FastSimulationHelper::ActivateFastSimulation(G4ProcessManager* pmanager)
{
G4FastSimulationManagerProcess* fastSimProcess = new G4FastSimulationManagerProcess("fastSimProcess_massGeom");
// -- For the mass geometry case, the G4FastSimulationManagerProcess
// -- For the parametrisation envelope belonging to the mass geometry case, the G4FastSimulationManagerProcess
// -- is a PostStep process, and ordering does not matter:
pmanager-> AddDiscreteProcess(fastSimProcess);
// It is, however, possible that parametrisation happens in the mass geometry, but the parallel world
// exists (with parallel world physics), e.g. for the sensitive detector.
// In that case make sure fast simulation is the first process to be checked by the steppping manager
// (highest ordering) so that user can kill the particle and/or deposit energy, ignoring other processes.
// Otherwise the parallel world physics (which is a StronglyFroced process) will invoke a PostStepDoIt
// on the same step, leading to e.g. duplicated energy deposits.
pmanager->SetProcessOrderingToLast(fastSimProcess, idxPostStep);
}
void G4FastSimulationHelper::ActivateFastSimulation(G4ProcessManager* pmanager, G4String parallelGeometryName )
{
G4FastSimulationManagerProcess* fastSimProcess = new G4FastSimulationManagerProcess("fastSimProcess_parallelGeom",
parallelGeometryName);
// -- For the parallel geometry case, the G4FastSimulationManagerProcess
// -- For the parallel geometry case, the G4FastSimulationManagerProcessz
// -- is an Along+PostStep process, and ordering matters:
pmanager->AddProcess(fastSimProcess);
pmanager->SetProcessOrdering(fastSimProcess, idxAlongStep, 1);
pmanager->SetProcessOrdering(fastSimProcess, idxPostStep);
// Register as the process with highest ordering so it is checked as the first one,
// and since it is exclusively forced no other process will be considered (to be invoked).
pmanager->SetProcessOrderingToLast(fastSimProcess, idxPostStep);
}