How a calculation fits together¶
A HERMES product is assembled in four layers:
physical ingredients -> process integrator -> skymap -> output writer
CR, gas, fields, xsec line of sight HEALPix FITS/CTA
Physical ingredients¶
Ingredients answer local questions such as:
- What is the cosmic-ray density at this energy and Galactic position?
- What is the gas or free-electron density here?
- What is the magnetic or radiation field?
- What is the differential cross section for this primary and secondary energy?
- What is the dark-matter density and particle yield?
Models are independent objects. Replacing Kamae06Gamma with AAfragGamma,
for example, changes the interaction model without changing the map or FITS
code.
Process integrator¶
An integrator combines the ingredients into an emissivity or propagation
quantity and integrates it from the observer to the Galactic boundary. Its
observer position defaults to (8.5 kpc, 0, 0); set it explicitly in
reproducible work:
integrator.setObsPosition(
hermes.Vector3QLength(8.0 * units.kpc, 0.0 * units.kpc, 0.0 * units.kpc)
)
Several emission integrators can precompute a three-dimensional cache for the current map energy or frequency. The cache trades initialization time and memory for faster repeated line-of-sight evaluation.
Skymap¶
The skymap supplies the HEALPix NSIDE, energy or frequency, and optional sky
mask. compute() distributes unmasked pixels over worker threads and asks the
integrator to evaluate each direction.
Use the map type that matches the integrator output:
| Product | Map class |
|---|---|
| Differential gamma/neutrino intensity | GammaSkymap |
| Energy range of differential intensities | GammaSkymapRange |
| Brightness temperature | RadioSkymap (RadioSkymapRange is currently C++ only) |
| Dispersion measure | DispersionMeasureSkymap |
| Rotation measure | RotationMeasureSkymap |
Output writer¶
outputs.HEALPixFormat writes a FITS binary table with RING ordering, Galactic
coordinates, physical units, the map parameter, process description, and the
HERMES Git description. outputs.CTAFormat is available for CTA-oriented
products.
Treat the output file, command line, code revision, data version, and model choices as one reproducibility record.