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

#include <ElectronScatteringHelper.hpp>

Inheritance diagram for ElectronScatteringHelper::FreeComptonHelper:

Public Member Functions

 FreeComptonHelper (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 Attributes

ComptonPhaseFunction _cpf
DipolePhaseFunction _dpf

Detailed Description

This class implements Compton scattering by free electrons, without support for polarization. The cross section, phase function and energy shift are delegated to the ComptonPhaseFunction class, except at low energies (below 0.1 keV), where the Compton formulas become numerically unstable and the Thomson limit is used instead.

Member Function Documentation

◆ peeloffScattering()

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

Reimplemented from ElectronScatteringHelper::Helper.

◆ performScattering()

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

Reimplemented from ElectronScatteringHelper::Helper.

◆ sectionSca()

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

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