Tsld009

  • Restart the step:

    • Choose a new maximum step length so that
      • predicted total step length < safety OR
      • predicted deviation < d_miss
    • Call AlongStepGetPhysicalInteractionLength methods of all processes again
    • Call all DoIt action and recheck criteria
      • If accepted, good
      • If second failure, write warning and take a “default” action

Tsld008

  • If total sum < safety

    • use the sum position change directly
  • If not,

    • then move the particle by primary move and check whether a volume change occurs.
      • If not apply the “pertubing” move, starting from end of primary move

Tsld005

  • Process writers are responsible:

    • to make clear their assumptions
    • to document which other processes they can cooperate with.
  • Simulators must:

    • ensure processes they choose can cooperate

Tsld006

  • Allow several processes to propose a position change in AlongStep action

  • The Stepping Manager will:

    • keep the vector sum of these changes
    • find the process with the biggest move
      • treat it as the “main” change
      • treat the sum of other changes as “pertubation”

Tsld007

  • At the end of AlongStep loop the Stepping Manager will accept the step if either

    • the sum of changes is within safety OR
    • the “perturbing” sum is smaller than d_miss
      • could check that it is smaller than “main” move
  • If either condition holds, the step will be accepted, and the track will move

Tsld003

  • Allow several processes to propose a position change in AlongStepDoIt

    • coherently
    • safely: without skipping volumes
    • efficiently: no slowdown for “default”
  • Make the Relocation into

    • PostStepDoIt of Transportation

Tsld004

  • Processes that propose AlongStep position changes must “cooperate”:

  • They must be:

    • independent
    • accumulated roughly linearly along the length of a step

Tsld016

    GEANT4

    Event

    Management

    UI_GUI

    Event

    Generator

    Track

    Management

    G4SteppingManager

    G4TrackingManager

    Digi

    ParticleDefinition

    G4DynamicParticle

    G4ParticleDefinition

    Hit

    Geometry

    G4Navigator

    PhysicsProcess