skOpticalProperties  2.1
Public Member Functions | List of all members
skOpticalProperties_MieAerosolCached Class Reference

#include <skrtscatter_phasematrix.h>

Inheritance diagram for skOpticalProperties_MieAerosolCached:
skOpticalProperties_MieAerosol skOpticalProperties_ParticleBase skOpticalProperties

Public Member Functions

bool Set_RefractiveIndex (skRTRefractiveIndex *ri)
bool Set_ParticleDistribution (skRTParticleDist *distribution)
virtual bool CalculateCrossSections (double wavenumber, double *absxs, double *extxs, double *scattxs, size_t threadindex) override
 Calculate cross-sections at the specified wave-number.
virtual bool CalculatePhaseMatrix (double wavenumber, double cosscatterangle, skRTPhaseMatrix *phasematrix, size_t threadindex) override
 Calculate the phase matrix at the specified wavenumber and scattering angle.
- Public Member Functions inherited from skOpticalProperties_MieAerosol
 skOpticalProperties_MieAerosol ()
virtual ~skOpticalProperties_MieAerosol ()
void LoadDefaultStratosphere ()
void LoadDefaultTroposphere ()
virtual bool SetAtmosphericState (skClimatology *neutralatmosphere, const GEODETIC_INSTANT &pt, bool *crosssectionschanged) override
 Sets the atmospheric state and location for calculating cross-sections, usually temperature, pressure and position. More...
virtual bool UpdateInternalClimatology (const GEODETIC_INSTANT &pt) override
virtual bool IsScatterer () const override
 Returns true if this particles scatters radiation.
virtual bool IsAbsorber () const override
 Returns true if this particles absorbs radiation radiation.

Detailed Description

A class very similar to skOpticalProperties_MieAerosol except that it caches Mie scattering calculations in files on the users system.

Member Function Documentation

bool skOpticalProperties_MieAerosolCached::Set_RefractiveIndex ( skRTRefractiveIndex ri)

Sets the refractive index of the mie aerosol. It is assumed this is only set once during initialization. Frequently changing the refractive index object may incur significant overhead as it always flushes the internal caches even if the refractive obejct is the same

Reimplemented from skOpticalProperties_MieAerosol.

References skOpticalProperties_MieAerosol::Set_RefractiveIndex().

bool skOpticalProperties_MieAerosolCached::Set_ParticleDistribution ( skRTParticleDist newdistribution)

Set #newdistribution as the new particle distribution for the Mie scatterers. The #newdistribution is cloned into memory. The code checks to see if the current and new distributions are identical

newdistributionThe new particle distribution.

Reimplemented from skOpticalProperties_MieAerosol.

References skRTParticleDist::IsSameDistributionAs(), and skOpticalProperties_MieAerosol::Set_ParticleDistribution().

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