project-zero

This project is a basic starting point to the git bootcamp. The project is c++ based and compile is handled by cmake. The project have a simple architecture with one library folder containing data classes and one executable folder containing a read and copy program.

CMake is used to produce a machine specific compilation routine based on a given compilation tool. Most common build tool are make and ninja. make being the most portable and ninja the high performer. Other specific generator exist such as XCode.

Prerequisites

Micromamba environment

All dependencies for the project could be installed through micromamba using the following command:

"${SHELL}" <(curl -L micro.mamba.pm/install.sh)
curl "https://gitlab.in2p3.fr/lpc-dev/misc-examples/micromamba/-/raw/main/root_py11.yaml?ref_type=heads" > root_py11.yaml
micromamba env create -f root_py11.yaml

To activate the environment use:

micromamba activate root_py11

Data for hands-on analysis

The data could be found at the following links: AGATA:

https://doi.org/10.5281/zenodo.18253801

EXILL:

https://doi.org/10.5281/zenodo.18259896

Cmake basic configuration

CMake will produce for you all the file necessary for compilation and during compilation, additional file will be produced. It is good practice to produce all those file in a specific folder so generated file and source file don't get mixt. This is the 'build folder'.

In addition the final library and executable will be install in a specific folder to be used in production. This is the 'install folder'.

Getting started (make version)

Make is CMake default generator. Cmake will produce a custom made 'makefile' for your computer.

The following command will produce the build folder and populate it with your Makefile. The -B flag is used to define the build folder path and the -DCMAKE_INSTALL_PREFIX is used to define the install folder:

cmake -B build -DCMAKE_INSTALL_PREFIX=install

The following command will then compile and install the project. The -C flag tells make to change folder before execution, entering the build folder:

make -C build install

To execute the poduce executables

./install/bin/analysis_agata

or

./install/bin/analysis_exill