1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
/*!

  Nuclide is a simple modeling and data library for nuclear isotopes (and eventually isomers and/or ions). It is meant to be a midpoint between
  basic periodic table libraries and advanced research software like GEANT4.

  Notable capabilities of this library are listed below.

  - Data on 3585 nuclides, including : Atomic mass, half-life (total and partial),  decay mode
  - Decay modeling for all unstable nuclides with total energies and particles emitted
  - Approximation of the mass and binding energy of theorectical nuclides
  - Elemental data including : ionization levels, various atomic radii and electronegativity measures
  - Hardcoded data. Unlike more advanced libraries, all data is hardcoded or computed resulting in a condensed standalone library. It is believed by the author to be the largest standalone nuclide library in any language

  Some features that are absent by design

  - Data on macroscopic properties, like melting point or abundance, are beyond the scope of this library which intends to model individual atoms.
  - Error bounds. Introduce levels of complexity that are beyond the intention of the library. For accurate proper modeling look for more
   specialized libraries.
  - Data on discovery and other metainformation. Not considered useful in application.
  
 

*/
#![allow(non_snake_case)]

mod atom;
mod isomer;
pub(crate) mod nuclidedata;
pub mod decay;
mod particle;
mod rng;
mod mmodel;
pub(crate) mod constant;

pub use crate::atom::Atom;
pub use crate::isomer::Isomer;
pub use crate::nuclidedata::nuclidestruct::Nuclide;
//pub use crate::Nuclide;
pub use crate::particle::Particle;
//pub use crate::types::*;
//pub(crate) use crate::decay::*;

// decay chain 
// adjacency_matrix
// daughter isotopes
// parent isotopes
// Decay types vector   
// partial_half_life
// partial_decay_constant
// decay_types