8#include "LunarLambert.h"
12 PvlGroup &algo = pvl.findObject(
"PhotometricModel")
13 .findGroup(
"Algorithm", Pvl::Traverse);
18 if(algo.hasKeyword(
"L")) SetPhotoL(algo[
"L"]);
37 static double pht_lunlam;
43 static double old_phase = -9999;
44 static double old_incidence = -9999;
45 static double old_emission= -9999;
47 if (old_phase == phase && old_incidence == incidence && old_emission == emission) {
52 old_incidence = incidence;
53 old_emission = emission;
55 incrad = incidence *
Isis::PI / 180.0;
56 emarad = emission *
Isis::PI / 180.0;
60 if(munot <= 0.0 || mu <= 0.0 || incidence == 90.0 ||
65 else if(p_photoL == 0.0) {
69 else if(p_photoL == 1.0) {
70 pht_lunlam = 2.0 * munot / (munot + mu);
75 pht_lunlam = munot * ((1.0 - p_photoL) + 2.0 *
76 p_photoL / (munot + mu));
Lunar (Lommel-Seeliger)-Lambert law photometric model Derive model albedo for Lunar (Lommel-Seeliger)...
virtual double PhotoModelAlgorithm(double phase, double incidence, double emission)
Return photometric L value.
void SetPhotoL(const double l)
Set the Lunar-Lambert function weight.
Container for cube-like labels.
This is free and unencumbered software released into the public domain.
const double PI
The mathematical constant PI.