'Two dimensional Ring model function.'

@staticmethod
def evaluate(x, y, amplitude, x_0, y_0, r_in, width):

    rr = (((x - x_0) ** 2) + ((y - y_0) ** 2))
    r_range = np.logical_and((rr >= (r_in ** 2)), (rr <= ((r_in + width) ** 2)))
    result = np.select([r_range], [amplitude])
    if isinstance(amplitude, Quantity):
        return Quantity(result, unit=amplitude.unit, copy=False)
    else:
        return result
