Jpp  15.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
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) More...
 
virtual JVersor3D generateDirection ()=0
 Return a randomly generated direction according to the scattering probability distribution. More...
 
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

JMARKOV::JScatteringModel::JScatteringModel ( )
inline

Definition at line 49 of file JScatteringModel.hh.

49 {}
virtual JMARKOV::JScatteringModel::~JScatteringModel ( )
inlinevirtual

Definition at line 52 of file JScatteringModel.hh.

52 {}

Member Function Documentation

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::JRayleighScattering, JMARKOV::JIsotropicScattering, and JMARKOV::JHenyeyGreensteinScattering.

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::JRayleighScattering, JMARKOV::JIsotropicScattering, and JMARKOV::JHenyeyGreensteinScattering.

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

Reimplemented in JMARKOV::JCombinedScattering.

Definition at line 72 of file JScatteringModel.hh.

72 { return lambda_scat ; }

Member Data Documentation

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: