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

#include <ElectronScatteringHelper.hpp>

Inheritance diagram for ElectronScatteringHelper::FreeBoundComptonHelper:

Public Member Functions

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

BoundComptonHelper _bound
FreeComptonHelper _free
Random_random

Detailed Description

This class implements Compton scattering for an ion with \(N\) out of \(Z\) electrons still bound, without support for polarization, as a weighted combination of free-electron (FreeComptonHelper) and bound-electron (BoundComptonHelper) Compton scattering, with weights \(1-N/Z\) and \(N/Z\), respectively. This helper is used only by XRayIonicGasMix, which represents ions rather than neutral atoms.

Member Function Documentation

◆ peeloffScattering()

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

Reimplemented from ElectronScatteringHelper::Helper.

◆ performScattering()

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

Reimplemented from ElectronScatteringHelper::Helper.

◆ sectionSca()

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

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