def get_sum(hdf5_file, path, array_out, out_lock, rows_slice):
    """Access an array at node 'path' of the 'hdf5_file', compute the sums 
        along a slice of rows specified by 'rows_slice' and add the resulting 
        vector to 'array_out'.
    
    Parameters
    ----------
    hdf5_file : string or file handle
        The location of the HDF5 data structure containing the matrices of availabitilites,
        responsibilities and similarities among others.
        
    path : string 
        Specify the node where the matrix whose row-sums are to be computed is located
        within the given hierarchical data format.
    
    array_out : multiprocessing.Array object
        This ctypes array is allocated from shared memory and used by various
        processes to store the outcome of their computations.
    
    out_lock : multiprocessing.Lock object
        Synchronize access to the values stored in 'array_out'.
        
    rows_slice : slice object
        Specifies a range of rows indices.
    """
    
    Worker.hdf5_lock.acquire()
    
    with tables.open_file(hdf5_file, 'r+') as fileh:
        hdf5_array = fileh.get_node(path)
        tmp = hdf5_array[rows_slice, ...]
        
    Worker.hdf5_lock.release()
    
    szum = np.sum(tmp, axis = 0)
    with out_lock: 
        array_out += szum
        
    del tmp