rest-for-physics / restG4

A generic Geant4 code project that uses the REST Geant4 library to define the simulation conditions and collect the simulated results as a ROOT file, in the form of REST c++ objects. restG4 just requires two inputs, and RML file defining the simulation conditions and a GDML geometry file.
3 stars 5 forks source link

pipeline status Validation

Table of Contents

Usage

Typing restG4 -h will show all available options.

Basic Usage

restG4 simulation.rml will launch a simulation using simulation.rml as the configuration file. The output file will be saved to the specified path in the configuration.

Multithreading

restG4 makes use of the multithreading capabilities of Geant4 and can be used in multithreading mode to significantly increase simulation speed.

By default restG4 is executed in serial mode (one single thread) and is equivalent to the -t 0 option.

Simulation results are determined by the random seed and the number of threads, so using different number of threads with the same seed will produce different results. Using the same seed and same number of threads produces the same results.

The multithreading implementation of restG4 is new and although it looks to be working properly it may have some bugs. If you find one of such bugs, please post an issue here with the multithreading label.

We encourage our users to use the multithreading feature especially when performing exploratory simulations.

Overriding values from the RML

The CLI interface allows to set a few different parameters without having to modify the RML.

Ending the simulation early

The simulation run will naturally end when the selected number of events have been processed. They can either be specified in the RML file or via the -n flag on the CLI. However, the user can also specify additional conditions to end the simulation early.

Structure of the output file

TODO