Isis 3 Programmer Reference
Isis::NormModel Class Referenceabstract

#include <NormModel.h>

Inheritance diagram for Isis::NormModel:
Inheritance graph
Collaboration diagram for Isis::NormModel:
Collaboration graph

Public Member Functions

 NormModel (Pvl &pvl, PhotoModel &pmodel)
 Create a NormModel object.
 
 NormModel (Pvl &pvl, PhotoModel &pmodel, AtmosModel &amodel)
 Create a NormModel object.
 
std::string AlgorithmName () const
 Return normalization algorithm name.
 
void CalcNrmAlbedo (double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)
 Calculate the albedo normalization.
 
void CalcNrmAlbedo (double pha, double inc, double ema, double deminc, double demema, double dn, double &albedo, double &mult, double &base)
 Calculate the normalization albedo using photometric angle information.
 
virtual void SetNormWavelength (double wavelength)
 Set the wavelength parameter.
 

Protected Member Functions

virtual void NormModelAlgorithm (double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)=0
 
virtual void NormModelAlgorithm (double pha, double inc, double ema, double deminc, double demema, double dn, double &albedo, double &mult, double &base)=0
 
void SetAlgorithmName (std::string name)
 
PhotoModelGetPhotoModel ()
 
AtmosModelGetAtmosModel ()
 

Protected Attributes

double p_normWavelength
 

Private Attributes

std::string p_normAlgorithmName
 
PhotoModelp_normPM
 
AtmosModelp_normAM
 

Detailed Description

Author
1998-12-21 Randy Kirk
History

2007-08-15 Steven Lambright - Refactored

2008-03-07 Janet Barrett - Added p_normWavelength variable and SetNormWavelength method to allow an application to set this value to the BandBin Center keyword value for use with MoonAlbedo normalization. The application needs to call the SetPhotomWl method in the Photometry class and the SetNormWavelength method is called from the Photometry class.

2008-06-18 Steven Koechle - Fixed Documentation Errors

2008-07-09 Steven Lambright - Fixed unit test

Definition at line 36 of file NormModel.h.

Constructor & Destructor Documentation

◆ NormModel() [1/2]

Isis::NormModel::NormModel ( Pvl & pvl,
PhotoModel & pmodel )

Create a NormModel object.

Because this is a pure virtual class you can not create a NormModel class directly. Instead, see the NormModelFactory class.

Parameters
pvlA pvl object containing a valid NormModel specification
See also
normalizationModels.doc

Definition at line 23 of file NormModel.cpp.

◆ NormModel() [2/2]

Isis::NormModel::NormModel ( Pvl & pvl,
PhotoModel & pmodel,
AtmosModel & amodel )

Create a NormModel object.

Because this is a pure virtual class you can not create a NormModel class directly. Instead, see the NormModelFactory class.

Parameters
pvlA pvl object containing a valid NormModel specification
See also
normalizationModels.doc

Definition at line 39 of file NormModel.cpp.

◆ ~NormModel()

virtual Isis::NormModel::~NormModel ( )
inlinevirtual

Definition at line 40 of file NormModel.h.

Member Function Documentation

◆ AlgorithmName()

std::string Isis::NormModel::AlgorithmName ( ) const
inline

Return normalization algorithm name.

Definition at line 43 of file NormModel.h.

◆ CalcNrmAlbedo() [1/2]

void Isis::NormModel::CalcNrmAlbedo ( double pha,
double inc,
double ema,
double deminc,
double demema,
double dn,
double & albedo,
double & mult,
double & base )

Calculate the normalization albedo using photometric angle information.

Parameters
phainput phase angle
incinput incidence angle for ellipsoid
emainput emission angle for ellipsoid
demincinput incidence angle for dem
dememainput emission angle for dem
dninput albedo value

Definition at line 89 of file NormModel.cpp.

◆ CalcNrmAlbedo() [2/2]

void Isis::NormModel::CalcNrmAlbedo ( double pha,
double inc,
double ema,
double dn,
double & albedo,
double & mult,
double & base )

Calculate the albedo normalization.

Calculate the normalization albedo using photometric angle information.

Parameters
phainput phase angle
incinput incidence angle
emainput emission angle
dninput albedo value

Definition at line 64 of file NormModel.cpp.

Referenced by Isis::Photometry::Compute(), and Isis::Photometry::Compute().

◆ GetAtmosModel()

AtmosModel * Isis::NormModel::GetAtmosModel ( )
inlineprotected

Definition at line 69 of file NormModel.h.

◆ GetPhotoModel()

PhotoModel * Isis::NormModel::GetPhotoModel ( )
inlineprotected

Definition at line 66 of file NormModel.h.

◆ NormModelAlgorithm() [1/2]

virtual void Isis::NormModel::NormModelAlgorithm ( double pha,
double inc,
double ema,
double deminc,
double demema,
double dn,
double & albedo,
double & mult,
double & base )
protectedpure virtual

Implemented in Isis::Albedo, and Isis::AlbedoAtm.

◆ NormModelAlgorithm() [2/2]

virtual void Isis::NormModel::NormModelAlgorithm ( double pha,
double inc,
double ema,
double dn,
double & albedo,
double & mult,
double & base )
protectedpure virtual

Implemented in Isis::Albedo, and Isis::AlbedoAtm.

◆ SetAlgorithmName()

void Isis::NormModel::SetAlgorithmName ( std::string name)
inlineprotected

Definition at line 63 of file NormModel.h.

◆ SetNormWavelength()

void Isis::NormModel::SetNormWavelength ( double wavelength)
virtual

Set the wavelength parameter.

This value is obtained from the BandBin Center keyword of the image. This must be set by the application.

Definition at line 51 of file NormModel.cpp.

Referenced by Isis::Photometry::SetPhotomWl().

Member Data Documentation

◆ p_normAlgorithmName

std::string Isis::NormModel::p_normAlgorithmName
private

Definition at line 76 of file NormModel.h.

◆ p_normAM

AtmosModel* Isis::NormModel::p_normAM
private

Definition at line 78 of file NormModel.h.

◆ p_normPM

PhotoModel* Isis::NormModel::p_normPM
private

Definition at line 77 of file NormModel.h.

◆ p_normWavelength

double Isis::NormModel::p_normWavelength
protected

Definition at line 73 of file NormModel.h.


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