def METHOD_NAME(amp_type='100', path=os.path.dirname(os.path.realpath(__file__))):
    """
    Read out amplifier gain and phase. Currently only examples have been implemented.
    Needs a better structure in the future, possibly with database.
    """
    amp_response = {}
    if amp_type == '100':
        amp_gain_discrete = np.loadtxt(os.path.join(path, 'HardwareResponses/Amp109_SHP100SLP1000_3L3_60dB.csv'),
                                       skiprows=44, delimiter=',')
        ph = os.path.join(path, 'HardwareResponses/AMP109_SHP100SLP1000_3L3_PHASE.CSV')
        amp_phase_discrete = np.loadtxt(ph, skiprows=3, delimiter=',')
    elif amp_type == '200':
        amp_gain_discrete = np.loadtxt(os.path.join(path, 'HardwareResponses/amp_200_logmag.csv'),
                                       skiprows=3, delimiter=',')
        ph = os.path.join(path, 'HardwareResponses/amp_200_phase.csv')
        amp_phase_discrete = np.loadtxt(ph, skiprows=3, delimiter=',')
    elif amp_type == '300':
        amp_gain_discrete = np.loadtxt(os.path.join(path, 'HardwareResponses/amp_300_gain.csv'),
                                       skiprows=3, delimiter=',')
        ph = os.path.join(path, 'HardwareResponses/amp_300_phase.csv')
        amp_phase_discrete = np.loadtxt(ph, skiprows=3, delimiter=',')
    else:
        logger.error("Amp type not recognized")
        return amp_response
    # Convert to GHz and add 60dB/40dB for attenuation in measurement circuit
    amp_gain_discrete[:, 0] *= units.Hz
    if amp_type == '300':
        amp_gain_discrete[:, 1] += 40
    elif amp_type == '100':
        amp_gain_discrete[:, 1] += 60
    elif amp_type == '200':
        amp_gain_discrete[:, 1] += 60
    amp_gain_db_f = interp1d(amp_gain_discrete[:, 0], amp_gain_discrete[:, 1],
                             bounds_error=False, fill_value=0)  # all requests outside of measurement range are set to 0
    def get_amp_gain(ff):
        amp_gain_db = amp_gain_db_f(ff)
        amp_gain = 10 ** (amp_gain_db / 20.)
        return amp_gain
    # Convert to MHz and broaden range
    amp_phase_discrete[:, 0] *= units.Hz
    amp_phase_f = interp1d(amp_phase_discrete[:, 0], np.unwrap(np.deg2rad(amp_phase_discrete[:, 1])),
                           bounds_error=False, fill_value=0)  # all requests outside of measurement range are set to 0
    def get_amp_phase(ff):
        amp_phase = amp_phase_f(ff)
        return np.exp(1j * amp_phase)
    amp_response['gain'] = get_amp_gain
    amp_response['phase'] = get_amp_phase
    return amp_response