USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::LunarLambert Class Reference

#include <LunarLambert.h>

Inheritance diagram for Isis::LunarLambert:

Inheritance graph
[legend]
Collaboration diagram for Isis::LunarLambert:

Collaboration graph
[legend]
List of all members.

Detailed Description

Lunar (Lommel-Seeliger)-Lambert law photometric model Derive model albedo for Lunar (Lommel-Seeliger)-Lambert law.

Phase independent and calculated analytically. Lommel-Seeliger law:

Reflectance=1/(1+cos(E)/cos(I))

Where: E=the angle between the observer and the slope normal I=the angle between the sun and the slope normal

Author:
1999-01-08 Randy Kirk

For internal use only.

History:
2007-07-31 Steven Lambright - Moved PhotoL from base PhotoModel class to this child.

Definition at line 48 of file LunarLambert.h.

Public Member Functions

 LunarLambert (Pvl &pvl)
virtual ~LunarLambert ()
void SetPhotoL (const double l)
 Set the Lunar-Lambert function weight.
double PhotoL () const
 Return photometric L value.
std::string AlgorithmName () const
 Return algorithm name found in Pvl file from constructor.
virtual void SetStandardConditions (bool standard)
 Sets whether standard conditions will be used.
bool StandardConditions () const
 Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.
double PhtTopder (double phase, double incidence, double emission)
 Obtain topographic derivative of an arbitrary photometric function.
double CalcSurfAlbedo (double pha, double inc, double ema)
 Calculate the surface brightness using photometric angle information.

Static Public Member Functions

static double PhtAcos (double cosang)
 Obtain arccosine of input value.

Protected Member Functions

virtual double PhotoModelAlgorithm (double phase, double incidence, double emission)

Private Attributes

double p_photoL


Member Function Documentation

std::string Isis::PhotoModel::AlgorithmName  )  const [inline, inherited]
 

Return algorithm name found in Pvl file from constructor.

Definition at line 60 of file PhotoModel.h.

References Isis::PhotoModel::p_photoAlgorithmName.

Referenced by Isis::AtmosModel::GenerateAhTable().

double Isis::PhotoModel::CalcSurfAlbedo double  pha,
double  inc,
double  ema
[inherited]
 

Calculate the surface brightness using photometric angle information.

Parameters:
pha Phase angle
inc Incidence angle
ema Emission angle
Returns:
double Surface brightness calculated by the photometric function

Definition at line 163 of file PhotoModel.cpp.

Referenced by Isis::NumericalAtmosApprox::InrFunc2Bint(), Isis::TopoAtm::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::ShadeAtm::NormModelAlgorithm(), Isis::Shade::NormModelAlgorithm(), Isis::NoNormalization::NormModelAlgorithm(), Isis::MoonAlbedo::NormModelAlgorithm(), Isis::Mixed::NormModelAlgorithm(), Isis::AlbedoAtm::NormModelAlgorithm(), Isis::Albedo::NormModelAlgorithm(), and Isis::PhotoModel::PhtTopder().

double Isis::LunarLambert::PhotoL  )  const [inline]
 

Return photometric L value.

Definition at line 56 of file LunarLambert.h.

References p_photoL.

double Isis::PhotoModel::PhtAcos double  cosang  )  [static, inherited]
 

Obtain arccosine of input value.

If the input value is outside of the valid range (-1 to 1), then obtain the arccosine of the closest valid value.

Parameters:
cosang input value to obtain arccosine of (in radians)
Returns:
double Arccosine of cosang, if valid.
History:
2008-11-05 Jeannie Walldren - This method was moved from NumericalMethods class.

Definition at line 135 of file PhotoModel.cpp.

Referenced by Isis::PhotoModel::PhtTopder().

double Isis::PhotoModel::PhtTopder double  phase,
double  incidence,
double  emission
[inherited]
 

Obtain topographic derivative of an arbitrary photometric function.

Parameters:
phase Input phase angle
incidence Input incidence angle
emission Input emission angle
Returns:
double Gradient

Definition at line 48 of file PhotoModel.cpp.

References Isis::PhotoModel::CalcSurfAlbedo(), e, Isis::PhotoModel::PhtAcos(), Isis::PI(), and z.

Referenced by Isis::TopoAtm::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), and Isis::Mixed::NormModelAlgorithm().

void Isis::LunarLambert::SetPhotoL const double  l  ) 
 

Set the Lunar-Lambert function weight.

This is used to govern the limb-darkening in the Lunar-Lambert photometric function. Values of the Lunar-Lambert weight generally fall in the range from 0.0 (Lambert function) to 1.0 (Lommel-Seeliger or "lunar" function). There are no limits on the value of this parameter, but values far outside the 0 to 1 range will not be very useful.

Parameters:
l Lunar-Lambert function weight, default is 1.0

Definition at line 25 of file LunarLambert.cpp.

References p_photoL.

Referenced by LunarLambert().

void Isis::PhotoModel::SetStandardConditions bool  standard  )  [virtual, inherited]
 

Sets whether standard conditions will be used.

Parameters:
standard True if standard conditions are used.

Reimplemented in Isis::HapkePhotoModel.

Definition at line 34 of file PhotoModel.cpp.

References Isis::PhotoModel::p_standardConditions.

Referenced by Isis::Topo::NormModelAlgorithm(), Isis::ShadeAtm::NormModelAlgorithm(), Isis::Shade::NormModelAlgorithm(), and Isis::HapkePhotoModel::SetStandardConditions().

bool Isis::PhotoModel::StandardConditions  )  const [inline, inherited]
 

Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.

Definition at line 64 of file PhotoModel.h.

References Isis::PhotoModel::p_standardConditions.


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