The SKIRT project
advanced radiative transfer for astrophysics
ElectronScatteringHelper::BoundComptonHelper Class Reference

#include <ElectronScatteringHelper.hpp>

Inheritance diagram for ElectronScatteringHelper::BoundComptonHelper:

Public Member Functions

 BoundComptonHelper (SimulationItem *item)
void peeloffScattering (double &I, double &lambda, int Z, int N, Direction bfk, Direction bfkobs) const override
Direction performScattering (double &lambda, int Z, int N, Direction bfk) const override
double sectionSca (double lambda, int Z, int N) const override
Public Member Functions inherited from ElectronScatteringHelper::Helper
void peeloffScattering (double &I, double &lambda, int Z, Direction bfk, Direction bfkobs) const
void peeloffScattering (double &I, double &Q, double &U, double &V, double &lambda, int Z, Direction bfk, Direction bfkobs, Direction bfky, const StokesVector *sv) const
virtual void peeloffScattering (double &I, double &Q, double &U, double &V, double &lambda, int Z, int N, Direction bfk, Direction bfkobs, Direction bfky, const StokesVector *sv) const
Direction performScattering (double &lambda, int Z, Direction bfk) const
Direction performScattering (double &lambda, int Z, Direction bfk, StokesVector *sv) const
virtual Direction performScattering (double &lambda, int Z, int N, Direction bfk, StokesVector *sv) const
double sectionSca (double lambda, int Z) const

Private Member Functions

double augmentedInverseComptonFactor (double x, double costheta, double Z) const
double generateCosineFromPhaseFunction (double x, double Z) const
double phaseFunctionValue (double x, double costheta, int Z) const
double sampleMomentum (double pmax, double Z) const

Private Attributes

Array _costhetav
vector< Array_CPv
vector< Array_CSv
vector< Array_cumCPv
Range _cumRange
vector< Array_IBv
Random_random
vector< Array_SFv
Array _sin2thetav
Array _sintheta2v
Array _sinthetav

Detailed Description

This class implements Compton scattering by electrons bound to an atom, without support for polarization, using tabulated cross sections, incoherent scattering functions, and target-electron momentum distributions (indexed on atomic number) to calculate the cross section, phase function, and the resulting photon energy shift.

Member Function Documentation

◆ peeloffScattering()

void ElectronScatteringHelper::BoundComptonHelper::peeloffScattering ( double & I,
double & lambda,
int Z,
int N,
Direction bfk,
Direction bfkobs ) const
overridevirtual

Reimplemented from ElectronScatteringHelper::Helper.

◆ performScattering()

Direction ElectronScatteringHelper::BoundComptonHelper::performScattering ( double & lambda,
int Z,
int N,
Direction bfk ) const
overridevirtual

Reimplemented from ElectronScatteringHelper::Helper.

◆ sectionSca()

double ElectronScatteringHelper::BoundComptonHelper::sectionSca ( double lambda,
int Z,
int N ) const
overridevirtual

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