Isis 3 Programmer Reference
NormModel.cpp
1 #include "Pvl.h"
2 #include "NormModel.h"
3 #include "PhotoModel.h"
4 #include "AtmosModel.h"
5 #include "IException.h"
6 
7 namespace Isis {
18  p_normAlgorithmName = "Unknown";
19  p_normPM = &pmodel;
20  p_normAM = NULL;
21  p_normWavelength = 1.0;
22  }
23 
33  NormModel::NormModel(Pvl &pvl, PhotoModel &pmodel, AtmosModel &amodel) {
34  p_normAlgorithmName = "Unknown";
35  p_normPM = &pmodel;
36  p_normAM = &amodel;
37  p_normWavelength = 1.0;
38  }
39 
45  void NormModel::SetNormWavelength(double wavelength) {
46  p_normWavelength = wavelength;
47  }
48 
58  void NormModel::CalcNrmAlbedo(double pha, double inc, double ema, double dn,
59  double &albedo, double &mult, double &base) {
60 
61  // Check validity of photometric angles
62  //if (pha > 180.0 || inc > 90.0 || ema > 90.0 || pha < 0.0 ||
63  // inc < 0.0 || ema < 0.0) {
64  // std::string msg = "Invalid photometric angles";
65  // throw iException::Message(iException::Programmer,msg,_FILEINFO_);
66  //}
67 
68  // Perform normalization
69  NormModelAlgorithm(pha, inc, ema, dn, albedo, mult, base);
70  }
71 
83  void NormModel::CalcNrmAlbedo(double pha, double inc, double ema,
84  double deminc, double demema, double dn, double &albedo,
85  double &mult, double &base) {
86 
87  // Check validity of photometric angles
88  //if (pha > 180.0 || inc > 90.0 || ema > 90.0 || pha < 0.0 ||
89  // inc < 0.0 || ema < 0.0) {
90  // std::string msg = "Invalid photometric angles";
91  // throw iException::Message(iException::Programmer,msg,_FILEINFO_);
92  //}
93 
94  // Perform normalization
95  NormModelAlgorithm(pha, inc, ema, deminc, demema, dn, albedo, mult, base);
96  }
97 }
virtual void SetNormWavelength(double wavelength)
Set the wavelength parameter.
Definition: NormModel.cpp:45
Isotropic atmos scattering model.
Definition: AtmosModel.h:76
Container for cube-like labels.
Definition: Pvl.h:135
NormModel(Pvl &pvl, PhotoModel &pmodel)
Create a NormModel object.
Definition: NormModel.cpp:17
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
void CalcNrmAlbedo(double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)
Calculate the albedo normalization.
Definition: NormModel.cpp:58