php1ic / inch

The Interactive Nuclear CHart
GNU General Public License v3.0
3 stars 2 forks source link
c-plus-plus chart cpp17 nuclear-physics postscript segre svg tikz

INCH - the Interactive Nuclear CHart


[Status]() GitHub Issues GitHub Pull Requests License: GPL v3 codecov CodeFactor Codacy Badge


OS Config Build Status Compiler Version
Linux Gitlab Pipeline Status gcc13, clang16
CircleCI CircleCI gcc11, clang15
Github Linux gcc11, clang15
Windows Github Windows MSVC2022

Introduction

INCH is a C++ project aimed at providing a simple method of creating high quality (preferably vector graphic) images of a bespoke region of the nuclear, sometimes referred to as Segre, chart.

No guarantee is supplied with regards to the accuracy of the data presented. Estimated values are included, please always refer to the original sources. All data should, however, be accurate.

Suggestions/improvements are encouraged, either create an issue or implement the change and send a pull request via github .

The code can read data from the following published papers:

The data contained within is freely available as ASCII files, all of which are included with the project for ease. The newer tables are available on the AMDC website, and the historic page can be used to find older ones.

Output file formats and what is drawn

As it currently stands, the available outputs, and what they can do are:

Functionality Encapsulated Postscript (*.eps) LaTeX/PGF/TikZ Scalable Vector Graphics (*.svg)
Create and position a shape representing an isotope :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
Add text to the icon representing an isotope :heavy_check_mark: :heavy_check_mark: :x:
Show magic numbers :heavy_check_mark: :x: :x:
Show R-process :heavy_check_mark: :x: :x:
Show key :heavy_check_mark: :x: :x:
Show drip lines :heavy_check_mark: :x: :x:

Aquiring

Simplest way to aquire the repo is to clone it. The project makes use of fmt and Catch2 via submodules so they need to be initialised. The below is enough to get you started.

$ git clone --recursive-submodules https://github.com/php1ic/inch.git

Building

The project is built using cmake and instructions on building can be found in the file INSTALL.md.

The following files, within ./data_files/, should NOT be altered. Although they are all freely available from the above links if they are modified.

FRLDM_ME.tbl
mass.mas03
mass.mas12
mass16.txt
nubtab03.asc
nubase.mas12
nubase2016.txt

Any other files in ./data_files/ are used for extra functionality and in some cases are recreated if not present. As always, if you aren't sure, don't change it and if you do, backup!

Versioning

There is an attempt to follow SemVer for versioning numbers. For the currently available versions, see the tags on this repository.

License

The code may be freely copied, distributed and altered under the terms of the GNU GPL v3 license. Please read the file COPYING, which should be located at the root of the project, for full details.