95 std::vector<double>
p;
114 virtual const std::vector<double>&
get_p()
const {
return p; }
122 virtual double av_p();
153 return std::exp(-(x * x));
155 const double ax = std::fabs(x);
157 const double c = std::cosh(ax);
158 return 1.0 / (c * c);
160 const double t = std::exp(-2.0 * ax);
161 const double denom = 1.0 + t;
162 return 4.0 * t / (denom * denom);
Definition Particles.hpp:90
std::vector< double > gamma
array of particle kinetic energies for each momentum
Definition Particles.hpp:97
static double cutoff_factor(double x, int type=Exponential)
Definition Particles.hpp:147
virtual const std::vector< double > & get_gamma() const
Definition Particles.hpp:116
virtual void initialize_gdens()
Definition Particles.cpp:60
virtual void set_mass(double m)
Definition Particles.cpp:128
std::vector< double > gdens
array of number density per unit volume, per unit gamma
Definition Particles.hpp:98
virtual void test_arrays()
simple method to check arrays; only meant for debugging
Definition Particles.cpp:134
virtual double av_psq()
Definition Particles.cpp:45
std::vector< double > p
array of particle momenta
Definition Particles.hpp:95
std::vector< double > pdensp2_diff_logp
density for radiation calculation p^-2*dn/dp
Definition Particles.hpp:99
virtual const std::vector< double > & get_pdens() const
Definition Particles.hpp:115
int get_cutoff_type() const
Definition Particles.hpp:105
virtual double av_gamma()
Definition Particles.cpp:41
virtual void differentiate()
Definition Particles.cpp:92
double mass_gr
particle mass in grams
Definition Particles.hpp:92
double mass_kev
same as above but in keV, using electrons as "reference"
Definition Particles.hpp:93
std::vector< double > ndens
array of number density per unit volume, per unit momentum
Definition Particles.hpp:96
virtual const std::vector< double > & get_p() const
Definition Particles.hpp:114
virtual void initialize_pdens()
Same as above but the other way around.
Definition Particles.cpp:68
virtual void set_cutoff_type(int t)
Definition Particles.hpp:106
virtual double count_particles_energy()
Definition Particles.cpp:25
virtual const std::vector< double > & get_gdens() const
Definition Particles.hpp:117
int cutoff_type
Definition Particles.hpp:101
virtual double count_particles()
Simple numerical integrals /w trapeze method.
Definition Particles.cpp:17
virtual double av_p()
Definition Particles.cpp:33
virtual const std::vector< double > & get_pdensp2_diff_logp() const
Definition Particles.hpp:118
virtual double av_gammasq()
Definition Particles.cpp:54
CutoffType
Definition Particles.hpp:82
@ SuperExponential
Definition Particles.hpp:85
@ Sech2
Definition Particles.hpp:86
@ Exponential
Definition Particles.hpp:84
Structure used for GSL integration.
Definition Particles.hpp:14
int cutoff_type
Definition Particles.hpp:20
double m
Definition Particles.hpp:19
double s2
Definition Particles.hpp:16
double brk
Definition Particles.hpp:17
double max
Definition Particles.hpp:18
double s1
Definition Particles.hpp:15
Structure used for GSL integration.
Definition Particles.hpp:67
double s1
Definition Particles.hpp:68
double n
Definition Particles.hpp:73
double s2
Definition Particles.hpp:69
int cutoff_type
Definition Particles.hpp:74
double brk
Definition Particles.hpp:70
double m
Definition Particles.hpp:72
double max
Definition Particles.hpp:71
Structure used for GSL integration.
Definition Particles.hpp:50
double m
Definition Particles.hpp:54
double k
Definition Particles.hpp:52
double n
Definition Particles.hpp:53
double t
Definition Particles.hpp:51
Structure used for GSL integration.
Definition Particles.hpp:37
double m
Definition Particles.hpp:42
double t
Definition Particles.hpp:39
double max
Definition Particles.hpp:44
double npl
Definition Particles.hpp:41
double min
Definition Particles.hpp:43
double nth
Definition Particles.hpp:40
double s
Definition Particles.hpp:38
double cutoff
Definition Particles.hpp:45
int cutoff_type
Definition Particles.hpp:46
Structure used for GSL integration.
Definition Particles.hpp:58
double max
Definition Particles.hpp:62
double s
Definition Particles.hpp:59
int cutoff_type
Definition Particles.hpp:63
double m
Definition Particles.hpp:61
double n
Definition Particles.hpp:60
Structure used for GSL integration.
Definition Particles.hpp:31
double k
Definition Particles.hpp:33
double t
Definition Particles.hpp:32
Structure used for GSL integration.
Definition Particles.hpp:8
double n
Definition Particles.hpp:10
double s
Definition Particles.hpp:9
Structure used for GSL integration.
Definition Particles.hpp:24
double m
Definition Particles.hpp:27
double n
Definition Particles.hpp:26
double t
Definition Particles.hpp:25