Kariba
Loading...
Searching...
No Matches
Mixed.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "Particles.hpp"
4
5namespace kariba {
6
25class Mixed : public Particles {
26 protected:
27 double thnorm, theta, Temp;
28 double pspec, plnorm;
30 double plfrac;
31
32 public:
33 Mixed(size_t size);
34
35 virtual void set_p(double ucom, double bfield, double betaeff, double r, double fsc);
36 virtual void set_p(double gmax);
37 virtual void set_ndens();
38 virtual void set_temp_kev(double T);
39 virtual void set_norm(double n);
40 virtual void set_plfrac(double f);
41 virtual void set_plfrac(double Le, double r, double eldens);
42 virtual void set_pspec(double s1);
43
44 virtual void cooling_steadystate(double ucom, double n0, double bfield, double r,
45 double betaeff);
46 virtual double max_p(double ucom, double bfield, double betaeff, double r, double fsc);
47
48 virtual double count_th_particles();
49 virtual double av_th_p();
50 virtual double av_th_gamma();
51
52 virtual double count_pl_particles();
53 virtual double av_pl_p();
54 virtual double av_pl_gamma();
55
56 virtual double K2(double x);
57
58 virtual void test();
59
60 friend double th_num_dens_int(double x, void* p);
61 friend double av_th_p_int(double x, void* p);
62
63 friend double pl_num_dens_int(double x, void* p);
64 friend double av_pl_p_int(double x, void* p);
65};
66
67double injection_mixed_int(double x, void* pars);
68
69} // namespace kariba
Definition Mixed.hpp:25
double thnorm
Definition Mixed.hpp:27
double Temp
Definition Mixed.hpp:27
virtual double max_p(double ucom, double bfield, double betaeff, double r, double fsc)
Definition Mixed.cpp:164
double pmax_th
Definition Mixed.hpp:29
virtual double count_pl_particles()
Definition Mixed.cpp:268
virtual void set_temp_kev(double T)
Definition Mixed.cpp:66
virtual void set_p(double ucom, double bfield, double betaeff, double r, double fsc)
Methods to set momentum/energy arrays and number density arrays.
Definition Mixed.cpp:24
friend double pl_num_dens_int(double x, void *p)
Methods to calculate number density and average energy in non-thermal part.
Definition Mixed.cpp:252
double plfrac
Definition Mixed.hpp:30
virtual void set_ndens()
Definition Mixed.cpp:49
double pmax_pl
Definition Mixed.hpp:29
virtual double av_th_gamma()
Definition Mixed.cpp:244
virtual void set_norm(double n)
Definition Mixed.cpp:102
friend double th_num_dens_int(double x, void *p)
Methods to calculate number density and average energy in thermal part.
Definition Mixed.cpp:193
friend double av_pl_p_int(double x, void *p)
Definition Mixed.cpp:260
double pspec
Definition Mixed.hpp:28
virtual void set_plfrac(double f)
Definition Mixed.cpp:81
double pmin_pl
Definition Mixed.hpp:29
virtual double K2(double x)
Evaluate Bessel function for MJ normalization.
Definition Mixed.cpp:180
virtual double count_th_particles()
Definition Mixed.cpp:215
virtual double av_pl_gamma()
Definition Mixed.cpp:297
double theta
Definition Mixed.hpp:27
virtual void cooling_steadystate(double ucom, double n0, double bfield, double r, double betaeff)
Definition Mixed.cpp:110
virtual void set_pspec(double s1)
Definition Mixed.cpp:79
virtual void test()
simple method to check quantities.
Definition Mixed.cpp:305
double plnorm
Definition Mixed.hpp:28
friend double av_th_p_int(double x, void *p)
Definition Mixed.cpp:204
double pmin_th
Definition Mixed.hpp:29
virtual double av_pl_p()
Definition Mixed.cpp:282
virtual double av_th_p()
Definition Mixed.cpp:229
Definition Particles.hpp:76
std::vector< double > p
array of particle momenta
Definition Particles.hpp:81
Definition BBody.hpp:5
double injection_mixed_int(double x, void *pars)
Injection function to be integrated in cooling.
Definition Mixed.cpp:314