Skip to content

A library to define all the ingredients required for basic axion-photon raytracing in axion helioscopes. Solar axion flux generation routines, optics response, magnetic field definition, and likelihood sensitivity calculations.

Notifications You must be signed in to change notification settings

rest-for-physics/axionlib

Repository files navigation

website api forum github pipeline

Framework DOI: DOI

Library DOI: DOI

This is a REST-for-Physics library used to generate solar axions and obtain the detection probability function. The library allows to define a generic helioscope setup - buffer gas, magnetic field, optics response, photon transmission - through dedicated REST-for-Physics metadata definitions found in this library.

This library is distributed together with the REST-for-Physics framework as a submodule. In order to use it within the framework it is necessary to pull the library submodule. The main user website guide, at the downloads page, will provide accurate instructions on how to download the axionlib and other modules. In short, the following recipe should pull the latest official version:

cd rest-framework
python3 pull-submodules.py --onlylibs

Prerequisites

As any REST library, this library requires a running installion of REST-for-Physics Framework. But on top of that, some calculations require higher precision arithmetics and we need to use a external library named mpfr.

All you need to be able to compile axionlib is to install the mpfr library. Download the source, compile, and install. Usually as simple as running ./configure, make and make install at the downloaded source directory.

mpfr installation:

If you are using Debian distribution or Debian based Linux distribution, executing sudo apt install libmpfr-dev should be enough to install the required mpfr library.

Manual installation

Download the file mpfr-4.1.0.tar.gz from the following site compile and install executing the following commands.

wget https://www.mpfr.org/mpfr-current/mpfr-4.1.0.tar.gz
tar -zxvf mpfr-4.1.0.tar.gz
cd mpfr-4.1.0/
./configure
make
sudo make install (to do a system installation)

RestAxionLib installation

Once you have all the prerequisites installed you need to add the library at the REST-for-Physics framework compilation stage. Go to the main framework build directory and add the axion library as a compilation option.

cd framework/build
cmake -DRESTLIB_AXION=ON -DREST_MPFR=ON ../
make -j4 install

If you have installed MPFR from source you may need to specify the path where the installation files are located at the cmake stage:

cd framework/build
cmake -DRESTLIB_AXION=ON -DREST_MPFR=ON -DMPFR_PATH=/full/path/to/mpfr/ ../
make -j4 install

In case of problems it is recommended to have a look at the following complete download and installation instructions.

It is necessary to enable the REST_MPFR cmake option in order to benefit from the MPFR routines integration. If not, classes that use MPFR will not be compiled. REST_MPFR might be optionally disabled in case MPFR libraries are not available. However, this will lead to a non-complete installation of axionlib.

Publications

This repository makes use of the following published codes:

About

A library to define all the ingredients required for basic axion-photon raytracing in axion helioscopes. Solar axion flux generation routines, optics response, magnetic field definition, and likelihood sensitivity calculations.

Resources

Stars

Watchers

Forks

Packages

No packages published