Reflection symmetry operation.

    nv is normal vector to reflection plane
    g is assumed already translated to center of mass @ origin

    .. todo:: Complete geom_reflect docstring

def geom_reflect(g, nv):
    """ Reflection symmetry operation.

    nv is normal vector to reflection plane
    g is assumed already translated to center of mass @ origin

    .. todo:: Complete geom_reflect docstring

    """

    # Imports
    import numpy as np

    # Force g to n-vector
    g = make_nd_vec(g, nd=None, t=np.float64, norm=False)

    # Transform the geometry and return
    refl_g = np.dot(mtx_refl(nv, reps=(g.shape[0] // 3)), g) \
                .reshape((g.shape[0],1))
    return refl_g