6#include <gsl/gsl_spline.h>
7#include <gsl/gsl_integration.h>
40 gsl_integration_workspace*
w2;
103 virtual void set_beaming(
double theta,
double speed,
double doppler);
105 virtual void set_geometry(
const std::string& geom,
double l1,
double l2);
106 virtual void set_geometry(
const std::string& geom,
double l1);
Base class for photon/neutrino distributions.
Definition Radiation.hpp:71
virtual size_t get_size() const
Definition Radiation.hpp:97
std::vector< double > en_phot_obs
same as above but in observer frame
Definition Radiation.hpp:75
std::string geometry
string to track geometry of emitting region
Definition Radiation.hpp:84
double angle
Viewing angle/Doppler factor of emitting region.
Definition Radiation.hpp:81
virtual double integrated_luminosity(double numin, double numax)
Definition Radiation.cpp:74
double vol
Volume of emitting region.
Definition Radiation.hpp:79
double dopfac
Definition Radiation.hpp:81
double z
Dimensions of emitting region.
Definition Radiation.hpp:78
virtual void test_arrays()
Simple method to check arrays; only meant for debugging.
Definition Radiation.cpp:92
double r
Definition Radiation.hpp:78
std::vector< double > num_phot
array of number of photons in units of erg/s/Hz
Definition Radiation.hpp:74
virtual void set_beaming(double theta, double speed, double doppler)
Methods to set viewing angle, beaming and geometry of emission region.
Definition Radiation.cpp:13
virtual const std::vector< double > & get_energy() const
Definition Radiation.hpp:89
virtual void set_geometry(const std::string &geom, double l1, double l2)
Definition Radiation.cpp:21
bool counterjet
boolean switch if user wants to include counterjet emission
Definition Radiation.hpp:83
double dopnum
Doppler boosting exponent, depends on geometry.
Definition Radiation.hpp:82
std::vector< double > en_phot
array of photon energies
Definition Radiation.hpp:73
double beta
speed of the emitting region
Definition Radiation.hpp:80
virtual void set_counterjet(bool flag)
Method to include a counterjet in cyclosycnchrotron/Compton classes.
Definition Radiation.cpp:89
virtual double get_volume() const
Definition Radiation.hpp:99
virtual const std::vector< double > & get_energy_obs() const
Definition Radiation.hpp:93
std::vector< double > num_phot_obs
same as above but in observer frame
Definition Radiation.hpp:76
virtual void set_inclination(double theta)
Definition Radiation.cpp:19
virtual const std::vector< double > & get_nphot_obs() const
Definition Radiation.hpp:95
virtual const std::vector< double > & get_nphot() const
Definition Radiation.hpp:91
Structure used for GSL integration.
Definition Radiation.hpp:44
gsl_spline * phodis
Definition Radiation.hpp:47
gsl_interp_accel * acc_phodis
Definition Radiation.hpp:48
double e1
Definition Radiation.hpp:46
double game
Definition Radiation.hpp:45
Structure used for GSL integration.
Definition Radiation.hpp:32
gsl_spline * phodis
Definition Radiation.hpp:38
gsl_interp_accel * acc_phodis
Definition Radiation.hpp:39
double ephmin
Definition Radiation.hpp:34
gsl_spline * eldis
Definition Radiation.hpp:36
double ephmax
Definition Radiation.hpp:35
double eph
Definition Radiation.hpp:33
gsl_interp_accel * acc_eldis
Definition Radiation.hpp:37
gsl_integration_workspace * w2
Definition Radiation.hpp:40
Structure used for GSL integration.
Definition Radiation.hpp:22
gsl_spline * derivs
Definition Radiation.hpp:27
gsl_interp_accel * acc_syn
Definition Radiation.hpp:26
gsl_interp_accel * acc_derivs
Definition Radiation.hpp:28
gsl_spline * syn
Definition Radiation.hpp:25
double nu
Definition Radiation.hpp:23
double b
Definition Radiation.hpp:24
Structure used for GSL integration.
Definition Radiation.hpp:12
gsl_spline * syn
Definition Radiation.hpp:15
gsl_spline * eldis
Definition Radiation.hpp:17
gsl_interp_accel * acc_syn
Definition Radiation.hpp:16
double nu
Definition Radiation.hpp:13
double b
Definition Radiation.hpp:14
gsl_interp_accel * acc_eldis
Definition Radiation.hpp:18
Structure used for GSL integration.
Definition Radiation.hpp:59
double tin
Definition Radiation.hpp:62
double z
Definition Radiation.hpp:66
double beta
Definition Radiation.hpp:61
double rout
Definition Radiation.hpp:64
double gamma
Definition Radiation.hpp:60
double nu
Definition Radiation.hpp:67
double h
Definition Radiation.hpp:65
double rin
Definition Radiation.hpp:63
Structure used for GSL integration.
Definition Radiation.hpp:52
double nu
Definition Radiation.hpp:55
double tin
Definition Radiation.hpp:53
double rin
Definition Radiation.hpp:54