def get_source_files(source_ID, sofia_dir_path, name_base):
    """Return the full path of the files for a given source generated by
    SoFiA. The source ID is equivalent to the ID in the catalog generated
    by SoFiA.

    This code is minimalistic, and works on a 'standard' output of SoFiA
    see the code for the naming scheme I consider 'standard'.

    Parameters
    ==========
    source_ID: int
        The ID of the selected source. IDs are not pythonic; i.e. the first ID is 1.

    sofia_dir_path: str
        Full path to the directory where the output of SoFiA saved/generated. Has to end with a slash (/)!

    name_base: str
      The `output.filename` variable defined in the SoFiA template .par. Basically the base of all file names.
      However, it has to end with a lower dash (?): _ !

    Return
    ======
    source_index: int
        The index of the row in the SoFiA database to which the ID belongs to (row index is ID-1 due to python)
    
    catalog_path: str
        Return the full path to the .xml table created by SoFiA
    
    cubelet_path_dict: dict
        A dictionary containing the full path for all the cubelets of the choosen source.
        The dict keys are self explanatory: 'chan', 'cube', 'mask', 'mom0', 'mom1', 'mom2'

    spectra_path: str
        Path to the spectra .txt file.
    """
    #The sources will have ID-1 row index number
    source_index = int(source_ID - 1)

    #Get the catalog path
    catalog_path = sofia_dir_path + name_base + 'cat.xml'

    #Get the list of cubelet images
    chan_cubelet_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_chan.fits'
    cube_cubelet_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_cube.fits'
    mask_cubelet_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_mask.fits'
    mom0_cubelet_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_mom0.fits'
    mom1_cubelet_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_mom1.fits'
    mom2_cubelet_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_mom2.fits'
    
    cubelet_path_dict = {'chan' : chan_cubelet_path,
            'cube' : cube_cubelet_path,
            'mask' : mask_cubelet_path,
            'mom0' : mom0_cubelet_path,
            'mom1' : mom1_cubelet_path,
            'mom2' : mom2_cubelet_path}

    #Get spectra
    spectra_path = sofia_dir_path +  name_base + 'cubelets/' + name_base + str(source_ID) + '_spec.txt'

    return source_index, catalog_path, cubelet_path_dict, spectra_path