In my simulations, the horizontal beam steering range is not working correctly. The line that applies the condition is on "simulation.py", lines 497-500:
bs_beam_phi = np.clip(
self.bs_to_ue_phi[bs, ue],
*(self.parameters.imt.bs.antenna.array.horizontal_beamsteering_range + self.bs.azimuth[bs])
)
When using HOTSPOT, self.bs_to_ue_phi varies from -180deg to 180, while self.bs.azimuth[bs] varies from 0 to 360deg. In this sense, this line does not work as it should (in this specific case, when azimuth>180, azimuth = azimuth -360. I do not know how the other systems are implemented, but I think it can be fixed by adding the condition:
if self.bs.azimuth[bs]>180:
self.bs.azimuth[bs] = self.bs.azimuth[bs]-360
However, it will only work if self.bs.azimuth[bs] is scalar, and not a vector.