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

#include <Particles.hpp>

Inheritance diagram for kariba::Particles:
kariba::Bknpower kariba::Kappa kariba::Mixed kariba::Powerlaw kariba::Thermal

Public Member Functions

 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 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
 

Detailed Description

Template class for particle distributions This class contains members and methods that are used for thermal, non-thermal and mixed distributions

Constructor & Destructor Documentation

◆ Particles()

kariba::Particles::Particles ( size_t  size)

Member Function Documentation

◆ av_gamma()

double kariba::Particles::av_gamma ( )

◆ av_gammasq()

double kariba::Particles::av_gammasq ( )

◆ av_p()

double kariba::Particles::av_p ( )

◆ av_psq()

double kariba::Particles::av_psq ( )

◆ count_particles()

double kariba::Particles::count_particles ( )

Simple numerical integrals /w trapeze method.

◆ count_particles_energy()

double kariba::Particles::count_particles_energy ( )

◆ gdens_differentiate()

void kariba::Particles::gdens_differentiate ( )

◆ get_gamma()

const std::vector< double > & kariba::Particles::get_gamma ( ) const
inline

◆ get_gdens()

const std::vector< double > & kariba::Particles::get_gdens ( ) const
inline

◆ get_gdens_diff()

const std::vector< double > & kariba::Particles::get_gdens_diff ( ) const
inline

◆ get_p()

const std::vector< double > & kariba::Particles::get_p ( ) const
inline

◆ get_pdens()

const std::vector< double > & kariba::Particles::get_pdens ( ) const
inline

◆ initialize_gdens()

void kariba::Particles::initialize_gdens ( )

Methods to set up energy space number density, as a function of momentum space number density

◆ initialize_pdens()

void kariba::Particles::initialize_pdens ( )

Same as above but the other way around.

◆ set_mass()

void kariba::Particles::set_mass ( double  m)

◆ test_arrays()

void kariba::Particles::test_arrays ( )

simple method to check arrays; only meant for debugging

Member Data Documentation

◆ gamma

std::vector<double> kariba::Particles::gamma
protected

array of particle kinetic energies for each momentum

◆ gdens

std::vector<double> kariba::Particles::gdens
protected

array of number density per unit volume, per unit gamma

◆ gdens_diff

std::vector<double> kariba::Particles::gdens_diff
protected

array with differential of number density for radiation calculation

◆ mass_gr

double kariba::Particles::mass_gr
protected

particle mass in grams

◆ mass_kev

double kariba::Particles::mass_kev
protected

same as above but in keV, using electrons as "reference"

◆ ndens

std::vector<double> kariba::Particles::ndens
protected

array of number density per unit volume, per unit momentum

◆ p

std::vector<double> kariba::Particles::p
protected

array of particle momenta


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