README.md 2.98 KB
Newer Older
1
2
# Nuchart
This project extracts mass excesses, various Q-values and separation energies, 
3
4
5
6
7
8
half-lives, spins and parities of all nuclides documented in the ***AME*** and 
***NUBASE*** data tables of 2016.

The values are extracted in ***datagetter.py*** and written to a *ROOT* tree in 
***treemaker.py***.
The resulting ROOT tree is called ***nuchart.root***.
9

10
11
12
13
14
15
16
17
It is possible to expand the tree with more values derived from the values already 
present in the tree.
For example, one could calculate Q-values of beta-delayed two-neutron emission by 
using the Q-values of beta decay and subsequent two-neutron separation energies 
stored in the tree.
This specific expansion, among others, is carried out in the C++ files in the 
***expansion*** directory.
Those files serve as general templates for doing further user-specified expansions.
18

19
20
21
22
23
As an added bonus, so to say, the ***dataprinter*** executable made in this project 
can take any ROOT file containing a tree, and, given various parameters and 
conditions on the parameters, produce output in easily human- and machine-interpretable 
ASCII format containing just the parameters fulfilling the given conditions.
This enables further manipulation/analysis of the data outside of ROOT.
24

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
***dataprinter*** is utilised in the ***examples*** directory (via the project 
***Makefile***), in which some figures are produced (outside of ROOT, in python) 
as examples of the values one can extract from *Nuchart*. 
Please see ***dataprinter.cxx*** or perhaps the ***Makefile*** for further information 
on how to use it.


### Prerequisites
The prerequisites for producing ***nuchart.root*** and ***dataprinter*** are 

* GNU Make
* A fairly recent C++ compiler
* Python 3.0 or above
* ROOT with the PyROOT module installed

In order to produce the example figures, the Python libraries NumPy and Matplotlib 
are also required.


### Building 
In order to build ***nuchart.root*** and ***dataprinter*** run

```shell script
make
```

in the project's main directory.

In order to also produce the example figures run

```shell script
make all
```

in the project's main directory.


62
63
64
65
66
67
68
69
If you are here only for the ***dataprinter*** run

```shell script
make dataprinter
```

in the project's main directory.

70
71
72
73
74
75
### Project status
While the project is mostly ready to be used, there are still a few details that 
need fixing or tweaking.
These are listed below.

#### To do
76
77
78
79
* Do todo in top of *datagetter.py* (WIP but not committed here) and *graph-example-beta-delayed.py*
* Extract branching ratios from comment strings in nubase 2016 (WIP but not committed here)
* Distinguish between 'greater than' and 'smaller than' in half-lives
    * Apply this distinction also on other branches, e.g. branching ratios (any other places?)
80
81
82
83
84
85
86
87

#### Done
* Everything prior
* Make generic script which writes desired values from root file to a text file
* Combine subprojects into one big project
* Make QEC example
* Tidied root folder up
* Make chart of nuclides example with beta-delayed particle emission (mostly done)
88