14#include "NumericalApproximation.h" 
   58      double PhtTopder(
double phase, 
double incidence, 
double emission);
 
   61      static double PhtAcos(
double cosang);
 
   66      virtual void SetPhotoL(
const double l) {
 
   75      virtual void SetPhotoK(
const double k) {
 
   84      virtual void SetPhotoHg1(
const double hg1) {
 
   93      virtual void SetPhotoHg2(
const double hg2) {
 
  102      virtual void SetPhotoBh(
const double bh) {
 
  111      virtual void SetPhotoCh(
const double ch) {
 
  120      virtual void SetPhotoWh(
const double wh) {
 
  129      virtual void SetPhotoHh(
const double hh) {
 
  138      virtual void SetPhotoB0(
const double b0) {
 
  147      virtual void SetPhotoTheta(
const double theta) {
 
  148        p_photoTheta = theta;
 
  158      virtual void SetPhoto0B0Standard(
const QString &b0standard) {
 
  159        p_photo0B0Standard = b0standard;
 
  164        return p_photo0B0Standard;
 
 
  168      inline double Hfunc(
double u, 
double gamma) {
 
  169        return (1.0 + 2.0 * u) / (1.0 + 2.0 * u * gamma);
 
 
  172      virtual void SetPhotoPhaseList(
const QString) {}
 
  173      virtual void SetPhotoKList(
const QString) {}
 
  174      virtual void SetPhotoLList(
const QString) {}
 
  175      virtual void SetPhotoPhaseCurveList(
const QString) {}
 
  179        return p_photoPhaseList;
 
 
  194        return p_photoPhaseCurveList;
 
 
  198      virtual double PhotoModelAlgorithm(
double phase,
 
  199                                         double incidence, 
double emission) = 0;
 
  213      QString p_photo0B0Standard;
 
  217      double p_photoB0save;
 
  219      double p_photoThetaold;
 
  221      std::vector<double> p_photoPhaseList;
 
  222      std::vector<double> p_photoKList;
 
  223      std::vector<double> p_photoLList;
 
  224      std::vector<double> p_photoPhaseCurveList;
 
  225      int p_photoPhaseAngleCount;
 
 
NumericalApproximation provides various numerical analysis methods of interpolation,...
 
double PhotoHg1() const
Return photometric Hg1 value.
 
double CalcSurfAlbedo(double pha, double inc, double ema)
Calculate the surface brightness using photometric angle information.
 
double PhotoL() const
Return photometric L value.
 
std::vector< double > PhotoPhaseCurveList() const
Return photometric phase curve value list.
 
double PhotoBh() const
Return photometric Bh value.
 
double PhotoHg2() const
Return photometric Hg2 value.
 
std::vector< double > PhotoLList() const
Return photometric l value list.
 
std::vector< double > PhotoKList() const
Return photometric k value list.
 
bool StandardConditions() const
Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called....
 
double PhotoB0() const
Return photometric B0 value.
 
QString p_photoAlgorithmName
Unique name of the photometric model.
 
std::vector< double > PhotoPhaseList() const
Return photometric phase angle list.
 
double PhotoTheta() const
Return photometric Theta value.
 
double Hfunc(double u, double gamma)
Hapke's approximation to Chandra's H function.
 
double PhotoCh() const
Return photometric Ch value.
 
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.
 
double PhotoK() const
Return photometric K value.
 
PhotoModel(Pvl &pvl)
Create a PhotoModel object.
 
QString AlgorithmName() const
Return algorithm name found in Pvl file from constructor.
 
QString Photo0B0Standard() const
Return photometric B0 standardization value.
 
double PhotoWh() const
Return photometric Wh value.
 
static double PhtAcos(double cosang)
Obtain arccosine of input value.
 
double PhotoHh() const
Return photometric Hh value.
 
Container for cube-like labels.
 
This is free and unencumbered software released into the public domain.