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:
objectThis class contains all physical properties of a laser which can be assembled in the class
Lasersystem.Note
freq_shiftis 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
polparameter 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
polParameter 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
Energy of the laser's photons.
Calculate the FWHM (full width at half maximum) of the Gaussian intensity distribution of the laserbeam
Calculate the Power of the single beam
units of the laser beam properties
Calculate the frequency (non-angular)
Calculate the absolute value of the wave vector (\(= 2 \pi/\lambda = \omega/c\)) in \(\text{rad}/\text{m}\).
Calculate the wavelength of the single laser
Calculate the 1/e^2 beam radius
angular frequency \(\omega\)
Rabi frequency in terms of angular frequency 2 pi
unit wavevector \(\hat{k}\)
any point which is passed by the laser wave vector (i.e. the point lying in the propagation line of the laser).
laser chirping rate for linear varying the laser frequency in time
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
- 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:
- 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.kis 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.