Gas, radiation, and magnetic fields¶
Neutral gas¶
neutralgas.RingModel loads twelve Galactocentric rings from the Remy et al.
H I or CO maps:
hi = hermes.neutralgas.RingModel(hermes.neutralgas.GasType.HI)
h2 = hermes.neutralgas.RingModel(hermes.neutralgas.GasType.H2)
print(len(hi), hi.getEnabledRings())
Individual rings can be enabled or disabled. This supports morphological decomposition, but ring indices and boundaries must be recorded in derived products.
Ionized gas¶
The Python namespace ionizedgas exposes:
HII_Cordes91;NE2001Simple;YMW16.
These models provide getDensity(position) and feed dispersion measure,
rotation measure, free-free emission, and synchrotron absorption.
Photon fields¶
photonfields.CMB()is the cosmic microwave background.photonfields.ISRF()loads the Vernetto16 interstellar radiation field.
The default ISRF reader consumes
RadiationField/Vernetto16/isrf.fits.gz, a self-describing cube with 30 radial
positions, 24 vertical positions, and 1211 wavelengths. Current HERMES retains
a legacy text-table fallback for older datasets, but new installations should
resolve the FITS cube.
field = hermes.photonfields.ISRF()
print(field.getSize()) # 871920
print(len(field.getEnergyAxis()))
Magnetic fields¶
The Python namespace magneticfields exposes regular Galactic models
JF12, PT11, and Sun08. Each provides getField(position). Optional
FFTW3F support enables C++ turbulent-field functionality where applicable, but
it does not replace choosing and documenting a regular-field model.