remage#

remage is a modern C++ simulation framework for germanium experiments.

Building the project#

Users are required to build the project themselves, since no official binaries are distributed, at the moment.

Required dependencies#

Optional dependencies#

  • Geant4 support for:

    • HDF5 object persistency

    • Multithreading

    • GDML geometry description

  • ROOT 6.06 or higher

  • BxDecay0 1.0.10 or higher

Note

Pre-built Docker container images with all necessary dependencies are available on Docker Hub.

Note

Apptainer images can be easily generated with, e.g.:

$ [sudo] apptainer build remage-base_latest.sif docker://gipert/remage-base:latest

For more details, have a look at the documentation.

Building#

$ git clone https://github.com/legend-exp/remage
$ cd remage
$ mkdir build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=<optional prefix> ..
$ make install

Usage#

Warning

A proper user guide is not available yet. In the meanwhile, users can have a look at the examples.

In the simplest application, the user can simulate in an existing GDML geometry through the remage executable:

$ remage --help
remage: simulation framework for germanium experiments
Usage: ./src/remage [OPTIONS] [macros...]

Positionals:
  macros FILE ...             Macro files

Options:
  -h,--help                   Print this help message and exit
  -q                          Print only warnings and errors
  -v [0]                      Increase verbosity
  -l,--log-level LEVEL [summary]
                              Logging level debug|detail|summary|warning|error|fatal|nothing
  -i,--interactive            Run in interactive mode
  -t,--threads INT            Number of threads
  -g,--gdml-files FILE ...    GDML files
  -o,--output-file FILE       Output file for detector hits

Advanced applications can extend remage and link against libremage with the usual CMake syntax:

project(myapp)
find_package(remage)
# add_library(myapp ...)
# add_executable(myapp ...)
target_link_libraries(myapp PRIVATE RMG::remage)

Next steps#