def parse_projectile_line(r):
    """parse projectile data line in numerical values
    Args:
        r (str): input row string, like
                 Ion = Hydrogen [1] , Mass = 1.008 amu
    Returns:
        tuple of (
            Species name,
            Atomic number,
            Atomic mass (in amu))

    Raises:
        Error: raised when number of columns or data is not sufficient.
    """
    c = r.split()
    d = (
        c[2], # Species name
        int(c[3][1:-1]), # Atomic Number
        float(c[7]) # Atomic Mass
        )

    return d