MoleCool.Lasersystem.Laser#

class MoleCool.Lasersystem.Laser(lamb=8.6e-07, freq_shift=0, pol='lin', pol_direction=None, P=0.02, I=None, FWHM=0.005, w=None, w_cylind=0.0, r_cylind_trunc=0.05, dir_cylind=[1, 0, 0], freq_Rabi=None, k=[0, 0, 1], r_k=[0, 0, 0], beta=0.0, phi=0.0, pol2=None, pol2_direction=None)[source]#

Bases: object

This class contains all physical properties of a laser which can be assembled in the class Lasersystem.

Note

freq_shift is given as non-angualar frequency, i.e. without the \(2 \pi\) factor.

Parameters:
  • lamb (float, optional) – wavelength lambda. The default is 860e-9.

  • freq_shift (float, optional) – Shift of the laser’s frequency (without 2 pi) additional to the frequency determined by Parameter lamb. The default is 0.0.

  • pol (str, tuple(str,str), optional) – polarization of the laserbeam. Can be either ‘lin’, ‘sigmap’ or ‘sigmam’ for linear or circular polarized light of the laser. For polarization switching a tuple of two polarizations is needed. The default is ‘lin’.

  • pol_direction (str, optional) – optional addition to the pol parameter to be considered in the OBEs calculation. Can be either ‘x’,’y’,’z’ for linear polarization or ‘xy’,’xz’,’yz’ for circular polarization. Given the default value None the linear polarization is aong the quantization axis ‘z’ and the circular ones in ‘xy’.

  • P (float, optional) – Laser power in W. The default is 20e-3.

  • I (float, optional) – Intensity of the laser beam. When specified a given power P is ignored. The default is None.

  • FWHM (float, optional) – FWHM (full width at half maximum) of the Gaussian intensity distribution of the laserbeam. When this value is adjusted after the initialization of the object the w value is automatically corrected but to further adjust the intensity the power has to be set again. The default is 5e-3.

  • w (float, optional) – \(1/e^2\) beam radius of the Gaussian intensity distribution. When this value is adjusted after the initialization of the object the FWHM value is automatically corrected but to further adjust the intensity the power has to be set again. The default is None.

  • w_cylind (float, optional) – \(1/e^2\) beam radius of the Gaussian intensity distribution along x direction for the specific configuration where the laser beam is aligned in y axis direction and has a widened intensity distribution along x axis with radius w_cylind. The distribution along the z axis is given by the radius w. The default is 0.0.

  • r_cylind_trunc (float, optional) – specifies the radial distance along the direction dir_cylind (widened by a cylindrical lens) at which the intensity is truncated. The default is 5e-2.

  • dir_cylind (1D array of size 3, optional) – Direction in which the beam is widened by a cylindrical lens. This direction has to be orthogonal to the laser wave vector k. This variable has only an effect when the input parameter w_cylind is non-zero. The default is [1,0,0].

  • freq_Rabi (float, optional) – Rabi frequency in terms of angular frequency 2 pi. The appropriate intensity is first set to an arbitrary value since it is adjusted later during the calculation where the levels are involved. The default is None.

  • k (list or array type of dimension 3, optional) – direction of the wave vector \(\hat{k}\) of the laserbeam. The inserted array is automatically normalized to unit vector. The default is [0,0,1].

  • r_k (list or array type of dimension 3, optional) – a certain point which is located anywhere within the laserbeam. The default is [0,0,0].

  • beta (float, optional) – When the frequency of the laser should be varied linearly in time, then beta defines the chirping rate in Hz/s (without factor of 2 pi). The default is 0.0.

  • phi (float, optional) – phase offset of the laser’s electric field in rad (important e.g. for standing waves). The default is 0.0.

Raises:

Exception – When the given type of the pol Parameter is not accepted.

Example

A fast way to calculate the power of a laser with certain beam radii to reach a certain intensity (or the other way around for an intensity):

from MoleCool import Laser
print( Laser(I = 1000., w = 1e-3, w_cylind = 5e-2).P )
print( Laser(P = 0.02,  FWHM = 5e-3).I )

Methods

DF([attrs, units])

Create a DataFrame with attributes of the Laser instance.

__init__([lamb, freq_shift, pol, ...])

This class contains all physical properties of a laser which can be assembled in the class Lasersystem.

Attributes

E

Energy of the laser's photons.

FWHM

Calculate the FWHM (full width at half maximum) of the Gaussian intensity distribution of the laserbeam

P

Calculate the Power of the single beam

UNITS

units of the laser beam properties

f

Calculate the frequency (non-angular)

kabs

Calculate the absolute value of the wave vector (\(= 2 \pi/\lambda = \omega/c\)) in \(\text{rad}/\text{m}\).

lamb

Calculate the wavelength of the single laser

w

Calculate the 1/e^2 beam radius

omega

angular frequency \(\omega\)

freq_Rabi

Rabi frequency in terms of angular frequency 2 pi

k

unit wavevector \(\hat{k}\)

r_k

any point which is passed by the laser wave vector (i.e. the point lying in the propagation line of the laser).

beta

laser chirping rate for linear varying the laser frequency in time

phi

phase offset of the laser's electric field (important e.g. for standing waves).

UNITS = {'FWHM': 'm', 'I': 'W/m^2', 'P': 'W', '_dir_clind': 'm', '_w_clind': 'm', 'beta': 'Hz/s', 'f_q': '1', 'k': '1', 'lamb': 'm', 'phi': 'rad', 'r_k': 'm', 'w': 'm'}#

units of the laser beam properties

omega#

angular frequency \(\omega\)

Type:

float

freq_Rabi#

Rabi frequency in terms of angular frequency 2 pi

k#

unit wavevector \(\hat{k}\)

r_k#

any point which is passed by the laser wave vector (i.e. the point lying in the propagation line of the laser)

beta#

laser chirping rate for linear varying the laser frequency in time

phi#

phase offset of the laser’s electric field (important e.g. for standing waves)

DF(attrs=['lamb', 'I', 'P', 'FWHM', 'k', 'r_k', 'phi', 'beta'], units={})[source]#

Create a DataFrame with attributes of the Laser instance. This method is e.g. used when calling print(lasers[0]).

Parameters:
  • attrs (list, optional) – list of attributes as properties of the Laser. The default is [‘lamb’, ‘I’, ‘P’, ‘FWHM’, ‘k’, ‘r_k’, ‘phi’, ‘beta’].

  • units (dict, optional) – units of the physical attributes. The default is {}.

Returns:

df – All specified attributes with units as a Dataframe.

Return type:

pandas.DataFrame

property w#

Calculate the 1/e^2 beam radius

property FWHM#

Calculate the FWHM (full width at half maximum) of the Gaussian intensity distribution of the laserbeam

property P#

Calculate the Power of the single beam

property kabs#

Calculate the absolute value of the wave vector (\(= 2 \pi/\lambda = \omega/c\)) in \(\text{rad}/\text{m}\).

Note

self.k is a unit vector and defines the direction of the wave vector

property lamb#

Calculate the wavelength of the single laser

property f#

Calculate the frequency (non-angular)

property E#

Energy of the laser’s photons.