Logo

A physics toolbox for laser spectroscopy.

Static Badge Static Badge Static Badge

Static Badge Static Badge

© 2025 Patrick Müller. All rights reserved.

qspec.simulate. Atom.scattering_rate  (  rho as_density_matrix = True k = None theta = None phi = None k_vec = None x_vec = None i = None f = None axis = 1  )[source]

The photon scattering rate $$\begin{aligned} \Gamma_\mathrm{sc}\left(\rho, \hat{k}(\theta, \phi), \vec{\varepsilon}\right) &= \sum\limits_{f\in\mathcal{F}} \,\sum\limits_{i\in\mathcal{I}}\sum\limits_{Xk_{fi}}\sum\limits_{j\in\mathcal{I}}\sum\limits_{Xk_{fj}} \rho_{ji}\sqrt{A_{if}^{Xk_{fi}}A_{jf}^{Xk_{fj}}}\\[1ex] &\quad\times\left\lbrace\sum\limits_\lambda (-1)^{k_{fi} + \lambda}\,a_{fi,k_{fi}}^\lambda \left[(-\mathrm{i})^{k_{fi} - X_{fi}}\,\vec{\varepsilon} \cdot\vec{Y}_{k_{fi}\lambda}^{(X_{fi})}(\hat{k}(\theta, \phi))\right]\right\rbrace\\[1ex] &\quad\times\left\lbrace\sum\limits_\lambda (-1)^{k_{fj} + \lambda}\,a_{jf,k_{fj}}^\lambda \left[(-\mathrm{i})^{k_{fj} - X_{fj}}\,\vec{\varepsilon} \cdot\vec{Y}_{k_{fj}\lambda}^{(X_{fj})}(\hat{k}(\theta, \phi))\right]^\ast\right\rbrace\\[3ex] a_{fi,k_{fi}}^\lambda &= (-1)^{F_f + I + k_{fi} + J_i}\sqrt{(2F_f + 1)(2J_i + 1)} \langle F_fm_fk_{fi}\lambda|F_im_i\rangle\begin{Bmatrix}J_i & J_f & k_{fi} \\F_f & F_i & I\end{Bmatrix}\\[3ex] X_{\!fi} &= \begin{cases}+1, & \text{if electric } (\mathrm{E}k_{fi}) \\ \ \,0, & \text{if magnetic } (\mathrm{M}k_{fi})\end{cases}, \end{aligned}$$ where $A_{if}^{Xk_{fi}}$ is the Einstein coefficient for the electric (magnetic) decay $|i\rangle\rightarrow|f\rangle$ and the rank-$k_{fi}$ multipole order, $\vec{Y}_{k_{fi}\lambda}^{(X_{fi})}(\hat{k})$ is the vector spherical harmonic (see p. 215, Eq. (35) in [1]), $\rho$ is the density matrix, $\hat{k}$ is the direction of emission and $\vec{\varepsilon}$ is the complex polarization vector of the emitted photons. The calculation includes interference terms between all multipole ranks 1 <= k <= Atom.decay_map.k_max if emission directions are chosen through the (theta, phi) or k_vec parameters. Parity mixing is currently not considered, such that all rank-$k$ electric (magnetic) transition are pure. The emitted polarization can be chosen through the x_vec parameter. If x_vec is None, the above equation will be summed over two orthogonal polarization vectors. The emitted multipole orders can be limited through the k parameter. The transitions contributing to the scattering rate can be limited through the index lists i and f of the initial and final states, before and after spontaneous decay, respectively.

If no emission direction is chosen (theta = phi = k_vec = None), the above equation simplifies to the scattering rate into the complete $4\pi$ solid angle (without polarization selection) $$\begin{aligned} \Gamma_\mathrm{sc}(\rho) &= \sum\limits_{f\in\mathcal{F}} \sum\limits_{i\in\mathcal{I}}\sum\limits_{(Xk)_{fi}} \rho_{ii}A_{if}^{Xk_{fi}}\left(a_{fi,k_{fi}}^{m_i - m_f}\right)^2. \end{aligned}$$

Parameters:
rhoarray_like

The density matrix $\rho$ of the Atom. Must have the same size as the Atom along the specified axis, and axis + 1 if as_density_matrix == True.

as_density_matrixbool

Whether 'rho' is a state vector or a density matrix.

karray_like

The rank(s) $k$ of the emitted multipole radiation. If None, all orders 1 <= k <= Atom.decay_map.k_max are considered.

thetaarray_like

The elevation angle of detection relative to the $z$-axis.

phiarray_like

The azimuthal angle of detection in the $xy$-plane.

k_vecarray_like

An iterable of directional vectors $\hat{k}$ emitted by the atom. k_vec must have shape (3, ) or (m, 3) .

x_vecarray_like

An iterable of complex polarization vectors $\vec{\varepsilon}$ emitted by the atom. x_vec must have shape (3, ) or (m, 3) or be a str indicating a special polarization:

  • $e_\theta$: {'z', 'theta', 't'}
  • $e_\phi$: {'x', 'y', 'xy', 'phi', 'p'}
  • $\sigma^-$: {'-', 's-', 'sigma-', 'l'}
  • $\sigma^+$: {'+', 's+', 'sigma+', 'r'}
In these cases, the polarizations are created automatically based on the emission directions.

iarray_like

The initially excited state indexes to consider for spontaneous decay. If None, all states are considered.

farray_like

The final decayed state indexes to consider for spontaneous decay. If None, all states are considered.

axisint

The axis along which the population is aligned in rho. The default is axis = 1, expecting rho as an array with shape (n, Atom.size, Atom.size, ... ).

Returns:
Gamma_scndarray

The scattering rate $\Gamma_\mathrm{sc}$ as an array with shape (m, n, ...).

API navigation