EN207

Compute scale numbers using the EN207 standard.

lasersafety.en207.continuous_scale_number(average_power: float | int, area: float | int, wavelength: float | int) int

Find the scale number for a continuous beam. This method uses the average power (in W), the area (in m^2) and the wavelength in m. The power density is computed by dividing the average power by the area. Depending on the wavelength, the scale number is returned.

Parameters:
  • average_power (Union[float, int]) – average power, in W.

  • area (Union[float, int]) – beam area, in m^2.

  • wavelength (Union[float, int]) – wavelength, in m.

Returns:

scale number for the continuous beam.

Return type:

int

lasersafety.en207.pulsed_scale_number(peak_power: float | int, pulse_energy: float | int, area: float | int, pulse_duration: float | int, repetition_rate: float | int, wavelength: float | int) int

Compute the scale number for a pulsed beam. This is done by using the peak power (in W), the pulse energy (in J), the area (in m^2), the pulse duration (in s), the repetition rate (in Hz) and the wavelength (in m).

The laser mode is computed using the pulse duration. Then, it calls either _pulsed_scale_number_ir() or _pulsed_scale_number_m() with the pulse energy, the area, the repetition rate and the wavelength.

Parameters:
  • peak_power (Union[float, int]) – peak power, in W.

  • pulse_energy (Union[float, int]) – pulse energy, in J.

  • area (Union[float, int]) – beam area, in m^2.

  • pulse_duration (Union[float, int]) – pulse duration, in s.

  • repetition_rate (Union[float, int]) – repetition rate, in Hz.

  • wavelength (Union[float, int]) – wavelength, in m.

Raises:

Exception – when using this function with a mode D laser.

Returns:

the scale number for the pulsed beam.

Return type:

int

lasersafety.en207._pulsed_scale_number_ir(pulse_energy: float | int, area: float | int, repetition_rate: float | int, wavelength: float | int) int

Compute the scale number for an I or R pulsed laser, done by using the pulse energy (in J), the beam area (in m^2), the repetition rate (in Hz) and the wavelength (in m).

It computes the energy density by dividing the pulse energy by the area. Then if the wavelength is between 400 nm and 1400 nm, the energy density is corrected with the fourth root of the number of pulses in 10 s.

Parameters:
  • pulse_energy (Union[float, int]) – the pulse energy, in J.

  • area (Union[float, int]) – the beam area, in m^2.

  • repetition_rate (Union[float, int]) – the repetition rate, in Hz.

  • wavelength (Union[float, int]) – the wavelength, in m.

Returns:

the scale number for an I or R pulsed laser.

Return type:

int

lasersafety.en207._pulsed_scale_number_m(peak_power: float | int, pulse_energy: float | int, area: float | int, repetition_rate: float | int, wavelength: float | int) int

Compute the scale number for an M pulsed laser, done by using the peak power (in W), the pulse energy (in J), the beam area (in m^2), the repetition rate (in Hz) and the wavelength (in m).

If the wavelength is between 315 nm and 1400 nm, the energy, computed as the ratio of the pulse energy and the beam area, is used to determine the scale number. Additionnally, if the wavelength is between 400 nm and 1400 nm, the energy density is corrected by the fourth root of the number of pulses in 10 s.

If the wavelength is not in this range, the peak power density is computed by dividing the peak power power by the beam area. Then the scale number is returned.

Parameters:
  • peak_power (Union[float, int]) – the peak power, in W.

  • pulse_energy (Union[float, int]) – the pulse energy, in J.

  • area (Union[float, int]) – the beam area, in m^2.

  • repetition_rate (Union[float, int]) – the repetition rate, in Hz.

  • wavelength (Union[float, int]) – the wavelength, in m.

Returns:

the scale number for an M pulsed laser.

Return type:

int