Kariba
Loading...
Searching...
No Matches
Cyclosyn.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "Radiation.hpp"
4
5namespace kariba {
6
8class Cyclosyn : public Radiation {
9 protected:
10 double bfield; // Magnetic field in emitting region
11 double mass_gr; // Mass of the emitting particle
12 gsl_spline* syn_f;
13 gsl_interp_accel* syn_acc;
14
15 public:
16 ~Cyclosyn();
17 Cyclosyn(size_t size);
18
19 virtual double emis_integral(double nu, double gmin, double gmax, gsl_spline* eldis,
20 gsl_interp_accel* acc_eldis);
21 virtual double abs_integral(double nu, double gmin, double gmax, gsl_spline* eldis_diff,
22 gsl_interp_accel* acc_eldis_diff);
23
24 virtual void cycsyn_spectrum(double gmin, double gmax, gsl_spline* eldis,
25 gsl_interp_accel* acc_eldis, gsl_spline* eldis_diff,
26 gsl_interp_accel* acc_eldis_diff);
27
28 virtual double nu_syn(double gamma);
29 virtual double nu_syn();
30
31 virtual void set_frequency(double numin, double numax);
32 virtual void set_bfield(double b);
33 virtual void set_mass(double mass);
34
35 virtual void test();
36
37 friend double emis(double gamma, void* p);
38 friend double abs(double gamma, void* p);
39};
40
41} // namespace kariba
Class synchrotron photons, inherited from Radiation.hpp.
Definition Cyclosyn.hpp:8
virtual double abs_integral(double nu, double gmin, double gmax, gsl_spline *eldis_diff, gsl_interp_accel *acc_eldis_diff)
Definition Cyclosyn.cpp:135
virtual void test()
Definition Cyclosyn.cpp:269
virtual double emis_integral(double nu, double gmin, double gmax, gsl_spline *eldis, gsl_interp_accel *acc_eldis)
Definition Cyclosyn.cpp:119
~Cyclosyn()
Definition Cyclosyn.cpp:27
gsl_interp_accel * syn_acc
Definition Cyclosyn.hpp:13
virtual double nu_syn()
Definition Cyclosyn.cpp:240
double mass_gr
Definition Cyclosyn.hpp:11
gsl_spline * syn_f
Definition Cyclosyn.hpp:12
virtual void set_mass(double mass)
Method to set the particle mass.
Definition Cyclosyn.cpp:267
friend double abs(double gamma, void *p)
double bfield
Definition Cyclosyn.hpp:10
virtual void cycsyn_spectrum(double gmin, double gmax, gsl_spline *eldis, gsl_interp_accel *acc_eldis, gsl_spline *eldis_diff, gsl_interp_accel *acc_eldis_diff)
Comoving and observed specific luminosity for the input particle distribution.
Definition Cyclosyn.cpp:152
virtual void set_frequency(double numin, double numax)
Method to set up the frequency array over desired range.
Definition Cyclosyn.cpp:253
friend double emis(double gamma, void *p)
virtual void set_bfield(double b)
Method to set magnetic field.
Definition Cyclosyn.cpp:264
Base class for photon/neutrino distributions.
Definition Radiation.hpp:69
Definition BBody.hpp:5