def clip(self, params: LaserBeam):
        """
        Keep received parameters in the tolerance ranges.

        :param params: Parameters of the LaserBeam that will be eventually clipped.
        :return: LaserBeam parameters in the desired ranges.
        """
        clipped_params = np.clip(params.to_numpy(), self.min_params.to_numpy(), self.max_params.to_numpy())
        params.wavelength = clipped_params[0]
        params.line.angle = clipped_params[1]
        params.line.bias = clipped_params[2]
        params.width = clipped_params[3]
        return params

        Keep received parameters in the tolerance ranges.

        :param params: Parameters of the LaserBeam that will be eventually clipped.
        :return: LaserBeam parameters in the desired ranges.
        
art/attacks/evasion/laser_attack/laser_attack.py