pyLaserPulse.catalogue_components.bulk_components

Created on Tue Jun 20 09:22:08 2023

@author: james feehan

Module of classes for branded bulk components.

Classes

Andover_155FS10_25_bandpass(grid[, ...])

Bandpass filter with parameters based on the Andover 155FS10-25 filer.

Thorlabs_Laserline_bandpass(grid, ...)

Bandpass filter with parameters roughly based on the Thorlabs NIR/Laserline bandpass range.

Thorlabs_broadband_PBS(grid, lambda_c, ...)

PBS with parameters roughly based on the Thorlabs broadband PBS range.

half_wave_plate(grid, lambda_c, angle)

Zero-order half wave plate.

quarter_wave_plate(grid, lambda_c, angle)

Zero-order quarter wave plate.

class pyLaserPulse.catalogue_components.bulk_components.half_wave_plate(grid, lambda_c, angle)

Zero-order half wave plate. Assumes perfect half-wave retardation for all wavelengths.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • lambda_c (float) – Central wavelength of the transmission window in m

  • angle (float) – Angle with respect to the x-axis.

__init__(grid, lambda_c, angle)
Parameters:
  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • g (pyLaserPulse.grid.grid object)

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

class pyLaserPulse.catalogue_components.bulk_components.quarter_wave_plate(grid, lambda_c, angle)

Zero-order quarter wave plate. Assumes perfect quarter-wave retardation for all wavelengths.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • lambda_c (float) – Central wavelength of the transmission window in m

  • angle (float) – Angle with respect to the x-axis.

__init__(grid, lambda_c, angle)
Parameters:
  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • g (pyLaserPulse.grid.grid object)

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

class pyLaserPulse.catalogue_components.bulk_components.Thorlabs_broadband_PBS(grid, lambda_c, output_coupler)

PBS with parameters roughly based on the Thorlabs broadband PBS range.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • lambda_c (float) – Central wavelength of the transmission window in m

  • output_coupler (bool) – If True, this component behaves like an output coupler or tap.

__init__(grid, lambda_c, output_coupler)
Parameters:
  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • g (pyLaserPulse.grid.grid object)

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

class pyLaserPulse.catalogue_components.bulk_components.Thorlabs_Laserline_bandpass(grid, transmission_bandwidth, lambda_c)

Bandpass filter with parameters roughly based on the Thorlabs NIR/Laserline bandpass range.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • transmission_bandwidth (float) – Transmission window FWHM in m.

  • lambda_c (float) – Central wavelength of the transmission window in m

  • output_coupler (bool) – If True, this component behaves like an output coupler or tap.

__init__(grid, transmission_bandwidth, lambda_c)
Parameters:
  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • g (pyLaserPulse.grid.grid object)

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

class pyLaserPulse.catalogue_components.bulk_components.Andover_155FS10_25_bandpass(grid, peak_transmission=0.324244)

Bandpass filter with parameters based on the Andover 155FS10-25 filer. Transmission bandwidth is 10 nm.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • peak_transmission (float) – Peak of transmission window. The measured data from the Andover website (component_loss_profiles/Andover_155FS10_25_bandpass) is usually used, but some papers suggest much higher peak transmission is possible. The manufacturer’s specification is 0.324244.

__init__(grid, peak_transmission=0.324244)
Parameters:
  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • g (pyLaserPulse.grid.grid object)

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

class pyLaserPulse.catalogue_components.bulk_components.AA_Optoelectronic_AOM_MT200_A02_980_1100(grid, time_open, rate_reduction_factor, input_rep_rate)

AA Optoelectronic AOM MT200-A02-xx, 200 MHz.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through Cannot be less than 20 ns (specified rise time of 10 ns).

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker.

Notes

The diffraction efficiency of free-space AOMs is dependent on the wavelength and beam diameter. The minimum specified diffraction efficiency of 80% is used in this model.

__init__(grid, time_open, rate_reduction_factor, input_rep_rate)
Parameters:
  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • g (pyLaserPulse.grid.grid object)

  • crosstalk (float) – Polarization degradation caused by the component.

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through See Notes below.

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker. See Notes below.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker. See Notes below.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.