def get_times():
    """
    Produce a deepcopy of the current timing data (no risk of interference
    with active timing or other operaitons).

    Returns:
        Times: gtimer timing data structure object.
    """
    if f.root.stopped:
        return copy.deepcopy(f.root.times)
    else:
        t = timer()
        times = collapse.collapse_times()
        f.root.self_cut += timer() - t
        return times