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 friend double emis(double gamma, void* p);
20 friend double abs(double gamma, void* p);
21 double emis_integral(double nu, double gmin, double gmax, gsl_spline* eldis,
22 gsl_interp_accel* acc_eldis);
23 double abs_integral(double nu, double gmin, double gmax, gsl_spline* eldis_diff,
24 gsl_interp_accel* acc_eldis_diff);
25
26 void cycsyn_spectrum(double gmin, double gmax, gsl_spline* eldis, gsl_interp_accel* acc_eldis,
27 gsl_spline* eldis_diff, gsl_interp_accel* acc_eldis_diff);
28
29 double nu_syn(double gamma);
30 double nu_syn();
31
32 void set_frequency(double numin, double numax);
33 void set_bfield(double b);
34 void set_mass(double mass);
35
36 void test();
37};
38
39} // namespace kariba
Class synchrotron photons, inherited from Radiation.hpp.
Definition Cyclosyn.hpp:8
double abs_integral(double nu, double gmin, double gmax, gsl_spline *eldis_diff, gsl_interp_accel *acc_eldis_diff)
Definition Cyclosyn.cpp:135
void test()
Definition Cyclosyn.cpp:269
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
double nu_syn()
Definition Cyclosyn.cpp:240
double mass_gr
Definition Cyclosyn.hpp:11
gsl_spline * syn_f
Definition Cyclosyn.hpp:12
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
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
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)
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