#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Créé le Sun May  8 16:45:40 2022

@auteur: david ALBERTO
(www.astrolabe-science.fr)
"""

import pandas as pd

Zmax=118
Nmax=179
# ----------------------------------
donnees=pd.read_csv("data_decay_mode.csv",
                    skiprows=27,
                    sep="\t",
                    usecols=[2,3,4],
                    names=['Z','N','mode']
                    )

donnees = donnees[donnees['Z'] <=Zmax]# filtrer les valeurs de Z

# Les listes suivantes accueilleront les coordonnées (Z,N) par type de désintégration
noyaux_alpha = []
noyaux_beta_m = []
noyaux_beta_p = []
noyaux_capt_e = []
noyaux_stables = []
noyaux_em_proton = []
noyaux_em_neutron = []
noyaux_fission = []

# balayage du tableau de données :
for i in donnees.index :
    type=donnees['mode'][i]
    Z = donnees['Z'][i]
    N = donnees['N'][i]
    if 'A' in type:
        noyaux_alpha.append((Z,N))
    elif 'B-' in type:
        noyaux_beta_m.append((Z, N))
    elif 'B+' in type:
        noyaux_beta_p.append((Z, N))
    elif 'EC' in type:
        noyaux_capt_e.append((Z, N))
    elif 'IS' in type:
        noyaux_stables.append((Z, N))
    elif 'SF' in type:
        noyaux_fission.append((Z, N))
    elif 'p' in type:
        noyaux_em_proton.append((Z, N))
    elif 'n' in type:
        noyaux_em_neutron.append((Z, N))
        

stables=pd.DataFrame(noyaux_stables, columns=['Z','N'])
stables.to_csv("noyaux_stables.csv", sep=';', columns=['Z','N'])

alpha=pd.DataFrame(noyaux_alpha, columns=['Z','N'])
alpha.to_csv("noyaux_alpha.csv", sep=';', columns=['Z','N'])

beta_m=pd.DataFrame(noyaux_beta_m, columns=['Z','N'])
beta_m.to_csv("noyaux_beta_m.csv", sep=';', columns=['Z','N'])

beta_p=pd.DataFrame(noyaux_beta_p, columns=['Z','N'])
beta_p.to_csv("noyaux_beta_p.csv", sep=';', columns=['Z','N'])

capt_e=pd.DataFrame(noyaux_capt_e, columns=['Z','N'])
capt_e.to_csv("noyaux_capt_e.csv", sep=';', columns=['Z','N'])

em_proton=pd.DataFrame(noyaux_em_proton, columns=['Z','N'])
em_proton.to_csv("noyaux_em_proton.csv", sep=';', columns=['Z','N'])

em_neutron=pd.DataFrame(noyaux_em_neutron, columns=['Z','N'])
em_neutron.to_csv("noyaux_em_neutron.csv", sep=';', columns=['Z','N'])

fission=pd.DataFrame(noyaux_fission, columns=['Z','N'])
fission.to_csv("noyaux_fission.csv", sep=';', columns=['Z','N'])