Geant4 & Phoenix Visualization
This is the base MR for all the developments that add/modify components that enable visualization with Geant4.
Changes in GiGaMT
Geant4 visualization does not work out of the box with Gaussino. This is mainly because a custom event loop has been implemented and many functionalities of both the G4MTRunManager
and G4WorkerRunManager
have been re-implemented. Additional difficulty arises from the fact that visualization in G4 is handled by an additional thread (created by Geant4 just before run initialization). This thread needs to have a few things correctly set up or otherwise it will not be created. Moreover, the worker pilot must not delete the G4Event
s too early as they are scheduled for postprocessing in Geant4. Therefore, the following MRs adapt GiGaMT
to the new mechanism (tested with 8 threads and > 100 events):
- !77 (merged) postpone the deletion of G4Events
- !76 (merged) add the possibility to launch UI commands before the initialization of the run
- !74 (merged) some extra information that has to be passed correctly to G4
-
!69 (merged) support
EventAction
and improveRunAction
UI commands - !71 (closed) terminate the G4 Run correctly
- !72 (merged) do not ignore the status of the UI commands launched from the worker threads,
-
!73 (merged) do not repeat
RunAction
commands that were previously used by the master thread. - !83 conditional storing of G4Trajectories,
- !78 (merged) Add GiGaMTPhoenix
Changes in this MR
This MR consists of:
-
(base) Gaussino's implementation of G4VisManager -
(base) python configuration
cc: @fbilandz