30 #include "NumericalApproximation.h" 74 double PhtTopder(
double phase,
double incidence,
double emission);
77 static double PhtAcos(
double cosang);
82 virtual void SetPhotoL(
const double l) {
91 virtual void SetPhotoK(
const double k) {
100 virtual void SetPhotoHg1(
const double hg1) {
109 virtual void SetPhotoHg2(
const double hg2) {
118 virtual void SetPhotoBh(
const double bh) {
127 virtual void SetPhotoCh(
const double ch) {
136 virtual void SetPhotoWh(
const double wh) {
145 virtual void SetPhotoHh(
const double hh) {
154 virtual void SetPhotoB0(
const double b0) {
163 virtual void SetPhotoTheta(
const double theta) {
164 p_photoTheta = theta;
174 virtual void SetPhoto0B0Standard(
const QString &b0standard) {
175 p_photo0B0Standard = b0standard;
180 return p_photo0B0Standard;
184 inline double Hfunc(
double u,
double gamma) {
185 return (1.0 + 2.0 * u) / (1.0 + 2.0 * u * gamma);
188 virtual void SetPhotoPhaseList(
const QString) {}
189 virtual void SetPhotoKList(
const QString) {}
190 virtual void SetPhotoLList(
const QString) {}
191 virtual void SetPhotoPhaseCurveList(
const QString) {}
195 return p_photoPhaseList;
210 return p_photoPhaseCurveList;
214 virtual double PhotoModelAlgorithm(
double phase,
215 double incidence,
double emission) = 0;
229 QString p_photo0B0Standard;
233 double p_photoB0save;
235 double p_photoThetaold;
237 std::vector<double> p_photoPhaseList;
238 std::vector<double> p_photoKList;
239 std::vector<double> p_photoLList;
240 std::vector<double> p_photoPhaseCurveList;
241 int p_photoPhaseAngleCount;
QString AlgorithmName() const
Return algorithm name found in Pvl file from constructor.
double PhotoBh() const
Return photometric Bh value.
double CalcSurfAlbedo(double pha, double inc, double ema)
Calculate the surface brightness using photometric angle information.
double PhotoL() const
Return photometric L value.
QString Photo0B0Standard() const
Return photometric B0 standardization value.
double PhotoHg1() const
Return photometric Hg1 value.
double PhotoHg2() const
Return photometric Hg2 value.
double PhotoB0() const
Return photometric B0 value.
NumericalApproximation provides various numerical analysis methods of interpolation, extrapolation and approximation of a tabulated set of x, y data.
double PhtTopder(double phase, double incidence, double emission)
Obtain topographic derivative of an arbitrary photometric function.
PhotoModel(Pvl &pvl)
Create a PhotoModel object.
double PhotoK() const
Return photometric K value.
double PhotoHh() const
Return photometric Hh value.
std::vector< double > PhotoPhaseList() const
Return photometric phase angle list.
bool p_standardConditions
Indicates whether standard conditions are used.
Container for cube-like labels.
QString p_photoAlgorithmName
Unique name of the photometric model.
double PhotoCh() const
Return photometric Ch value.
double PhotoTheta() const
Return photometric Theta value.
std::vector< double > PhotoPhaseCurveList() const
Return photometric phase curve value list.
static double PhtAcos(double cosang)
Obtain arccosine of input value.
Namespace for ISIS/Bullet specific routines.
double Hfunc(double u, double gamma)
Hapke's approximation to Chandra's H function.
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 PhotoWh() const
Return photometric Wh value.
virtual void SetStandardConditions(bool standard)
Sets whether standard conditions will be used.
std::vector< double > PhotoLList() const
Return photometric l value list.