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

#include <skrtscatter_phasematrix.h>

Inheritance diagram for skOpticalProperties_MultipleOverlappingSpectra:

Public Member Functions

bool AddEntry (double startlambda_nm, double endlambda_nm, skOpticalProperties *crosssection)
virtual bool SetAtmosphericState (skClimatology *neutralatmosphere, const GEODETIC_INSTANT &pt, bool *crosssections_changed) override
 Sets the atmospheric state and location for calculating cross-sections, usually temperature, pressure and position.
virtual bool UpdateInternalClimatology (const GEODETIC_INSTANT &pt) override
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. More...
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.
- Public Member Functions inherited from skOpticalProperties
 skOpticalProperties ()
bool GetRotatedPhaseMatrix (double wavenum, double mu, double muprime, double dphi, skRTPhaseMatrix *rotatedmatrix, size_t threadindex)
 Returns the rotated phase matrix necessary for scattering. More...
void CheckCosineRange (double *mu)
bool IsDeltaFunctionForwardScatter () const
 Returns true if this cross-section has a delta function forward scatter element.
virtual bool CalculateCrossSectionsArray (const std::vector< double > &wavenumber, std::vector< double > *absxs, std::vector< double > *extxs, std::vector< double > *scattxs)
 Calculate cross-sections at the specified array of wave-numbers. More...

Detailed Description

A class that creates absoprption spectra for one molecule by combining several cross-section objects togther. This was built so we could use one set of O3 cross-sections which only cover one part of the spectrum and supplement other regions with another cross-section object. It exists and that is about all that can be said as it is not used very frequently.

Member Function Documentation

bool skOpticalProperties_MultipleOverlappingSpectra::AddEntry ( double  startlambda_nm,
double  endlambda_nm,
skOpticalProperties crosssection 


bool skOpticalProperties_MultipleOverlappingSpectra::UpdateInternalClimatology ( const GEODETIC_INSTANT &  pt)
Function that allows the optical properties class to update any internal
climatologies it may be using. This is useful for optical properties that use
internal climatologies to store various parameters (eg aerosols that store geographical distributions
of mode radius and mode width). The call to UpdateInternalClimatology differs from SetAtmosphericState
in its expected usage: a call to UpdateInternalClimatology configures internal climatologies so they
can quickly service the many subsequent calls to SetAtmosphericState.
ptThe time and location at which the next set of cross-sections will be needed. Note thatthe height field is usually ignored as all internal climatologies are expected to cache height profiles of their respective parameters.
True if success otherwise false.

Implements skOpticalProperties.

References skOpticalProperties::UpdateInternalClimatology().

bool skOpticalProperties_MultipleOverlappingSpectra::CalculatePhaseMatrix ( double  wavenumber,
double  cosscatterangle,
skRTPhaseMatrix phasematrix,
size_t  threadindex 

Calculate the phase matrix at the specified wavenumber and scattering angle.

Set the extinction, ansorption and scattering cross-sections.

Reimplemented from skOpticalProperties.

References skRTPhaseMatrix::SetTo().

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