Isis 3 Programmer Reference
NormModel.cpp
1
6/* SPDX-License-Identifier: CC0-1.0 */
7#include "Pvl.h"
8#include "NormModel.h"
9#include "PhotoModel.h"
10#include "AtmosModel.h"
11#include "IException.h"
12
13namespace Isis {
24 p_normAlgorithmName = "Unknown";
25 p_normPM = &pmodel;
26 p_normAM = NULL;
27 p_normWavelength = 1.0;
28 }
29
40 p_normAlgorithmName = "Unknown";
41 p_normPM = &pmodel;
42 p_normAM = &amodel;
43 p_normWavelength = 1.0;
44 }
45
51 void NormModel::SetNormWavelength(double wavelength) {
52 p_normWavelength = wavelength;
53 }
54
64 void NormModel::CalcNrmAlbedo(double pha, double inc, double ema, double dn,
65 double &albedo, double &mult, double &base) {
66
67 // Check validity of photometric angles
68 //if (pha > 180.0 || inc > 90.0 || ema > 90.0 || pha < 0.0 ||
69 // inc < 0.0 || ema < 0.0) {
70 // std::string msg = "Invalid photometric angles";
71 // throw iException::Message(iException::Programmer,msg,_FILEINFO_);
72 //}
73
74 // Perform normalization
75 NormModelAlgorithm(pha, inc, ema, dn, albedo, mult, base);
76 }
77
89 void NormModel::CalcNrmAlbedo(double pha, double inc, double ema,
90 double deminc, double demema, double dn, double &albedo,
91 double &mult, double &base) {
92
93 // Check validity of photometric angles
94 //if (pha > 180.0 || inc > 90.0 || ema > 90.0 || pha < 0.0 ||
95 // inc < 0.0 || ema < 0.0) {
96 // std::string msg = "Invalid photometric angles";
97 // throw iException::Message(iException::Programmer,msg,_FILEINFO_);
98 //}
99
100 // Perform normalization
101 NormModelAlgorithm(pha, inc, ema, deminc, demema, dn, albedo, mult, base);
102 }
103}
Isotropic atmos scattering model.
Definition AtmosModel.h:60
NormModel(Pvl &pvl, PhotoModel &pmodel)
Create a NormModel object.
Definition NormModel.cpp:23
void CalcNrmAlbedo(double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)
Calculate the albedo normalization.
Definition NormModel.cpp:64
virtual void SetNormWavelength(double wavelength)
Set the wavelength parameter.
Definition NormModel.cpp:51
Container for cube-like labels.
Definition Pvl.h:119
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16