#include <NebularLineEmission.hpp>
Public Types | |
| enum | LineIndex { Lya , Ha , Hb , Hg , Hd , HeBalmer , Paa , Pab , Bra , NII6548 , NII6583 , OI6300 , OI6364 , OII3729 , OII3726 , OIII4363 , OIII4959 , OIII5007 , SII6716 , SII6731 } |
Static Public Member Functions | |
| static double | hydrogenLineLuminosity (int lineIdx, double T, double ne, double gammaHI, double nHI, double V_cm3) |
| static double | metalLineLuminosity (int lineIdx, double T, double ne, double nIon, double V_cm3) |
The NebularLineEmission class provides static data tables and functions for computing nebular emission from photoionized gas:
Implementation follows McClymont, Smith & Tacchella (2025).
All internal component functions, coefficient tables, and helper constants are file-local to the implementation translation unit; only the public entry points are exposed.
|
static |
Compute H recombination line luminosity [W] in the photon-conserving form L = P_B(T, ne) * Gamma_HI * n_HI * V * h*nu_line. Assumes photoionization balance: each H-I photoionization eventually produces one Case B recombination, of which a fraction P_B emits in the requested line. lineIdx: LineIndex::Lya through LineIndex::Bra T: temperature [K] ne: electron density [cm^-3] gammaHI: H I photoionization rate per H atom [s^-1] nHI: neutral hydrogen number density [cm^-3] V_cm3: cell volume [cm^3] Returns luminosity in [W] (SI).
|
static |
Compute metal forbidden line luminosity [W] for a given cell. lineIdx: LineIndex::NII6548 through LineIndex::SII6731 T: temperature [K] ne: electron density [cm^-3] nIon: carrier ion number density [cm^-3] V_cm3: cell volume [cm^3] Returns luminosity in [W] (SI).