def METHOD_NAME(
    self,
    x,
    t=None,
    phi=None,
    tol=None,
    cwd=None,
    xscache=None,
    o2exe=None,
    *args,
    **kwargs
):
    """Transmutes a material into its daughters.
    Parameters
    ----------
    x : Material or similar
        Input material for transmutation.
    t : float
        Transmutations time [sec].
    phi : float or array of floats
        Neutron flux vector [n/cm^2/sec].  Currently this must either be
        a scalar or match the group structure of EAF.
    tol : float
        Tolerance level for chain truncation.
    cwd : str, optional
        Current working directory for origen runs. Defaults to this dir.
    xscache : XSCache, optional
        A cross section cache to generate cross sections with.
    o2exe : str, optional
        Name or path to ORIGEN 2.2 executable.
    Returns
    -------
    y : Material
        The output material post-transmutation.
    """
    if not isinstance(x, Material):
        x = Material(x)
    if t is not None:
        self.t = t
    if phi is not None:
        self.phi = phi
    if tol is not None:
        self.tol = tol
    if cwd is not None:
        self.cwd = os.path.abspath(cwd)
    if xscache is not None:
        self.xscache = xscache
    if o2exe is not None:
        self.o2exe = o2exe
    # prepare new tape9
    nucs = set(x.comp.keys())
    base_tape9 = self.base_tape9
    decay_nlb, xsfpy_nlb = origen22.nlbs(base_tape9)
    new_tape9 = origen22.xslibs(nucs=nucs, xscache=self.xscache, nlb=xsfpy_nlb)
    t9 = origen22.merge_tape9([new_tape9, base_tape9])
    # write out files
    origen22.write_tape4(x, outfile=os.path.join(self.cwd, "TAPE4.INP"))
    origen22.write_tape5_irradiation(
        "IRF",
        self.t / 86400.0,
        self.xscache["phi_g"][0],
        outfile=os.path.join(self.cwd, "TAPE5.INP"),
        decay_nlb=decay_nlb,
        xsfpy_nlb=xsfpy_nlb,
        cut_off=self.tol,
    )
    origen22.write_tape9(t9, outfile=os.path.join(self.cwd, "TAPE9.INP"))
    # run origen & get results
    f = tempfile.NamedTemporaryFile()
    try:
        subprocess.check_call([self.o2exe], cwd=self.cwd, stdout=f, stderr=f)
    except subprocess.CalledProcessError:
        f.seek(0)
        print("ORIGEN output:\n\n{0}".format(f.read()))
        raise
    finally:
        f.close()
    t6 = origen22.parse_tape6(tape6=os.path.join(self.cwd, "TAPE6.OUT"))
    y = t6["materials"][-1]
    return y