#include <PhotoModel.h>


| Public Member Functions | |
| PhotoModel (Pvl &pvl) | |
| Create a PhotoModel object. | |
| virtual | ~PhotoModel () | 
| 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 | 
| 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 | 
References _FILEINFO_, Isis::PvlObject::findObject(), Isis::PvlContainer::hasKeyword(), Isis::PvlObject::Traverse, and Isis::IException::User.
Referenced by Isis::Hapke::Hapke(), Isis::Lambert::Lambert(), Isis::LommelSeeliger::LommelSeeliger(), Isis::LunarLambert::LunarLambert(), Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::LunarLambertMcEwen::LunarLambertMcEwen(), Isis::Minnaert::Minnaert(), and Isis::MinnaertEmpirical::MinnaertEmpirical().
| 
 | inlinevirtual | 
| 
 | inline | 
Return algorithm name found in Pvl file from constructor.
Referenced by Isis::Hapke::Hapke().
| 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 | 
References PhotoModelAlgorithm().
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::NumericalAtmosApprox::InrFunc2Bint(), Isis::Mixed::Mixed(), Isis::Albedo::NormModelAlgorithm(), Isis::AlbedoAtm::NormModelAlgorithm(), Isis::Mixed::NormModelAlgorithm(), Isis::MoonAlbedo::NormModelAlgorithm(), Isis::NoNormalization::NormModelAlgorithm(), Isis::Shade::NormModelAlgorithm(), Isis::ShadeAtm::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::TopoAtm::NormModelAlgorithm(), PhtTopder(), and Isis::TopoAtm::TopoAtm().
| 
 | inline | 
Hapke's approximation to Chandra's H function.
Referenced by Isis::Hapke::PhotoModelAlgorithm().
| 
 | inline | 
Return photometric B0 standardization value.
References p_photo0B0Standard.
| 
 | inline | 
Return photometric B0 value.
References p_photoB0.
| 
 | inline | 
Return photometric Bh value.
References p_photoBh.
| 
 | inline | 
Return photometric Ch value.
References p_photoCh.
| 
 | inline | 
Return photometric Hg1 value.
References p_photoHg1.
| 
 | inline | 
Return photometric Hg2 value.
References p_photoHg2.
| 
 | inline | 
Return photometric Hh value.
References p_photoHh.
| 
 | inline | 
Return photometric K value.
References p_photoK.
| 
 | inline | 
Return photometric k value list.
References p_photoKList.
| 
 | inline | 
Return photometric L value.
References p_photoL.
| 
 | inline | 
Return photometric l value list.
References p_photoLList.
| 
 | protectedpure virtual | 
Implemented in Isis::Hapke, Isis::Lambert, Isis::LommelSeeliger, Isis::LunarLambert, Isis::LunarLambertEmpirical, Isis::LunarLambertMcEwen, Isis::Minnaert, and Isis::MinnaertEmpirical.
Referenced by CalcSurfAlbedo().
| 
 | inline | 
Return photometric phase curve value list.
References p_photoPhaseCurveList.
| 
 | inline | 
Return photometric phase angle list.
References p_photoPhaseList.
| 
 | inline | 
Return photometric Theta value.
References p_photoTheta.
| 
 | inline | 
Return photometric Wh value.
References p_photoWh.
| 
 | 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) | 
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 | 
References CalcSurfAlbedo(), PhtAcos(), and Isis::PI.
Referenced by Isis::Mixed::Mixed(), Isis::Mixed::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::TopoAtm::NormModelAlgorithm(), and Isis::TopoAtm::TopoAtm().
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photo0B0Standard.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoB0.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoBh.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoCh.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoHg1.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoHg2.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoHh.
| 
 | inlinevirtual | 
Reimplemented in Isis::Minnaert.
References p_photoK.
| 
 | inlinevirtual | 
Reimplemented in Isis::MinnaertEmpirical.
| 
 | inlinevirtual | 
Reimplemented in Isis::LunarLambert.
References p_photoL.
| 
 | inlinevirtual | 
Reimplemented in Isis::LunarLambertEmpirical.
| 
 | inlinevirtual | 
Reimplemented in Isis::LunarLambertEmpirical, and Isis::MinnaertEmpirical.
| 
 | inlinevirtual | 
Reimplemented in Isis::LunarLambertEmpirical, and Isis::MinnaertEmpirical.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoTheta.
| 
 | inlinevirtual | 
Reimplemented in Isis::Hapke.
References p_photoWh.
| 
 | virtual | 
Sets whether standard conditions will be used.
| standard | True if standard conditions are used. | 
Reimplemented in Isis::Hapke.
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::Mixed::Mixed(), Isis::Shade::NormModelAlgorithm(), Isis::ShadeAtm::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::Hapke::SetStandardConditions(), and Isis::TopoAtm::TopoAtm().
| 
 | inline | 
Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), and Isis::Hapke::PhotoModelAlgorithm().
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), and Isis::Hapke::SetStandardConditions().
| 
 | protected | 
Referenced by PhotoBh(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoBh(), and SetPhotoBh().
| 
 | protected | 
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), Isis::LunarLambertEmpirical::PhotoModelAlgorithm(), Isis::MinnaertEmpirical::PhotoModelAlgorithm(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
| 
 | protected | 
Referenced by PhotoCh(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoCh(), and SetPhotoCh().
| 
 | protected | 
Referenced by Isis::Hapke::PhotoModelAlgorithm().
| 
 | protected | 
Referenced by Isis::Hapke::PhotoModelAlgorithm().
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), PhotoHg1(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoHg1(), and SetPhotoHg1().
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), PhotoHg2(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoHg2(), and SetPhotoHg2().
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), PhotoHh(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoHh(), and SetPhotoHh().
| 
 | protected | 
Referenced by PhotoK(), Isis::Minnaert::PhotoModelAlgorithm(), Isis::Minnaert::SetPhotoK(), and SetPhotoK().
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
Referenced by PhotoL(), Isis::LunarLambert::PhotoModelAlgorithm(), Isis::LunarLambert::SetPhotoL(), and SetPhotoL().
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
Referenced by Isis::Hapke::PhotoModelAlgorithm().
| 
 | protected | 
| 
 | protected | 
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), PhotoPhaseCurveList(), Isis::LunarLambertEmpirical::SetPhotoPhaseCurveList(), Isis::LunarLambertEmpirical::SetPhotoPhaseCurveList(), Isis::MinnaertEmpirical::SetPhotoPhaseCurveList(), Isis::MinnaertEmpirical::SetPhotoPhaseCurveList(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
| 
 | protected | 
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), PhotoPhaseList(), Isis::LunarLambertEmpirical::SetPhotoPhaseList(), Isis::LunarLambertEmpirical::SetPhotoPhaseList(), Isis::MinnaertEmpirical::SetPhotoPhaseList(), Isis::MinnaertEmpirical::SetPhotoPhaseList(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
| 
 | protected | 
Referenced by Isis::Hapke::PhotoModelAlgorithm().
| 
 | protected | 
Referenced by Isis::Hapke::PhotoModelAlgorithm().
| 
 | protected | 
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), Isis::Hapke::PhotoModelAlgorithm(), and Isis::Hapke::SetOldTheta().
| 
 | protected | 
Referenced by Isis::Hapke::Hapke(), Isis::Hapke::PhotoModelAlgorithm(), PhotoWh(), Isis::Hapke::SetPhotoWh(), and SetPhotoWh().