3#include <gsl/gsl_spline2d.h>
37 gsl_integration_workspace*
w1;
38 gsl_integration_workspace*
w2;
42 Compton(
size_t size,
size_t target_size);
44 friend double comfnc(
double logein,
void* pars);
45 friend double comint(
double gam,
void* pars);
48 virtual double comintegral(
size_t it,
double blim,
double ulim,
double nu,
double numin,
49 double numax, gsl_spline* eldis, gsl_interp_accel* acc_eldis);
51 gsl_interp_accel* acc_eldis);
58 const std::vector<double>& new_target_energy,
59 const std::vector<double>& new_target_energy_density);
61 const std::vector<double>& new_target_energy,
62 const std::vector<double>& new_target_number_density);
64 const std::vector<double>& new_target_frequency,
65 const std::vector<double>& new_target_number_density);
67 virtual void cyclosyn_seed(
const std::vector<double>& syn_energies,
68 const std::vector<double>& syn_number_rates);
69 virtual void bb_seed_k(
double Urad,
double Tbb);
71 virtual void shsdisk_seed(
double tin,
double rin,
double rout,
double h,
double z);
73 virtual void set_niter(
double nu0,
double Te);
75 virtual void set_tau(
double n,
double gam);
76 virtual void set_tau(
double _tau);
98 virtual void bb_seed_k(
const std::vector<double>& seed_arr,
double Urad,
double Tbb) {
104 virtual void bb_seed_kev(
const std::vector<double>& seed_arr,
double Urad,
double Tbb) {
110 virtual void shsdisk_seed(
const std::vector<double>& seed_arr,
double tin,
double rin,
111 double rout,
double h,
double z) {
Class inverse Compton, inherited from Radiation.hpp.
Definition Compton.hpp:10
~Compton()
Definition Compton.cpp:57
virtual void add_target_energy_density(const std::vector< double > &new_target_energy, const std::vector< double > &new_target_energy_density)
Definition Compton.cpp:288
virtual void set_escape(double escape)
Definition Compton.cpp:556
gsl_integration_workspace * w2
Definition Compton.hpp:38
double tau
Definition Compton.hpp:14
virtual void add_target_number_density(const std::vector< double > &new_target_energy, const std::vector< double > &new_target_number_density)
Definition Compton.cpp:341
virtual void bb_seed_kev(double Urad, double Tbb)
Definition Compton.cpp:408
virtual void compton_spectrum(double gmin, double gmax, gsl_spline *eldis, gsl_interp_accel *acc_eldis)
Definition Compton.cpp:202
virtual void set_frequency(double numin, double numax)
Method to set up the frequency array over desired range.
Definition Compton.cpp:544
gsl_interp_accel * acc_seed
accelerator for above spline
Definition Compton.hpp:25
virtual void reset()
Definition Compton.cpp:576
const double log_floor
Definition Compton.hpp:12
gsl_interp_accel * acc_Te
accelerator of above spline over Te
Definition Compton.hpp:35
virtual double comintegral(size_t it, double blim, double ulim, double nu, double numin, double numax, gsl_spline *eldis, gsl_interp_accel *acc_eldis)
Definition Compton.cpp:176
virtual void shsdisk_seed(const std::vector< double > &seed_arr, double tin, double rin, double rout, double h, double z)
Definition Compton.hpp:110
virtual void add_target_diff_spec(const std::vector< double > &new_target_diff_spec)
Definition Compton.cpp:271
virtual void cyclosyn_seed(const std::vector< double > &syn_energies, const std::vector< double > &syn_number_rates)
Definition Compton.cpp:373
virtual double get_tau() const
Definition Compton.hpp:83
gsl_interp_accel * acc_tau
accelerator of above spline over tau
Definition Compton.hpp:34
virtual void set_tau(double n, double gam)
Definition Compton.cpp:499
double rphot
photospheric radius when tau > 1, used to renormalize volume
Definition Compton.hpp:15
virtual void shsdisk_seed(double tin, double rin, double rout, double h, double z)
Definition Compton.cpp:446
virtual void set_target_energy_array(const std::vector< double > &new_target_energy)
Method to set new target energy array, resets also log_target_diff_spec.
Definition Compton.cpp:253
virtual void add_target_number_density_on_freq_grid(const std::vector< double > &new_target_frequency, const std::vector< double > &new_target_number_density)
Definition Compton.cpp:353
std::vector< double > target_energy
array of seed energies in erg
Definition Compton.hpp:18
friend double comfnc(double logein, void *pars)
Definition Compton.cpp:108
gsl_interp_accel * acc_iter
accelerator of above spline
Definition Compton.hpp:28
virtual void set_niter(double nu0, double Te)
Definition Compton.cpp:484
friend double disk_integral(double alfa, void *p)
Definition Compton.cpp:415
size_t Niter
number of IC iterations
Definition Compton.hpp:13
double escape_corr
escape term, used to renormalize our spectra to CompPS
Definition Compton.hpp:16
virtual void bb_seed_k(double Urad, double Tbb)
Definition Compton.cpp:389
virtual std::vector< double > get_target_diff_spec() const
Definition Compton.cpp:563
virtual double get_ypar() const
Definition Compton.hpp:84
virtual void bb_seed_kev(const std::vector< double > &seed_arr, double Urad, double Tbb)
Definition Compton.hpp:104
double ypar
optical depth/comtpon Y of emitting region
Definition Compton.hpp:14
virtual void set_target_frequency_array(const std::vector< double > &new_target_frequency)
Method to set target energy array from frequency array, resets also log_target_diff_spec.
Definition Compton.cpp:260
friend double comint(double gam, void *pars)
Definition Compton.cpp:140
gsl_spline * seed_ph
interpolation of photon field array target_diff_spec
Definition Compton.hpp:24
gsl_spline * iter_ph
interpolation of photon field for multiple scatters
Definition Compton.hpp:27
virtual std::vector< double > get_target_energy() const
Definition Compton.cpp:559
std::vector< double > log_target_diff_spec_iter
array of iterated photon number density in log(#/erg/cm^3)
Definition Compton.hpp:21
virtual void urad_test()
Definition Compton.cpp:583
virtual void test()
Definition Compton.cpp:592
gsl_integration_workspace * w1
Definition Compton.hpp:37
virtual void bb_seed_k(const std::vector< double > &seed_arr, double Urad, double Tbb)
Definition Compton.hpp:98
std::vector< double > log_target_diff_spec
array of seed photon number density in log(#/erg/cm^3)
Definition Compton.hpp:19
gsl_spline2d * esc_p_cyl
radiative transfer
Definition Compton.hpp:32
gsl_spline2d * esc_p_sph
radiative transfer
Definition Compton.hpp:30
Base class for photon/neutrino distributions.
Definition Radiation.hpp:71
double z
Dimensions of emitting region.
Definition Radiation.hpp:78