1
0
Fork 0
mirror of https://github.com/gwm17/catima.git synced 2024-11-22 10:18:50 -05:00
A slightly modified version of the catima energy loss library (equivalent to LISE energy loss)
Go to file
2022-06-08 10:29:19 -04:00
bin json lib include and fetching 2020-11-30 15:39:02 +01: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 Add forward and reverse energy loss integrators using similar methods to those of the Yale SPANC integrators 2022-06-08 09:37:32 -04: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 partial update 2018-10-19 02:51:01 +02:00
.readthedocs.yml Create .readthedocs.yml 2019-10-22 21:33:56 +02:00
abundance_database.cpp abundances 2018-04-23 01:39:10 +02:00
abundance_database.h abundances 2018-04-23 01:39:10 +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
calculations.cpp energy table indexing 2022-04-22 22:52:10 +02:00
calculations.h energy table indexing 2022-04-22 22:52:10 +02:00
catima.cpp energy table indexing 2022-04-22 22:52:10 +02:00
catima.h cwrapper update for mocadi 2022-03-29 11:19:50 +02:00
CMakeLists.txt Removed single use external dependence on fmt library in convert.h and modified cmake config to only build single static library by default 2022-06-08 10:29:19 -04:00
config.h scattering update and syncing from local 2021-01-12 21:50:15 +01:00
constants.h Eout eps name correction 2022-03-30 17:05:43 +02:00
convert.h Removed single use external dependence on fmt library in convert.h and modified cmake config to only build single static library by default 2022-06-08 10:29:19 -04:00
CREDITS Update CREDITS 2018-01-26 16:04:44 +01:00
cwrapper.cpp energy table indexing 2022-04-22 22:52:10 +02:00
cwrapper.h cwrapper update for mocadi 2022-03-29 11:19:50 +02:00
data_atima.h config change 2019-10-09 08:19:07 +02:00
data_ionisation_potential.h C Ipot 2018-02-07 10:55:35 +01:00
generated_LS_coeff.h he u4 2018-11-01 15:04:28 +01:00
gwm_integrators.cpp Add forward and reverse energy loss integrators using similar methods to those of the Yale SPANC integrators 2022-06-08 09:37:32 -04:00
gwm_integrators.h Add forward and reverse energy loss integrators using similar methods to those of the Yale SPANC integrators 2022-06-08 09:37:32 -04:00
init.sh.in cmake 2018-04-18 15:19:03 +02:00
integrator.cpp backup 2020-08-04 17:35:33 +02:00
integrator.h improved angular scattering 2020-12-16 22:53:44 +01:00
LICENSE initial 2017-07-25 18:19:11 +02:00
material_database.cpp improved angular scattering 2020-12-16 22:53:44 +01:00
material_database.h improved angular scattering 2020-12-16 22:53:44 +01:00
nucdata.cpp initial 2017-07-25 18:19:11 +02:00
nucdata.h initial 2017-07-25 18:19:11 +02:00
reactions.cpp kox formula CC change 2019-01-17 18:20:00 +01:00
reactions.h gsl guards 2019-10-08 19:51:45 +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
spline.h energy table indexing 2022-04-22 22:52:10 +02:00
srim.cpp u3 2019-11-21 14:10:03 +01:00
srim.h Config refactoring 2019-05-10 21:02:51 +02:00
storage.cpp energy table indexing 2022-04-22 22:52:10 +02:00
storage.h energy table indexing 2022-04-22 22:52:10 +02:00
structures.cpp layers in cm 2020-08-06 15:47:39 +02:00
structures.h ps calc. 2022-03-23 15:35:57 +01: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 ../