Skip to content

BDSIM

Hostgroups

These features are available for the following hostgroups and their respective subhostgroups:

  • BDSIM in batch mode:

    • machine_protection/linux
  • BDSIM with the Qt visualizzer:

    • machine_protection/linux/ts

The prefered way to run BDSIM is to use the CVMFS builds that have been prepared and are compatible with CC7 and C8. The toolchain (compiler and libraries) is re-used from CVMFS as well. Batch and interactive modes are supported.

tl;dr

Source BDSIM for use in batch mode

source /cvmfs/beam-physics.cern.ch/bdsim/x86_64-centos7-gcc9-opt/bdsim-env-v1.6.0-g4v10.7.2.3.sh

Using BDSIM in interactive mode with the Qt visualizer

The sourced environment includes Qt5 by default and BDSIM can be used as is with the visualizer.

Some additional details to use BDSIM from CVMFS

The repository 'beam-physics.cern.ch' holds a 'bdsim' sub-repository which are available from any machine with access to CVMFS:

[chernals@mp-linux-ts-01 ~]$ ls /cvmfs/beam-physics.cern.ch/
bdsim  readme.txt
[chernals@mp-linux-ts-01 ~]$ ls /cvmfs/beam-physics.cern.ch/bdsim
x86_64-centos7-gcc8-opt  x86_64-centos7-gcc8-opt-lcg100
[chernals@mp-linux-ts-01 ~]$ ll /cvmfs/beam-physics.cern.ch/bdsim/x86_64-centos7-gcc8-opt-lcg100/
total 16
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:23 bdsim-develop-g4v10.4.3.1
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:29 bdsim-develop-g4v10.4.3.1-st
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:26 bdsim-develop-g4v10.6.1
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:17 bdsim-develop-g4v10.7.1.1
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:32 bdsim-develop-g4v10.7.1.1-st
-rw-r--r--. 1 cvmfs cvmfs 1401 May 13 12:23 bdsim-env-develop-g4v10.4.3.1.sh
-rw-r--r--. 1 cvmfs cvmfs 1401 May 13 12:29 bdsim-env-develop-g4v10.4.3.1-st.sh
-rw-r--r--. 1 cvmfs cvmfs 1397 May 13 12:26 bdsim-env-develop-g4v10.6.1.sh
-rw-r--r--. 1 cvmfs cvmfs 1401 May 13 12:17 bdsim-env-develop-g4v10.7.1.1.sh
-rw-r--r--. 1 cvmfs cvmfs 1401 May 13 12:32 bdsim-env-develop-g4v10.7.1.1-st.sh
-rw-r--r--. 1 cvmfs cvmfs 1400 May 13 12:20 bdsim-env-v1.5.1-g4v10.4.3.1.sh
-rw-r--r--. 1 cvmfs cvmfs 1400 May 13 12:14 bdsim-env-v1.5.1-g4v10.7.1.1.sh
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:20 bdsim-v1.5.1-g4v10.4.3.1
drwxr-xr-x. 6 cvmfs cvmfs   84 May 13 12:14 bdsim-v1.5.1-g4v10.7.1.1
drwxr-xr-x. 7 cvmfs cvmfs  129 May 13 11:53 geant4-v10.4.3.1
drwxr-xr-x. 6 cvmfs cvmfs  114 May 13 12:02 geant4-v10.6.1
drwxr-xr-x. 7 cvmfs cvmfs  101 May 13 12:11 geant4-v10.7.1.1
drwxr-xr-x. 7 cvmfs cvmfs   89 May 13 12:34 python-utils
where all the builds available for the LCG100 toolchain are shown. A variety of builds is available, for different versions and branches of BDSIM and for different versions of Geant4. Refer to the specific documentation of your project to determine which one to use.

To use one of the builds, simply source the environment file. For example, to use BDSIM v1.5.1 with Geant4 v10.7.1.1; BDSIM and the associated tools will then be available in your path:

[chernals@mp-linux-ts-01 ~]$ source /cvmfs/beam-physics.cern.ch/bdsim/x86_64-centos7-gcc8-opt-lcg100/bdsim-env-v1.5.1-g4v10.7.1.1.sh
[chernals@mp-linux-ts-01 ~]$ which bdsim
/cvmfs/beam-physics.cern.ch/bdsim/x86_64-centos7-gcc8-opt-lcg100/bdsim-v1.5.1-g4v10.7.1.1/bin/bdsim
[chernals@mp-linux-ts-01 ~]$ which rebdsim
/cvmfs/beam-physics.cern.ch/bdsim/x86_64-centos7-gcc8-opt-lcg100/bdsim-v1.5.1-g4v10.7.1.1/bin/rebdsim

Using the BDSIM Python toolchain

The BDSIM Python toolchain (using Python 3.8 and ipython) is available via CVMFS as well and is automatically added to the $PYTHONPATH environment variable when sourcing the above scripts:

[chernals@mp-linux-ts-01 ~]$ ll /cvmfs/beam-physics.cern.ch/bdsim/x86_64-centos7-gcc8-opt-lcg100/python-utils/
total 3
drwxr-xr-x. 4 cvmfs cvmfs 161 Apr  6 15:33 fortranformat
drwxr-xr-x. 6 cvmfs cvmfs 233 May 13 12:32 pybdsim
drwxr-xr-x. 5 cvmfs cvmfs 177 May 13 12:33 pymad8
drwxr-xr-x. 6 cvmfs cvmfs 183 May 13 12:32 pymadx
drwxr-xr-x. 5 cvmfs cvmfs 169 May 13 12:33 pytransport
[chernals@mp-linux-ts-01 ~]$ ipython
Python 3.8.6 (default, Dec 11 2020, 21:39:59) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import pybdsim