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

#include <ElectronScatteringHelper.hpp>

Inheritance diagram for ElectronScatteringHelper::FreeComptonWithPolarizationHelper:

Public Member Functions

 FreeComptonWithPolarizationHelper (SimulationItem *item)
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 override
Direction performScattering (double &lambda, int Z, int N, Direction bfk, StokesVector *sv) 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
virtual void peeloffScattering (double &I, double &lambda, int Z, int N, 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
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) const
double sectionSca (double lambda, int Z) const

Private Attributes

ComptonPhaseFunction _cpf
DipolePhaseFunction _dpf

Detailed Description

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

Member Function Documentation

◆ peeloffScattering()

void ElectronScatteringHelper::FreeComptonWithPolarizationHelper::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
overridevirtual

Reimplemented from ElectronScatteringHelper::Helper.

◆ performScattering()

Direction ElectronScatteringHelper::FreeComptonWithPolarizationHelper::performScattering ( double & lambda,
int Z,
int N,
Direction bfk,
StokesVector * sv ) const
overridevirtual

Reimplemented from ElectronScatteringHelper::Helper.

◆ sectionSca()

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

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