from tardis.plasma.properties.base import Input, ArrayInput, DataFrameInput
__all__ = [
    "TRadiative",
    "DilutionFactor",
    "AtomicData",
    "Abundance",
    "Density",
    "TimeExplosion",
    "JBlueEstimator",
    "LinkTRadTElectron",
    "HeliumTreatment",
    "RInner",
    "TInner",
    "Volume",
    "ContinuumInteractionSpecies",
]
[docs]class TRadiative(ArrayInput):
    """
    Attributes
    ----------
    t_rad : Numpy Array, dtype float
    """
    outputs = ("t_rad",)
    latex_name = (r"T_{\textrm{rad}}",)
 
[docs]class DilutionFactor(ArrayInput):
    """
    Attributes
    ----------
    w : Numpy Array, dtype float between 0 and 1
        Factor used in nebular ionisation / dilute excitation calculations
        to account for the dilution of the radiation field.
    """
    outputs = ("w",)
    latex_name = ("W",)
 
[docs]class AtomicData(Input):
    """
    Attributes
    ----------
    atomic_data : Object
    """
    outputs = ("atomic_data",)
 
[docs]class Abundance(Input):
    """
    Attributes
    ----------
    abundance : Numpy array, dtype float
        Fractional abundance of elements
    """
    outputs = ("abundance",)
 
[docs]class Density(ArrayInput):
    """
    Attributes
    ----------
    density : Numpy array, dtype float
      Total density values
    """
    outputs = ("density",)
    latex_name = (r"\rho",)
 
[docs]class TimeExplosion(Input):
    """
    Attributes
    ----------
    time_explosion : Float
         Time since explosion in seconds
    """
    outputs = ("time_explosion",)
    latex_name = (r"t_{\textrm{exp}}",)
 
[docs]class JBlueEstimator(ArrayInput):
    """
    Attributes
    ----------
    j_blue_estimators : Numpy array
    """
    outputs = ("j_blue_estimators",)
    latex_name = (r"J_{\textrm{blue-estimator}}",)
 
[docs]class LinkTRadTElectron(Input):
    """
    Attributes
    ----------
    link_t_rad_t_electron : Float
        Value used for estimate of electron temperature.
        Default is 0.9.
    """
    outputs = ("link_t_rad_t_electron",)
    latex_name = (r"T_{\textrm{electron}}/T_{\textrm{rad}}",)
 
[docs]class HeliumTreatment(Input):
    outputs = ("helium_treatment",)
 
[docs]class RInner(Input):
    outputs = ("r_inner",)
 
[docs]class TInner(Input):
    outputs = ("t_inner",)
 
[docs]class Volume(Input):
    outputs = ("volume",)
 
[docs]class ContinuumInteractionSpecies(Input):
    """
    Attributes
    ----------
    continuum_interaction_species : Pandas MultiIndex, dtype int
        Atomic and ion numbers of elements for which continuum interactions
        (radiative/collisional ionization and recombination) are treated
    """
    outputs = ("continuum_interaction_species",)