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., 1993.
        xcen, ycen = 7200., 6670.
        xscl, yscl = 7.78, 10.73
        xslp, yslp = 0., 0.
    elif band == 'NUV':
        xclk, yclk = 2007., 1992.
        # Special value for post-CSP event.
        if eclipse >= 38150:
            yclk = 2016.
        xcen, ycen = 7400., 6070.
        xscl, yscl = 8.79, 14.01
        xslp, yslp = 0.53, 0.
    else:
        # Might need to raise a ValueError or some other proper error?
        print('Band must be either fuv or nuv ... Exiting.')
        return

    return xclk, yclk, xcen, ycen, xscl, yscl, xslp, yslp