Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JMARKOV::JScatteringModel Class Referenceabstract

Virtual base class for a scattering model. More...

#include <JScatteringModel.hh>

Inheritance diagram for JMARKOV::JScatteringModel:
JMARKOV::JCombinedScattering JMARKOV::JHenyeyGreensteinScattering JMARKOV::JIsotropicScattering JMARKOV::JRayleighScattering

Public Member Functions

 JScatteringModel ()
 
virtual ~JScatteringModel ()
 
virtual double getScatteringProbability (double ct)=0
 Return the probability density as a function of cos(theta)
 
virtual JVersor3D generateDirection ()=0
 Return a randomly generated direction according to the scattering probability distribution.
 
virtual double getScatteringLength ()
 

Protected Attributes

double lambda_scat
 

Detailed Description

Virtual base class for a scattering model.

Definition at line 45 of file JScatteringModel.hh.

Constructor & Destructor Documentation

◆ JScatteringModel()

JMARKOV::JScatteringModel::JScatteringModel ( )
inline

Definition at line 49 of file JScatteringModel.hh.

49{}

◆ ~JScatteringModel()

virtual JMARKOV::JScatteringModel::~JScatteringModel ( )
inlinevirtual

Definition at line 52 of file JScatteringModel.hh.

52{}

Member Function Documentation

◆ getScatteringProbability()

virtual double JMARKOV::JScatteringModel::getScatteringProbability ( double ct)
pure virtual

Return the probability density as a function of cos(theta)

dP / dOmega = dP / dcosTheta dPhi

to scatter in a given direction. Theta=0 is forward scattering.

Implemented in JMARKOV::JCombinedScattering, JMARKOV::JHenyeyGreensteinScattering, JMARKOV::JIsotropicScattering, and JMARKOV::JRayleighScattering.

◆ generateDirection()

virtual JVersor3D JMARKOV::JScatteringModel::generateDirection ( )
pure virtual

Return a randomly generated direction according to the scattering probability distribution.

This uses gRandom.

Implemented in JMARKOV::JCombinedScattering, JMARKOV::JHenyeyGreensteinScattering, JMARKOV::JIsotropicScattering, and JMARKOV::JRayleighScattering.

◆ getScatteringLength()

virtual double JMARKOV::JScatteringModel::getScatteringLength ( )
inlinevirtual

Reimplemented in JMARKOV::JCombinedScattering.

Definition at line 72 of file JScatteringModel.hh.

Member Data Documentation

◆ lambda_scat

double JMARKOV::JScatteringModel::lambda_scat
protected

Definition at line 76 of file JScatteringModel.hh.


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