def clk_cen_scl_slp(band, eclipse):
    """
    Return the detector clock, center, scale, and slope constants. These are
        empirically determined detector-space calibration parameters that help
        define the relationship between raw event data and its physical position
        on the detector.

    :param band: The band to return the constants for, either 'FUV' or 'NUV'.

    :type band: str

    :param eclipse: The eclipse number to return the constants for.

    :type eclipse: int

    :returns: tuple -- a tuple containing the x-clock, y-clock, x-center,
        y-center, x-scale, y-scale, x-slope, and y-slope constants.
    """
    band = band.upper()
    if band == 'FUV':
        xclk, yclk = 1997.0, 1993.0
        xcen, ycen = 7200.0, 6670.0
        xscl, yscl = 7.78, 10.73
        xslp, yslp = 0.0, 0.0
    elif band == 'NUV':
        xclk, yclk = 2007.0, 1992.0
        if eclipse >= 38150:
            yclk = 2016.0
        xcen, ycen = 7400.0, 6070.0
        xscl, yscl = 8.79, 14.01
        xslp, yslp = 0.53, 0.0
    else:
        print('Band must be either fuv or nuv ... Exiting.')
        return
    return xclk, yclk, xcen, ycen, xscl, yscl, xslp, yslp
