'Two dimensional Trapezoid Disk model function'

@staticmethod
def evaluate(x, y, amplitude, x_0, y_0, R_0, slope):

    r = np.sqrt((((x - x_0) ** 2) + ((y - y_0) ** 2)))
    range_1 = (r <= R_0)
    range_2 = np.logical_and((r > R_0), (r <= (R_0 + (amplitude / slope))))
    val_1 = amplitude
    val_2 = (amplitude + (slope * (R_0 - r)))
    result = np.select([range_1, range_2], [val_1, val_2])
    if isinstance(amplitude, Quantity):
        return Quantity(result, unit=amplitude.unit, copy=False)
    else:
        return result
