Kariba
Loading...
Searching...
No Matches
kariba::Kappa Class Reference

#include <Kappa.hpp>

Inheritance diagram for kariba::Kappa:
kariba::Particles

Public Member Functions

 Kappa (size_t size)
 Class constructor to initialize object.
 
void set_p (double ucom, double bfield, double betaeff, double r, double fsc)
 Methods to set momentum/energy arrays and number density arrays.
 
void set_p (double max)
 Same as above, but assuming a fixed maximum Lorentz factor.
 
void set_ndens ()
 
void set_kappa (double k)
 
void set_temp_kev (double T)
 Method to set the temperature, using ergs as input.
 
void set_norm (double n)
 
void cooling_steadystate (double ucom, double n0, double bfield, double r, double gshift)
 
double max_p (double ucom, double bfield, double betaeff, double r, double fsc)
 
void test ()
 
- Public Member Functions inherited from kariba::Particles
 Particles (size_t size)
 
void set_mass (double m)
 
void initialize_gdens ()
 
void initialize_pdens ()
 Same as above but the other way around.
 
void gdens_differentiate ()
 
const std::vector< double > & get_p () const
 
const std::vector< double > & get_pdens () const
 
const std::vector< double > & get_gamma () const
 
const std::vector< double > & get_gdens () const
 
const std::vector< double > & get_gdens_diff () const
 
double count_particles ()
 Simple numerical integrals /w trapeze method.
 
double count_particles_energy ()
 
double av_p ()
 
double av_gamma ()
 
double av_psq ()
 
double av_gammasq ()
 
void test_arrays ()
 simple method to check arrays; only meant for debugging
 

Protected Attributes

double theta
 
double kappa
 
double knorm
 
double pmin
 
double pmax
 
- Protected Attributes inherited from kariba::Particles
double mass_gr
 particle mass in grams
 
double mass_kev
 same as above but in keV, using electrons as "reference"
 
std::vector< double > p
 array of particle momenta
 
std::vector< double > ndens
 array of number density per unit volume, per unit momentum
 
std::vector< double > gamma
 array of particle kinetic energies for each momentum
 
std::vector< double > gdens
 array of number density per unit volume, per unit gamma
 
std::vector< double > gdens_diff
 

Friends

double norm_kappa_int (double x, void *p)
 Methods to calculate the normalization of the function.
 
double injection_kappa_int (double x, void *p)
 

Detailed Description

Class for kappa distribution of particles, inherited from the generic Particles class in Particles.hh

Constructor & Destructor Documentation

◆ Kappa()

kariba::Kappa::Kappa ( size_t  size)

Class constructor to initialize object.

Member Function Documentation

◆ cooling_steadystate()

void kariba::Kappa::cooling_steadystate ( double  ucom,
double  n0,
double  bfield,
double  r,
double  gshift 
)

◆ max_p()

double kariba::Kappa::max_p ( double  ucom,
double  bfield,
double  betaeff,
double  r,
double  fsc 
)

Method to calculate maximum momentum of non thermal particles based on acceleration and cooling timescales

◆ set_kappa()

void kariba::Kappa::set_kappa ( double  k)

◆ set_ndens()

void kariba::Kappa::set_ndens ( )

◆ set_norm()

void kariba::Kappa::set_norm ( double  n)

◆ set_p() [1/2]

void kariba::Kappa::set_p ( double  max)

Same as above, but assuming a fixed maximum Lorentz factor.

◆ set_p() [2/2]

void kariba::Kappa::set_p ( double  ucom,
double  bfield,
double  betaeff,
double  r,
double  fsc 
)

Methods to set momentum/energy arrays and number density arrays.

◆ set_temp_kev()

void kariba::Kappa::set_temp_kev ( double  T)

Method to set the temperature, using ergs as input.

< minimum energy in kev, 1/100 lower than peak

< maximum energy in kev, 20 higher than peak

◆ test()

void kariba::Kappa::test ( )

Friends And Related Symbol Documentation

◆ injection_kappa_int

double injection_kappa_int ( double  x,
void *  p 
)
friend

Method to solve steady state continuity equation. NOTE: KN cross section not included in IC cooling

◆ norm_kappa_int

double norm_kappa_int ( double  x,
void *  p 
)
friend

Methods to calculate the normalization of the function.

Member Data Documentation

◆ kappa

double kariba::Kappa::kappa
protected

◆ knorm

double kariba::Kappa::knorm
protected

◆ pmax

double kariba::Kappa::pmax
protected

◆ pmin

double kariba::Kappa::pmin
protected

◆ theta

double kariba::Kappa::theta
protected

The documentation for this class was generated from the following files: