darkmatter 0.0.2

Dark matter simulation engine — gravitational fields, particle dynamics, halo stability, and cosmological constants
Documentation
use darkmatter::detection::spectra::{
    antiproton_spectrum_bb, branching_ratio_weighted_spectrum, differential_flux_gamma,
    dn_dgamma_bb, dn_dgamma_tautau, dn_dgamma_ww, integrated_flux_above_threshold,
    neutrino_spectrum_bb, positron_spectrum_bb, total_photon_yield_bb, total_photon_yield_tautau,
};

fn main() {
    let m_dm = 100.0;
    let e = 10.0;

    let dn_bb = dn_dgamma_bb(e, m_dm);
    let dn_tau = dn_dgamma_tautau(e, m_dm);
    let dn_ww = dn_dgamma_ww(e, m_dm);

    let pos = positron_spectrum_bb(e, m_dm);
    let pbar = antiproton_spectrum_bb(e, m_dm);
    let nu = neutrino_spectrum_bb(e, m_dm);

    let yield_bb = total_photon_yield_bb(m_dm, 1000);
    let yield_tau = total_photon_yield_tautau(m_dm, 1000);

    let flux = differential_flux_gamma(dn_bb, 3e-26, 1e20, m_dm);
    let flux_int = integrated_flux_above_threshold(m_dm, 3e-26, 1e20, 1.0, "bb", 500);

    let br = branching_ratio_weighted_spectrum(e, m_dm, 0.5, 0.3, 0.2);

    let total =
        dn_bb + dn_tau + dn_ww + pos + pbar + nu + yield_bb + yield_tau + flux + flux_int + br;
    assert!(total.is_finite());
}