def decay_indexpointer(self):
a_iso_to_plot   =self.a_iso_to_plot<EOL>isotope_to_plot =self.isotope_to_plot<EOL>z_iso_to_plot   =self.z_iso_to_plot<EOL>el_iso_to_plot  =self.el_iso_to_plot<EOL>abunds          =self.abunds<EOL>isom            =self.isom<EOL>z_db, a_db, el_db, stable_a_db,logic_db,charge_from_element_name=self._read_isotopedatabase()<EOL>beta=np.sign(stable_a_db-a_db) <EOL>decay_index_pointer=np.zeros(len(isotope_to_plot), dtype='<STR_LIT:int>')-<NUM_LIT:1><EOL>idp_to_stables_in_isostoplot=[]<EOL>for i in range(len(isotope_to_plot)):<EOL><INDENT>element_name=isotope_to_plot[i].split('<STR_LIT:->')[<NUM_LIT:0>]<EOL>try:<EOL><INDENT>stable_a=stable_a_db[np.where(el_db==element_name)][<NUM_LIT:0>] <EOL><DEDENT>except IndexError:<EOL><INDENT>print("<STR_LIT>"+element_name+"<STR_LIT>")<EOL><DEDENT>if a_iso_to_plot[i] <= <NUM_LIT> and stable_a <=<NUM_LIT>:  <EOL><INDENT>stable_mass_numbers=self.stable_el[self.stable_names.index(element_name)][<NUM_LIT:1>:]<EOL>iso_db_index_range_el=np.where(el_db==element_name)<EOL>beta_for_this_species=int(beta[iso_db_index_range_el][np.where(a_db[iso_db_index_range_el]==a_iso_to_plot[i])])<EOL>if beta_for_this_species == <NUM_LIT:0>:  <EOL><INDENT>beta_for_this_species = -<NUM_LIT:1>  <EOL><DEDENT>if a_iso_to_plot[i] in stable_mass_numbers:<EOL><INDENT>decay_index_pointer[i]=i<EOL>idp_to_stables_in_isostoplot.append(i)<EOL><DEDENT>elif  a_iso_to_plot[i]==<NUM_LIT:8>: <EOL><INDENT>decay_index_pointer[i]=isotope_to_plot.index('<STR_LIT>')<EOL><DEDENT>else: <EOL><INDENT>found_decay_target=False<EOL>i_search=-<NUM_LIT:1>*beta_for_this_species<EOL>while not found_decay_target:<EOL><INDENT>try:<EOL><INDENT>try_target_el=self.stable_names[charge_from_element_name[element_name]+i_search]<EOL><DEDENT>except TypeError:<EOL><INDENT>print("<STR_LIT>"+isotope_to_plot[i]+"<STR_LIT>")<EOL>decay_index_pointer[i]=-<NUM_LIT:1><EOL>break<EOL><DEDENT>try:<EOL><INDENT>stable_mass_numbers=self.stable_el[self.stable_names.index(try_target_el)][<NUM_LIT:1>:]<EOL><DEDENT>except ValueError:<EOL><INDENT>print("<STR_LIT>"+isotope_to_plot[i])<EOL><DEDENT>if a_iso_to_plot[i] in stable_mass_numbers:<EOL><INDENT>ind_range=np.where(np.array(el_iso_to_plot)==try_target_el)[<NUM_LIT:0>]<EOL>if a_iso_to_plot[i] in np.array(a_iso_to_plot)[ind_range]:<EOL><INDENT>this_ind=ind_range[np.where(np.array(a_iso_to_plot)[ind_range]==a_iso_to_plot[i])[<NUM_LIT:0>]]<EOL>decay_index_pointer[i]=this_ind<EOL><DEDENT>else:<EOL><INDENT>print("<STR_LIT>"+isotope_to_plot[i]+"<STR_LIT>"+try_target_el+"<STR_LIT:->"+str(a_iso_to_plot[i])+"<STR_LIT>"+"<STR_LIT>"+isotope_to_plot[i]+'<STR_LIT:.>')<EOL>decay_index_pointer[i]=-<NUM_LIT:1><EOL><DEDENT>found_decay_target=True<EOL><DEDENT>else:<EOL><INDENT>i_search += -<NUM_LIT:1>*beta_for_this_species<EOL><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT>if self.debug:<EOL><INDENT>print("<STR_LIT>")<EOL>for i in range(len(isotope_to_plot)):<EOL><INDENT>if decay_index_pointer[i]>= <NUM_LIT:0>:<EOL><INDENT>print(isotope_to_plot[i]+"<STR_LIT>"+isotope_to_plot[decay_index_pointer[i]])<EOL><DEDENT><DEDENT><DEDENT>ind_tmp=idp_to_stables_in_isostoplot<EOL>self.decay_idp=decay_index_pointer<EOL>self.idp_to_stables_in_isostoplot=ind_tmp<EOL>
This private method provides decay indexpointers which allow to
instantaneously decay an abundance vector. These are attributes
are.

        Parameters
        =================

decay_idp : list
    points in the iso_to_plot (i.e. the undecayed abundance
    vector index space) to the decay target.
idp_to_stables_in_isostoplot : list
    points to the stable isotopes in the undecayed abundance
    vector index space.

Notes
-----
For an application example see ppn.py-abu_vector-_getcycle.