The SKIRT project
advanced radiative transfer for astrophysics
Public Member Functions | Protected Member Functions | List of all members
AngularDistributionInterface Class Referenceabstract

#include <AngularDistributionInterface.hpp>

Inheritance diagram for AngularDistributionInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~AngularDistributionInterface ()
 
virtual double probabilityForDirection (Direction bfk) const =0
 

Protected Member Functions

 AngularDistributionInterface ()
 

Detailed Description

AngularDistributionInterface is a pure interface to obtain information on an angular probability distribution \(P(\Omega)\,{\mathrm{d}}\Omega\). Specifically, the interface allows to retrieve the probability corresponding to a given direction \((\theta,\phi)\). By convention, the probability distribution is normalized on the unit sphere as follows:

\[ \int P(\Omega) \,{\mathrm{d}}\Omega = \int_{\phi=0}^{2\pi} \int_{\theta=0}^{\pi} P(\theta,\phi)\sin\theta \,{\mathrm{d}}\theta \,{\mathrm{d}}\phi = 4\pi\]

Constructor & Destructor Documentation

◆ AngularDistributionInterface()

AngularDistributionInterface::AngularDistributionInterface ( )
inlineprotected

The empty constructor for the interface.

◆ ~AngularDistributionInterface()

virtual AngularDistributionInterface::~AngularDistributionInterface ( )
inlinevirtual

The empty destructor for the interface.

Member Function Documentation

◆ probabilityForDirection()

virtual double AngularDistributionInterface::probabilityForDirection ( Direction  bfk) const
pure virtual

This function returns the probability \(P(\Omega)\) for the given direction \((\theta,\phi)\). For an isotropic distribution, this function would return 1 for any direction.

Implemented in AxAngularDistribution, and IsotropicAngularDistribution.


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