1
0
Fork 0
mirror of https://github.com/gwm17/catima.git synced 2024-05-19 23:33:19 -04:00
catima/README.md
2022-03-31 13:08:39 +02:00

2.9 KiB

Codacy Badge Language grade: C/C++ Build status Documentation Status

CATima

C++ library for calculation of energy loss, range, angular scattering and time of flight of the particle passing through matter. The library is based on physics used in the ATIMA code,however its not a 100% copy of the ATIMA physics. see CREDITS for more details.

The WebAtima UI to this library can be found here:

Installation

CMake is used to build the library. For default build:

> mkdir build
> cd build
> cmake ../
> make

after the compilation the libraries and headers must be either installed system-wide by make install or PATH and LD_LIBRARY_PATH must be adjusted to point to headers and library files. The default install path can be change, ie: cmake -DCMAKE_INSTALL_PREFIX=/opt/catima

the option to system-wide installation is to adjust library path and include paths. This can be done sourcing the init.sh file, which is generated in the build directory:

> source init.sh

Python Module

Python module can be installed for Linux and Windows and python versions 3.7-3.10 using pip:

pip install pycatima

cmake options

compile options, enable or disable with cmake:

cmake ../ -D[OPTION]

available options:

  • BUILD_SHARED_LIBS - if ON shared library is build, otherwise static
  • PYTHON_MODULE - enable/disable building of the python bindigs, pybind11 is required to build the catima python module, default OFF
  • APPS - build command line app, default ON
  • TESTS - build tests, default OFF
  • EXAMPLES - build examples, default OFF
  • GENERATE_DATA - makes program to re-generate precalculated tables (ie precalculated LS coefficients), default:OFF
  • THIN_TARGET_APPROXIMATION - compile the library with thin target approximation, default: ON
  • GSL_INTEGRATION - use GSL integration functions, otherwise use built-in integrator, default: OFF
  • GLOBAL - compile with GLOBAL code (source not included at the moment, needs to be manually added to global directory, default:OFF)
  • STORE_SPLINES - store splines in cache, if disabled datapoints are stored and splines are recreated, default ON

ie:

cmake -DPYTHON_MODULE=ON ../