|
LDMX Software
|
Simulation and reconstruction framework for the Light Dark Matter eXperiment.
ldmx-sw is a large software project and so it is helpful to separate using it to perform physics studies from developing it to fix/improve/enable other studies. In both cases, we use containers to share a fixed software environment, so everyone will need a method for running these containers.
apptainer installed.denv PATH, you just need to update your shell's configuration to look for denv within that directory. A program being "in your `PATH`" can be checked by making sure your shell can find it. "Using" ldmx-sw refers to running simulations and other processors that are already written. If you want to change the ldmx-sw C++, you will need to see the "Developing" instructions below.
In order to use ldmx-sw, no more dependencies are required! Simply choose the version of ldmx-sw you wish to use with your project.
And then you can run ldmx-sw with a configuration script of your choice.
More detail on configuration scripts and analyzing the output files is given in the first section of the online manual.
For development, we use a few more tools to help track our changes and share commands that we use regularly.
docker will be run and ldmx-sw will be developed. Since WSL is often a virtual Ubuntu machine, following the instructions for Ubuntu or Linux can be appropriate.git is installed.git is a very common tool used by software developers and so it may already be available.git lfs is installed. (Test: git lfs prints out a help message instead of an error about lfs not being found.) The default installation of git that is included with Apple's developer tools does not include git lfs which is required by acts to download and unpack one of its own submodules. GitHub has a nice tutorial on how to install git lfs on MacOS.justjust but are longer to type.One can install just in a similar way to denv. Below is an example where the destination directory is set to the same one as the default for denv (~/.local/bin).
Other package manager options are available as well. You will probably want to make sure just's tab complete is available. If you press just -<Tab><Tab> and nothing is listed, then the tab complete is not present and you must manually install it. This can be accomplished by including its completions within your shell's configuration script. For example, in bash, we would add the following to your ~/.bashrc file.
If you are not in bash, look to your shell's documentation on where to place this line. just supports many popular shells including bash, zsh, and fish.
With these additional tools, developers can clone the repository and start development.