rydiqule.atom_utils.D1_excited¶
- rydiqule.atom_utils.D1_excited(n: int | str, splitting: Literal[None, 'fs', 'hfs'] = None, expand: bool = False) A_QState | List[A_QState] [source]¶
Retrieve
A_QState
of the excited state of the D1 line of an atom or principle quantum number.Optionally, include fine structure splitting or hyperfine splitting, which will include all
m_j
or allf
andm_f
values respectively. By default, specifying splitting does not return a list of states, but rather the associated specification with"all"
in the appropriate place. Theexpand
keyword argument can be used to modify this behavior, returning a list. place.- Parameters:
n (int or str) – Either the string flag of the atom or the principle quantum number n of an atom. If string, must begin with [‘H’, ‘Li’, ‘Na’, ‘K’, ‘Rb’, ‘Cs’].
splitting ({None, 'fs', 'hfs'}) – Type of splitting. Must be one of
None
,"fs"
, or"hfs"
, corresponding to the inclusion of(n,l,j)
only,m_j
, or bothf
andm_f
respectively.expand (boolean, optional) – For states with splitting, whether to return them as a list of all states. If
False
, return is a single state specification with"all"
for the appropriate quantum numbers. IfTrue
, a list of all individual states is returned.
- Raises:
RydiquleError – If
n
is not a valid atom string or integer valueValueError – If
splitting
is not one of {None, “fs”, “hfs”}.
- Returns:
A_QState
corresponding to the D1 excited state of the provided atom with the provided splitting, or list ofA_QState`s if `expand
isTrue
.- Return type:
Examples
The simplest use is to return the nlj quantum numbers for a particular atom’s excited state of the D1 transtion. Principle quantum number and string atom flags can be used interchangeably.
>>> atom = "Rb85" >>> print(rq.D1_excited(atom)) (5, 1, 0.5) >>> print(rq.D1_excited(5)) (5, 1, 0.5)
This function also can return states with splitting, either as a list of states or as a manifold specification.
>>> print(rq.D1_excited(atom, splitting="fs")) (5, 1, 0.5, m_j='all') >>> print(rq.D1_excited(5, splitting="fs", expand=True)) [(n=5, l=1, j=0.5, m_j=-0.5), (n=5, l=1, j=0.5, m_j=0.5)] >>> print(rq.D1_excited(atom, splitting="hfs")) (5, 1, 0.5, f='all', m_f='all')