# Connect the on_pick function with the pick event
        ax1.figure.canvas.mpl_connect('pick_event', on_pick)

        plt.show()
        # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    # xxxxxxxxxx Return the results xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    return sinr_array_pl_metis_ps7_dB, capacity_metis_ps7


if __name__ == '__main__':
    scenario_params = {
        'side_length': 10.,  # 10 meters side length
        'single_wall_loss_dB': 5.,
        'num_rooms_per_side': 12,
        'ap_decimation': 2
    }

    power_params = {
        'Pt_dBm': 20.,  # 20 dBm transmit power
        # Noise power for 25°C for a bandwidth of 5 MHz ->  -106.87 dBm
        'noise_power_dBm': calc_thermal_noise_power_dBm(25, 5e6)
    }

    out = perform_simulation(scenario_params,
                             power_params,
                             plot_results_bool=True)
    sinr_array_pl_metis_ps7_dB, capacity_metis_ps7 = out
    out = (sinr_array_pl_nothing_dB, sinr_array_pl_3gpp_dB, sinr_array_pl_free_space_dB, sinr_array_pl_metis_ps7_dB)
    return out


if __name__ == "__main__":
    scenario_params = {
        "side_length": 10.0,  # 10 meters side length
        "single_wall_loss_dB": 5.0,
        "num_rooms_per_side": 12,
        "ap_decimation": 1,
    }

    power_params = {
        "Pt_dBm": 20.0,  # 20 dBm transmit power
        # Noise power for 25°C for a bandwidth of 5 MHz ->  -106.87 dBm
        "noise_power_dBm": calc_thermal_noise_power_dBm(25, 5e6),
    }

    out = perform_simulation_SINR_heatmap(scenario_params, power_params)

    (sinr_array_pl_nothing_dB, sinr_array_pl_3gpp_dB, sinr_array_pl_free_space_dB, sinr_array_pl_metis_ps7_dB) = out

    (
        num_rooms_per_side,
        _,  # num_rooms_per_side
        _,  # num_discrete_positions_per_room again
        num_discrete_positions_per_room,
    ) = sinr_array_pl_nothing_dB.shape

    print("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
    print("SINR statistics for the 64 central rooms")
           sinr_array_pl_free_space_dB,
           sinr_array_pl_metis_ps7_dB)
    return out


if __name__ == '__main__':
    scenario_params = {
        'side_length': 10.,  # 10 meters side length
        'single_wall_loss_dB': 5.,
        'num_rooms_per_side': 12,
        'ap_decimation': 1}

    power_params = {
        'Pt_dBm': 20.,  # 20 dBm transmit power
        # Noise power for 25°C for a bandwidth of 5 MHz ->  -106.87 dBm
        'noise_power_dBm': calc_thermal_noise_power_dBm(25, 5e6)
    }

    out = perform_simulation_SINR_heatmap(scenario_params, power_params)

    (sinr_array_pl_nothing_dB,
     sinr_array_pl_3gpp_dB,
     sinr_array_pl_free_space_dB,
     sinr_array_pl_metis_ps7_dB) = out

    (num_rooms_per_side,
     _,  # num_rooms_per_side
     _,  # num_discrete_positions_per_room again
     num_discrete_positions_per_room) = sinr_array_pl_nothing_dB.shape

    print("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")