![]()  | 
  
    Isis 3 Programmer Reference
    
   | 
 
#include <PhotoModel.h>


Public Member Functions | |
| PhotoModel (Pvl &pvl) | |
| Create a PhotoModel object.   | |
| QString | AlgorithmName () const | 
| Return algorithm name found in Pvl file from constructor.   | |
| virtual void | SetStandardConditions (bool standard) | 
| Sets whether standard conditions will be used.   | |
| bool | StandardConditions () const | 
| Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.   | |
| double | PhtTopder (double phase, double incidence, double emission) | 
| Obtain topographic derivative of an arbitrary photometric function.   | |
| double | CalcSurfAlbedo (double pha, double inc, double ema) | 
| Calculate the surface brightness using photometric angle information.   | |
| virtual void | SetPhotoL (const double l) | 
| double | PhotoL () const | 
| Return photometric L value.   | |
| virtual void | SetPhotoK (const double k) | 
| double | PhotoK () const | 
| Return photometric K value.   | |
| virtual void | SetPhotoHg1 (const double hg1) | 
| double | PhotoHg1 () const | 
| Return photometric Hg1 value.   | |
| virtual void | SetPhotoHg2 (const double hg2) | 
| double | PhotoHg2 () const | 
| Return photometric Hg2 value.   | |
| virtual void | SetPhotoBh (const double bh) | 
| double | PhotoBh () const | 
| Return photometric Bh value.   | |
| virtual void | SetPhotoCh (const double ch) | 
| double | PhotoCh () const | 
| Return photometric Ch value.   | |
| virtual void | SetPhotoWh (const double wh) | 
| double | PhotoWh () const | 
| Return photometric Wh value.   | |
| virtual void | SetPhotoHh (const double hh) | 
| double | PhotoHh () const | 
| Return photometric Hh value.   | |
| virtual void | SetPhotoB0 (const double b0) | 
| double | PhotoB0 () const | 
| Return photometric B0 value.   | |
| virtual void | SetPhotoTheta (const double theta) | 
| double | PhotoTheta () const | 
| Return photometric Theta value.   | |
| virtual void | SetPhoto0B0Standard (const QString &b0standard) | 
| QString | Photo0B0Standard () const | 
| Return photometric B0 standardization value.   | |
| double | Hfunc (double u, double gamma) | 
| Hapke's approximation to Chandra's H function.   | |
| virtual void | SetPhotoPhaseList (const QString) | 
| virtual void | SetPhotoKList (const QString) | 
| virtual void | SetPhotoLList (const QString) | 
| virtual void | SetPhotoPhaseCurveList (const QString) | 
| std::vector< double > | PhotoPhaseList () const | 
| Return photometric phase angle list.   | |
| std::vector< double > | PhotoKList () const | 
| Return photometric k value list.   | |
| std::vector< double > | PhotoLList () const | 
| Return photometric l value list.   | |
| std::vector< double > | PhotoPhaseCurveList () const | 
| Return photometric phase curve value list.   | |
Static Public Member Functions | |
| static double | PhtAcos (double cosang) | 
| Obtain arccosine of input value.   | |
Protected Member Functions | |
| virtual double | PhotoModelAlgorithm (double phase, double incidence, double emission)=0 | 
Protected Attributes | |
| double | p_photoL | 
| double | p_photoK | 
| double | p_photoHg1 | 
| double | p_photoHg2 | 
| double | p_photoBh | 
| double | p_photoCh | 
| double | p_photoCott | 
| double | p_photoCot2t | 
| double | p_photoTant | 
| double | p_photoSr | 
| double | p_photoOsr | 
| QString | p_algName | 
| QString | p_photo0B0Standard | 
| double | p_photoWh | 
| double | p_photoHh | 
| double | p_photoB0 | 
| double | p_photoB0save | 
| double | p_photoTheta | 
| double | p_photoThetaold | 
| std::vector< double > | p_photoPhaseList | 
| std::vector< double > | p_photoKList | 
| std::vector< double > | p_photoLList | 
| std::vector< double > | p_photoPhaseCurveList | 
| int | p_photoPhaseAngleCount | 
| NumericalApproximation | p_photoKSpline | 
| NumericalApproximation | p_photoLSpline | 
| NumericalApproximation | p_photoBSpline | 
Private Attributes | |
| QString | p_photoAlgorithmName | 
| Unique name of the photometric model.   | |
| bool | p_standardConditions | 
| Indicates whether standard conditions are used.   | |
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
2007-02-20 Janet Barrett - Imported from Isis2.
2007-07-31 Steven Lambright - Moved children methods out of this class and into the children classes
2008-03-07 Janet Barrett - Moved variables and related methods that pertain to Hapke specific parameters to this class from the HapkeHen class. Also added the code to set standard conditions.
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-07-09 Steven Lambright - Fixed unit test
2008-10-17 Steven Lambright - Moved Hapke-specific methods out of this class and into children classes.
2008-11-05 Jeannie Walldren - Moved PhtAcos() from NumericalMethods class.
Definition at line 41 of file PhotoModel.h.
| Isis::PhotoModel::PhotoModel | ( | Pvl & | pvl | ) | 
Create a PhotoModel object.
Because this is a pure virtual class you can not create a PhotoModel class directly. Instead, see the PhotoModelFactory class.
| pvl | A pvl object containing a valid PhotoModel specification | 
Definition at line 26 of file PhotoModel.cpp.
References Isis::PvlContainer::hasKeyword(), p_photoAlgorithmName, p_standardConditions, Isis::PvlObject::Traverse, and Isis::IException::User.
      
  | 
  inlinevirtual | 
Definition at line 44 of file PhotoModel.h.
      
  | 
  inline | 
Return algorithm name found in Pvl file from constructor.
Definition at line 47 of file PhotoModel.h.
References p_photoAlgorithmName.
Referenced by Isis::AtmosModel::GenerateAhTable().
| double Isis::PhotoModel::CalcSurfAlbedo | ( | double | pha, | 
| double | inc, | ||
| double | ema ) | 
Calculate the surface brightness using photometric angle information.
| pha | Phase angle | 
| inc | Incidence angle | 
| ema | Emission angle | 
Definition at line 177 of file PhotoModel.cpp.
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::Albedo::NormModelAlgorithm(), Isis::AlbedoAtm::NormModelAlgorithm(), and PhtTopder().
      
  | 
  inline | 
Hapke's approximation to Chandra's H function.
Definition at line 168 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric B0 standardization value.
Definition at line 163 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric B0 value.
Definition at line 143 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Bh value.
Definition at line 107 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Ch value.
Definition at line 116 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Hg1 value.
Definition at line 89 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Hg2 value.
Definition at line 98 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Hh value.
Definition at line 134 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric K value.
Definition at line 80 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric k value list.
Definition at line 183 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric L value.
Definition at line 71 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric l value list.
Definition at line 188 of file PhotoModel.h.
      
  | 
  protectedpure virtual | 
Implemented in Isis::LunarLambert, Isis::LunarLambertEmpirical, Isis::Minnaert, and Isis::MinnaertEmpirical.
      
  | 
  inline | 
Return photometric phase curve value list.
Definition at line 193 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric phase angle list.
Definition at line 178 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Theta value.
Definition at line 152 of file PhotoModel.h.
      
  | 
  inline | 
Return photometric Wh value.
Definition at line 125 of file PhotoModel.h.
      
  | 
  static | 
Obtain arccosine of input value.
If the input value is outside of the valid range (-1 to 1), then obtain the arccosine of the closest valid value.
| cosang | input value to obtain arccosine of (in radians) | 
Definition at line 150 of file PhotoModel.cpp.
Referenced by PhtTopder().
| double Isis::PhotoModel::PhtTopder | ( | double | phase, | 
| double | incidence, | ||
| double | emission ) | 
Obtain topographic derivative of an arbitrary photometric function.
| phase | Input phase angle | 
| incidence | Input incidence angle | 
| emission | Input emission angle | 
Definition at line 64 of file PhotoModel.cpp.
References CalcSurfAlbedo(), PhtAcos(), and Isis::PI.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 158 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 138 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 102 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 111 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 84 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 93 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 129 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Minnaert.
Definition at line 75 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::MinnaertEmpirical.
Definition at line 173 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::LunarLambert.
Definition at line 66 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::LunarLambertEmpirical.
Definition at line 174 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::LunarLambertEmpirical, and Isis::MinnaertEmpirical.
Definition at line 175 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::LunarLambertEmpirical, and Isis::MinnaertEmpirical.
Definition at line 172 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 147 of file PhotoModel.h.
      
  | 
  inlinevirtual | 
Reimplemented in Isis::Hapke.
Definition at line 120 of file PhotoModel.h.
      
  | 
  virtual | 
Sets whether standard conditions will be used.
| standard | True if standard conditions are used. | 
Reimplemented in Isis::Hapke.
Definition at line 50 of file PhotoModel.cpp.
References p_standardConditions.
Referenced by Isis::Albedo::Albedo(), and Isis::AlbedoAtm::AlbedoAtm().
      
  | 
  inline | 
Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.
Definition at line 53 of file PhotoModel.h.
References p_standardConditions.
      
  | 
  protected | 
Definition at line 212 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 213 of file PhotoModel.h.
      
  | 
  private | 
Unique name of the photometric model.
Definition at line 232 of file PhotoModel.h.
Referenced by AlgorithmName(), and PhotoModel().
      
  | 
  protected | 
Definition at line 216 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 217 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 205 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 228 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 206 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 208 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 207 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 203 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 204 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 215 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 202 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 222 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 226 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 201 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 223 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 227 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 211 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 225 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 224 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 221 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 210 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 209 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 218 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 219 of file PhotoModel.h.
      
  | 
  protected | 
Definition at line 214 of file PhotoModel.h.
      
  | 
  private | 
Indicates whether standard conditions are used.
Definition at line 234 of file PhotoModel.h.
Referenced by PhotoModel(), SetStandardConditions(), and StandardConditions().