Skip to content
Snippets Groups Projects
Commit 93992b13 authored by Benedikt Volkel's avatar Benedikt Volkel Committed by Axel Naumann
Browse files

Use multiple different engines in VMC

This is an extension allowing the VMC package to run a simulation
with multiple different engines at a time. Tracks can be transferred
among engines during a simulation run based on conditions specified by
the user.

Important notes on the extensions:
  1) This extension preserves backward-compatibility in the sense that
     user code relying on the former version of VMC is still running
     with the extended version. Was tested with GEANT3_VMC@v2-6 and
     GEANT4_VMC@v3-6-p1.
  2) A shared simulation is only possible when TGeo is used for geometry
     construction and navigation.
  3) A TMCManager singleton object is responsible for handling multiple
     engines and can be obtained on request calling
     TVirtualMCApplication::RequestManager() during construction of the
     user application class.
  4) The introduced TMCParticleStatus objects hold additional
     information to keep track of properties when a track is transferred
     between engines.
  5) When a track is interrupted in one engine to be transferred to
     another, the geometry state is cached in the form of a
     TGeoBranchArray object. It will be used to initialize the navigator
     when this track is picked up for further transport in the next
     engine. This is especially useful/required when a track is
     transferred at a volume boundary in order to be picked up in the
     entered volume and not in the one just left. This is a main reason
     why geometry management is forced to be done via TGeo.

A more comprehensive introduction concerning the usage and
implementation in the user code can be found in the
montecarlo/vmc/README.md

Further note:
  This commit also applies the clang format to the modified and new
  files.
parent f2c17f2d
No related branches found
No related tags found
No related merge requests found
Showing
with 2027 additions and 284 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment