1
0
Fork 0
mirror of https://github.com/gwm17/catima.git synced 2024-05-08 20:47:54 -04:00
A slightly modified version of the catima energy loss library (equivalent to LISE energy loss)
Go to file
2022-12-05 09:36:42 -05:00
bin json lib include and fetching 2020-11-30 15:39:02 +01:00
catima Fix typo in gwm_integrators 2022-12-05 09:36:42 -05:00
docs minor docs 2021-06-22 00:47:38 +02:00
examples Delete simple 2019-10-08 20:12:20 +02:00
gwm_test Fix bug in integrator where occasionally step past 0 energy when stopping in material 2022-12-01 09:39:02 -05:00
libs backup 2020-08-04 17:35:33 +02:00
pymodule energy table indexing 2022-04-22 22:52:10 +02:00
tests energy table indexing 2022-04-22 22:52:10 +02:00
utils ls calculation 2018-01-22 19:36:50 +01:00
.gitignore Update gitignore 2022-06-08 11:23:06 -04:00
.readthedocs.yml Create .readthedocs.yml 2019-10-22 21:33:56 +02:00
appveyor.yml wheel build 2022-04-22 16:05:07 +02:00
build_config.in energy table indexing 2022-04-22 22:52:10 +02:00
CMakeLists.txt Changed structure to organize core library in own directory (matches build pathing) 2022-06-08 11:20:02 -04:00
CREDITS Update CREDITS 2018-01-26 16:04:44 +01:00
init.sh.in cmake 2018-04-18 15:19:03 +02:00
LICENSE initial 2017-07-25 18:19:11 +02:00
README.md Update README.md 2022-03-31 13:08:39 +02:00
spline.cpp energy table indexing 2022-04-22 22:52:10 +02:00

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 ../