6#include <gsl/gsl_interp.h>
7#include <gsl/gsl_spline.h>
30 Grays(
size_t size,
double numin,
double numax);
36 void set_grays_pp(
double p,
double gammap_min,
double gammap_max,
double ntot_prot,
37 double ntargets,
double plfrac, gsl_interp_accel* acc_Jp,
38 gsl_spline* spline_Jp);
40 void set_grays_pg(
double gp_min,
double gp_max, gsl_interp_accel* acc_Jp, gsl_spline* spline_Jp,
41 std::vector<double>& nu_per_seg, std::vector<double>& ng_per_seg,
size_t ne);
45void sum_photons(
size_t nphot, std::vector<double>& en_perseg, std::vector<double>& lum_perseg,
46 size_t ntarg,
const std::vector<double>& targ_en,
47 const std::vector<double>& targ_lum);
48void sum_photons(
size_t nphot,
const std::vector<double>& en_perseg,
49 std::vector<double>& lum_perseg,
size_t ntarg,
const std::vector<double>& targ_en,
50 const std::vector<double>& targ_lum);
53double Hetag(
double x,
void* p);
57double target_protons(
double ntot_prot,
double ntargets,
double plfrac);
59double proton_dist(
double gpmin,
double Ep,
double Epcode_max, gsl_spline* spline_Jp,
60 gsl_interp_accel* acc_Jp);
64double colliding_protons(gsl_spline* spline_Jp, gsl_interp_accel* acc_Jp,
double gp_min,
65 double gp_max,
double Ep);
66double photons_jet(
double eta,
double Ep, gsl_spline* spline_ng, gsl_interp_accel* acc_ng,
67 double nu_min,
double nu_max);
Definition GammaRays.hpp:28
void set_grays_pg(double gp_min, double gp_max, gsl_interp_accel *acc_Jp, gsl_spline *spline_Jp, std::vector< double > &nu_per_seg, std::vector< double > &ng_per_seg, size_t ne)
Definition GammaRays.cpp:306
void set_grays_pp(double p, double gammap_min, double gammap_max, double ntot_prot, double ntargets, double plfrac, gsl_interp_accel *acc_Jp, gsl_spline *spline_Jp)
Definition GammaRays.cpp:45
Base class for photon/neutrino distributions.
Definition Radiation.hpp:69
double colliding_protons(gsl_spline *spline_Jp, gsl_interp_accel *acc_Jp, double gp_min, double gp_max, double Ep)
The following are common for γ rays/electrons/neutrinos from pγ:
Definition GammaRays.cpp:419
double proton_dist(double gpmin, double Ep, double Epcode_max, gsl_spline *spline_Jp, gsl_interp_accel *acc_Jp)
Definition GammaRays.cpp:196
double PhiFunc_gamma(double eta, double eta0, double x)
Definition GammaRays.cpp:448
double Hetag(double x, void *p)
funtions for γ rays from pγ
Definition GammaRays.cpp:385
double gspec_pp(double Ep, double y)
Definition GammaRays.cpp:208
double photons_jet(double eta, double Ep, gsl_spline *spline_ng, gsl_interp_accel *acc_ng, double nu_min, double nu_max)
Definition GammaRays.cpp:433
double set_ntilde(double p)
The following are common for γ rays/electrons/neutrinos from pp:
Definition GammaRays.cpp:152
void tables_photomeson_gamma(double &s, double &delta, double &Beta, double xeta)
The tables from KA08 for photomeson that give s,δ and B.
Definition GammaRays.cpp:480
double target_protons(double ntot_prot, double nwind, double plfrac)
Definition GammaRays.cpp:166
void sum_photons(size_t nphot, std::vector< double > &en_perseg, std::vector< double > &lum_perseg, size_t ntarg, const std::vector< double > &targ_en, const std::vector< double > &targ_lum)
Adds up in the lum_perseg the target photon luminosity (in erg/sec/Hz)
Definition GammaRays.cpp:235
double sigma_pp(double Ep)
Definition GammaRays.cpp:180
Definition GammaRays.hpp:13
double eta
Definition GammaRays.hpp:15
gsl_interp_accel * acc_Jp
Definition GammaRays.hpp:21
gsl_interp_accel * acc_ng
Definition GammaRays.hpp:22
double Eg
Definition GammaRays.hpp:17
double gp_min
Definition GammaRays.hpp:18
double nu_min
Definition GammaRays.hpp:24
double nu_max
Definition GammaRays.hpp:25
double eta_zero
Definition GammaRays.hpp:16
gsl_spline * spline_ng
Definition GammaRays.hpp:23
gsl_spline * spline_Jp
Definition GammaRays.hpp:20
double gp_max
Definition GammaRays.hpp:19