hyperfine.Atom1e
hyperfine.Atom1e(element=None, isotope=None)Represents an atom object and contains a list of J levels.
Methods
| Name | Description |
|---|---|
| get_F_level_idx_map | Maps each element of the mF_list to a F_level index. |
| get_clebsch_hf_factors | Returns a list of Clebsch-Gordan coefficients for the hyperfine |
| get_clebsch_hf_factors_iso | Returns a list of Clebsch-Gordan coefficients for the hyperfine |
| get_coupled_levels | Return all mF-level index pairs between two sets of F levels. |
| get_decay_factors | Returns a list of factors for the collapse operators for each |
| get_energies | Returns a list of energies for each mF level in all J levels. |
| get_mF_list | Unnests the mF levels into a single list of dicts. |
| get_num_mF_levels | Returns the total number of mF levels in all J levels. |
| get_strength_factor | Relative hyperfine transition strength factors. |
get_F_level_idx_map
hyperfine.Atom1e.get_F_level_idx_map()Maps each element of the mF_list to a F_level index.
get_clebsch_hf_factors
hyperfine.Atom1e.get_clebsch_hf_factors(F_level_idxs_a, F_level_idxs_b, q)Returns a list of Clebsch-Gordan coefficients for the hyperfine transition dipole matrix elements for each coupled level pair.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| F_level_idx_a | int | F level the transition is from (lower level) | required |
| F_level_idx_b | int | F level the transition is to (upper level) | required |
| q | int | The field polarisation. Choose from [-1, 0, 1]. | required |
Returns
| Name | Type | Description |
|---|---|---|
| list | factors, length of mF_list |
get_clebsch_hf_factors_iso
hyperfine.Atom1e.get_clebsch_hf_factors_iso(F_level_idxs_a, F_level_idxs_b)Returns a list of Clebsch-Gordan coefficients for the hyperfine transition dipole matrix elements for each coupled level pair. for an isotropic field.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| F_level_idx_a | int | F level the transition is from (lower level) | required |
| F_level_idx_b | int | F level the transition is to (upper level) | required |
Returns
| Name | Type | Description |
|---|---|---|
| list | factors, length of mF_list |
Notes
- An isotropic field is a field with equal components in all three possible polarizations.
- Any given polarisation of the field only interacts with one of the three components of the dipole moment, so it is appropriate to average over the couplings (i.e. factor 1/3) rather than sum.
get_coupled_levels
hyperfine.Atom1e.get_coupled_levels(F_level_idxs_a, F_level_idxs_b)Return all mF-level index pairs between two sets of F levels.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| F_level_idxs_a | Indices into self.F_levels for the first group. | required | |
| F_level_idxs_b | Indices into self.F_levels for the second group. | required |
Returns
| Name | Type | Description |
|---|---|---|
| List of [i, j] pairs where i is an mF index from group a and | ||
| j is an mF index from group b. |
Note
Selection rules (e.g. forbidding J=J’ transitions) are not enforced here. Callers are responsible for passing physically valid level index sets.
get_decay_factors
hyperfine.Atom1e.get_decay_factors(F_level_idxs_a, F_level_idxs_b)Returns a list of factors for the collapse operators for each hyperfine coupled level pair.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| F_level_idx_a | int | F level the transition is from (lower level) | required |
| F_level_idx_b | int | F level the transition is to(upper level) | required |
Notes
This is equivalent to the clebsch_hf_factors for all polarisations as decay photons are of all polarisations. Note that for any coupled levels pair there will be only one n on-zero factor to sum.
Returns: (list): factors, length of mF_list
get_energies
hyperfine.Atom1e.get_energies()Returns a list of energies for each mF level in all J levels.
get_mF_list
hyperfine.Atom1e.get_mF_list()Unnests the mF levels into a single list of dicts.
get_num_mF_levels
hyperfine.Atom1e.get_num_mF_levels()Returns the total number of mF levels in all J levels.
get_strength_factor
hyperfine.Atom1e.get_strength_factor(
F_level_idx_lower,
F_level_idx_upper,
mF_level_lower_idx=0,
)Relative hyperfine transition strength factors. Equal for each ground state (mF_level_lower_idx), so this parameter never needs to be set, just used for testing that claim.
Notes
- Sum of the matrix elements from a single ground-state sublevel to the levels in a particular F’ energy level.
- The sum S_{FF’} is independent of the ground state sublevel chosen.
- The sum of S_{FF’} over upper F levels should be 1.