tardis.opacities.macro_atom.macroatom_state module¶
- class tardis.opacities.macro_atom.macroatom_state.LegacyMacroAtomState(*args: Any, **kwargs: Any)[source]¶
Bases:
HDFWriterMixinInitialize a LegacyMacroAtomState object.
- Parameters:
- transition_probabilitiespd.DataFrame
Macro Atom transition probabilities between levels.
- transition_typepd.Series
Macro Atom transition types.
- destination_level_idpd.Series
ID of destination levels of the Macro Atom.
- transition_line_idpd.Series
ID of lines corresponding to Macro Atom transitions.
- macro_block_referencespd.DataFrame | pd.Series
Index references to the Macro Atom blocks.
- line2macro_level_upper
Mapping from lines to Macro Atom upper levels.
- classmethod from_legacy_plasma(plasma) Self[source]¶
Generate a LegacyMacroAtomState object from a tardis BasePlasma.
- Parameters:
- plasmatardis.plasma.BasePlasma
Legacy base plasma object.
- Returns:
- LegacyMacroAtomState
A LegacyMacroAtomState object created from the plasma data.
- hdf_name = 'macro_atom_state'¶
- hdf_properties = ['transition_probabilities', 'transition_type', 'destination_level_id', 'transition_line_id', 'macro_block_references', 'line2macro_level_upper']¶
- class tardis.opacities.macro_atom.macroatom_state.MacroAtomState(transition_probabilities: DataFrame, transition_metadata: DataFrame, line2macro_level_upper: Series, macro_block_references: Series | None = None, references_index: Series | None = None, normalized_deactivating_probs: DataFrame | None = None, deactivating_metadata: DataFrame | None = None, absorbing_probability_matrix: ndarray | None = None)[source]¶
Bases:
objectInitialize a MacroAtomState object.
- Parameters:
- transition_probabilities
Transition probabilities for the macro atom, indexed by source and destination levels.
- transition_metadata
Metadata for the macro atom, including atomic number, ion number, level numbers for the transition, destination, and source.
- line2macro_level_upper
Mapping from lines to the upper levels of the macro atom transitions.
- macro_block_references
Index references to the Macro Atom blocks. Default is None.
- normalized_deactivating_probs
Dataframe containing emission probabilities from a chosen absorbing state
- deactivating_metadata
Dataframe containing metadata for deactivation channels from a chosen absobing state.
- absorbing_probability_matrix
Ndarray describing a single jump from an interaction handler activation to a state to deactivate from.
- hdf_name = 'macro_atom_state'¶
- hdf_properties = ['transition_probabilities', 'transition_metadata', 'line2macro_level_upper']¶
- recreate_legacy_macro_atom_state(legacy_state: LegacyMacroAtomState, lines: DataFrame) LegacyMacroAtomState[source]¶
Recreate the legacy MacroAtomState with new transition probabilities and unique transition IDs.
- Parameters:
- legacy_stateLegacyMacroAtomState
The original legacy state to recreate from.
- linespd.DataFrame
DataFrame containing line information.
- Returns:
- LegacyMacroAtomState
The recreated legacy MacroAtomState with updated transition data.
- sort_to_legacy(legacy_state: LegacyMacroAtomState, lines: DataFrame)[source]¶
Sort the current MacroAtomState to match the legacy MacroAtomState order.
- Parameters:
- legacy_stateLegacyMacroAtomState
The legacy state to match the ordering of.
- linespd.DataFrame
DataFrame containing line information.
- Returns:
- MacroAtomState
A new MacroAtomState with transitions sorted to match the legacy state order.
- to_legacy_format() LegacyMacroAtomState[source]¶
Convert the current state of the MacroAtom to legacy format.
This method transforms the modern MacroAtomState structure into the legacy LegacyMacroAtomState format for backward compatibility. It extracts individual components from the consolidated transition_metadata DataFrame and converts them to the separate arrays/DataFrames expected by the legacy format.
- Returns:
- LegacyMacroAtomState
The MacroAtomState converted to legacy format.