List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
MultipleScatterer Class Reference

#include <MultipleScatterer.h>

Public Types

enum  EAerosolModel { eLongtin, eHG01, eHG05, eHG09 }
 

Public Member Functions

void AddPhotons (const utl::Point &PointOfOrigin, const utl::Photon &PhotonDirect, const utl::Point &PointOfDetection, std::vector< utl::Photon > &photonVector)
 
void AddPhotons (const utl::Point &PointOfOrigin, const utl::Photon &PhotonDirect, const double Transmission, std::vector< utl::Photon > &photonVector)
 
 MultipleScatterer ()
 

Private Member Functions

bool GetRandomZeta (double &zeta, double &weightfactor, double Time, double OptDistance, double height, double MaxZeta)
 
double IntegralA (double A, double B, double C, double zeta)
 
double IntegralB (double D, double E, double F, double G, double H, double zeta)
 

Private Attributes

EAerosolModel fAerosolModel
 
utl::RandomEnginefRandomEngine
 
double MaxTime
 
double MaxZeta
 

Detailed Description

Definition at line 16 of file MultipleScatterer.h.

Member Enumeration Documentation

Enumerator
eLongtin 
eHG01 
eHG05 
eHG09 

Definition at line 23 of file MultipleScatterer.h.

Constructor & Destructor Documentation

MultipleScatterer::MultipleScatterer ( )

Member Function Documentation

void MultipleScatterer::AddPhotons ( const utl::Point PointOfOrigin,
const utl::Photon PhotonDirect,
const utl::Point PointOfDetection,
std::vector< utl::Photon > &  photonVector 
)
void MultipleScatterer::AddPhotons ( const utl::Point PointOfOrigin,
const utl::Photon PhotonDirect,
const double  Transmission,
std::vector< utl::Photon > &  photonVector 
)
bool MultipleScatterer::GetRandomZeta ( double &  zeta,
double &  weightfactor,
double  Time,
double  OptDistance,
double  height,
double  MaxZeta 
)
private

Definition at line 145 of file MultipleScatterer.cc.

References utl::degree, ERROR, utl::m, utl::ns, std::pow(), and WARNING.

double MultipleScatterer::IntegralA ( double  A,
double  B,
double  C,
double  zeta 
)
private

Definition at line 301 of file MultipleScatterer.cc.

References utl::degree, std::pow(), and utl::radian.

double MultipleScatterer::IntegralB ( double  D,
double  E,
double  F,
double  G,
double  H,
double  zeta 
)
private

Definition at line 335 of file MultipleScatterer.cc.

References utl::radian.

Member Data Documentation

EAerosolModel MultipleScatterer::fAerosolModel
private

Definition at line 46 of file MultipleScatterer.h.

utl::RandomEngine* MultipleScatterer::fRandomEngine
private

Definition at line 47 of file MultipleScatterer.h.

double MultipleScatterer::MaxTime
private

Definition at line 44 of file MultipleScatterer.h.

double MultipleScatterer::MaxZeta
private

Definition at line 43 of file MultipleScatterer.h.


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

, generated on Tue Sep 26 2023.