The code is split into two main parts: the simulation and the reconstruction part. If you want to can build programs for only the reconstruction or only the simulation.
To ease the interface of user analysis code with Brahms a structure of user routines is provided, which closely models the GEANT routines, and which are called at the end of the relevant GEANT routines. These routines are
UBINIT | initialisation, before FFREAD |
UBSETR | initialisation, after FFREAD |
UBKINE | after generator input |
UBTRAK | called after GUTRAK for each GEANT track individually |
UBTREV | called after GUTREV, once per event |
UBSTEP | called after GUSTEP |
UBOUT(i) | called at the end of each event |
i=1 after the end of the simulation | |
i=2 after the end of the reconstruction |