def vector_dot(xyz, vector):
    """
    Take a dot product between an array of vectors, xyz and a vector [x, y, z]

    **Required**

    :param numpy.ndarray xyz: grid (npoints x 3)
    :param numpy.ndarray vector: vector (1 x 3)

    **Returns**

    :returns: dot product between the grid and the (1 x 3) vector, returns an
              (npoints x 1) array
    :rtype: numpy.ndarray
    """
    if len(vector) != 3:
        raise Exception(
            "vector should be length 3, the provided length is {}".format(
                len(vector)
            )
        )
    return vector[0]*xyz[:, 0] + vector[1]*xyz[:, 1] + vector[2]*xyz[:, 2]