12#include "IException.h" 
   38      IString msg = 
"Keyword [Name] or keyword [PhtName] must ";
 
   39      msg += 
"exist in [Group = Algorithm]";
 
 
   73    double inc1, inc2, inc3, inc4;
 
   75    double ema1, ema2, ema3, ema4;
 
   83    xi = sin((
Isis::PI / 180.0) * incidence);
 
   84    zi = cos((
Isis::PI / 180.0) * incidence);
 
   89    if((incidence == 0.0) || (emission == 0.0)) {
 
   93      cphi = (cos((
Isis::PI / 180.0) * phase) -
 
   94              cos((
Isis::PI / 180.0) * incidence) *
 
   95              cos((
Isis::PI / 180.0) * emission)) /
 
   96             (sin((
Isis::PI / 180.0) * incidence) *
 
  102    xe = cphi * sin((
Isis::PI / 180.0) * emission);
 
  104    ze = cos((
Isis::PI / 180.0) * emission);
 
  108    xy = sin((
Isis::PI / 180.0) * epsh);
 
  111    cinc = max(-1.0, min(xy * xi + z * zi, 1.0));
 
  113    cema = max(-1.0, min(xy * xe + z * ze, 1.0));
 
  116    cinc = max(-1.0, min(-xy * xi + z * zi, 1.0));
 
  118    cema = max(-1.0, min(-xy * xe + z * ze, 1.0));
 
  121    cinc = max(-1.0, min(z * zi, 1.0));
 
  123    cema = max(-1.0, min(xy * ye + z * ze, 1.0));
 
  126    cinc = max(-1.0, min(z * zi, 1.0));
 
  128    cema = max(-1.0, min(-xy * ye + z * ze, 1.0));
 
  135    result = sqrt(max(1.0e-30, d1 * d1 + d2 * d2));
 
 
  153    if(fabs(cosang) <= 1.0) {
 
  154      result = acos(cosang);
 
 
  187    double albedo = PhotoModelAlgorithm(pha, inc, ema);
 
 
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
 
Adds specific functionality to C++ strings.
 
double CalcSurfAlbedo(double pha, double inc, double ema)
Calculate the surface brightness using photometric angle information.
 
QString p_photoAlgorithmName
Unique name of the photometric model.
 
bool p_standardConditions
Indicates whether standard conditions are used.
 
double PhtTopder(double phase, double incidence, double emission)
Obtain topographic derivative of an arbitrary photometric function.
 
virtual void SetStandardConditions(bool standard)
Sets whether standard conditions will be used.
 
PhotoModel(Pvl &pvl)
Create a PhotoModel object.
 
static double PhtAcos(double cosang)
Obtain arccosine of input value.
 
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
 
Contains multiple PvlContainers.
 
Container for cube-like labels.
 
@ Traverse
Search child objects.
 
This is free and unencumbered software released into the public domain.
 
const double PI
The mathematical constant PI.
 
Namespace for the standard library.