MIDSX 0.1
A x-ray transport code system for dosimetry
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Static Private Member Functions | List of all members
IncoherentScattering Class Reference

Class which represents the incoherent scattering interaction. More...

#include <photon_interactions.h>

Collaboration diagram for IncoherentScattering:

Public Member Functions

double interact (Particle &photon, Material &material) override
 Performs the incoherent scattering interaction.
 

Private Member Functions

bool isAcceptedByScatteringFunction (double mu, double k, Material &material)
 
double changeTrajectoryAndReturnEnergyForCoherentScattering (Particle &photon, double mu, double k, double k_prime)
 

Static Private Member Functions

static bool isR1Accepted (double k, double random_number_1)
 
static double getChiIfR1Accepted (double k, double random_number_2)
 
static bool isR3AcceptedIfR1Accepted (double chi, double random_number_3)
 
static double getKPrime (double k, double chi)
 
static double getMu (double k, double k_prime)
 
static double getChiIfR1Rejected (double k, double random_number_2)
 
static bool isR3AcceptedIfR1Rejected (double k, double chi, double random_number_3)
 

Additional Inherited Members

- Protected Attributes inherited from ParticleInteractionBehavior
ProbabilityDist::Uniform uniform_dist_ {0.0, 1.0}
 

Detailed Description

Class which represents the incoherent scattering interaction.

Definition at line 54 of file photon_interactions.h.

Member Function Documentation

◆ interact()

double IncoherentScattering::interact ( Particle & photon,
Material & material )
overridevirtual

Performs the incoherent scattering interaction.

Uses Kahn's algorithm to sample the Klein-Nishina distribution. Then performs an additional rejection sampling on the Scattering Function to get the scattering angle and new energy.

Parameters
photonThe photon to interact.
materialThe material to interact with.
Returns
The energy deposited at location of interaction.

Implements ParticleInteractionBehavior.


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