Jpp  19.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::JIsotropicScattering Class Reference

Implementation of the JScatteringModel interface with isotropic scattering. More...

#include <JScatteringModel.hh>

Inheritance diagram for JMARKOV::JIsotropicScattering:
JMARKOV::JScatteringModel

Public Member Functions

 JIsotropicScattering (double _lambda_scat)
 Constructor. More...
 
double getScatteringProbability (double ct)
 Return the probability density as a function of cos(theta) More...
 
JVersor3D generateDirection ()
 Return a randomly generated direction according to the scattering probability distribution. More...
 
virtual double getScatteringLength ()
 

Protected Attributes

double lambda_scat
 

Detailed Description

Implementation of the JScatteringModel interface with isotropic scattering.

Definition at line 447 of file JScatteringModel.hh.

Constructor & Destructor Documentation

JMARKOV::JIsotropicScattering::JIsotropicScattering ( double  _lambda_scat)
inline

Constructor.

Definition at line 454 of file JScatteringModel.hh.

454  {
455  lambda_scat = _lambda_scat ;
456  }

Member Function Documentation

double JMARKOV::JIsotropicScattering::getScatteringProbability ( double  ct)
inlinevirtual

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.

Implements JMARKOV::JScatteringModel.

Definition at line 458 of file JScatteringModel.hh.

458  {
459  return 1.0/(4.0*M_PI) ;
460  }
JVersor3D JMARKOV::JIsotropicScattering::generateDirection ( )
inlinevirtual

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

This uses gRandom.

Implements JMARKOV::JScatteringModel.

Definition at line 462 of file JScatteringModel.hh.

462  {
463  double phi = gRandom->Uniform(0,2*M_PI) ;
464  double ct = gRandom->Uniform(-1,1) ;
465  return JDirection3D( JAngle3D( acos(ct),phi) ) ;
466  }
Data structure for angles in three dimensions.
Definition: JAngle3D.hh:33
Data structure for direction in three dimensions.
Definition: JDirection3D.hh:33
virtual double JMARKOV::JScatteringModel::getScatteringLength ( )
inlinevirtualinherited

Reimplemented in JMARKOV::JCombinedScattering.

Definition at line 73 of file JScatteringModel.hh.

73 { return lambda_scat ; }

Member Data Documentation

double JMARKOV::JScatteringModel::lambda_scat
protectedinherited

Definition at line 77 of file JScatteringModel.hh.


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