8 #include "LunarLambertMcEwen.h"
9 #include "IException.h"
12 LunarLambertMcEwen::LunarLambertMcEwen(Pvl &pvl) : PhotoModel(pvl) {
15 p_photoM3 = -0.00000146;
17 double c30 = cos(30.0 *
Isis::PI / 180.0);
18 double xl30 = 1.0 + p_photoM1 * 30.0 + p_photoM2 * pow(30.0, 2.0) +
19 p_photoM3 * pow(30.0, 3);
20 p_photoR30 = 2.0 * xl30 * c30 / (1.0 + c30) + (1.0 - xl30) * c30;
23 double LunarLambertMcEwen::PhotoModelAlgorithm(
double phase,
double incidence,
25 static double pht_moonpr;
31 static double old_phase = -9999;
32 static double old_incidence = -9999;
33 static double old_emission= -9999;
35 if (old_phase == phase && old_incidence == incidence && old_emission == emission) {
40 old_incidence = incidence;
41 old_emission = emission;
43 incrad = incidence *
Isis::PI / 180.0;
44 emarad = emission *
Isis::PI / 180.0;
48 double xl = 1.0 + p_photoM1 * phase + p_photoM2 * pow(phase, 2) +
49 p_photoM3 * pow(phase, 3);
50 double r = 2.0 * xl * munot / (mu + munot) + (1.0 - xl) * munot;
56 pht_moonpr = p_photoR30 / r;