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)]
