Isis 3.0
Home
Isis::PhotoModel Class Referenceabstract

#include <PhotoModel.h>

Inherited by Isis::Hapke, Isis::Lambert, Isis::LommelSeeliger, Isis::LunarLambert, Isis::LunarLambertEmpirical, Isis::LunarLambertMcEwen, Isis::Minnaert, and Isis::MinnaertEmpirical.

Public Member Functions

 PhotoModel (Pvl &pvl)
 Create a PhotoModel object. More...
 
virtual ~PhotoModel ()
 
QString AlgorithmName () const
 Return algorithm name found in Pvl file from constructor. More...
 
virtual void SetStandardConditions (bool standard)
 Sets whether standard conditions will be used. More...
 
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. More...
 
double PhtTopder (double phase, double incidence, double emission)
 Obtain topographic derivative of an arbitrary photometric function. More...
 
double CalcSurfAlbedo (double pha, double inc, double ema)
 Calculate the surface brightness using photometric angle information. More...
 
virtual void SetPhotoL (const double l)
 
double PhotoL () const
 Return photometric L value. More...
 
virtual void SetPhotoK (const double k)
 
double PhotoK () const
 Return photometric K value. More...
 
virtual void SetPhotoHg1 (const double hg1)
 
double PhotoHg1 () const
 Return photometric Hg1 value. More...
 
virtual void SetPhotoHg2 (const double hg2)
 
double PhotoHg2 () const
 Return photometric Hg2 value. More...
 
virtual void SetPhotoBh (const double bh)
 
double PhotoBh () const
 Return photometric Bh value. More...
 
virtual void SetPhotoCh (const double ch)
 
double PhotoCh () const
 Return photometric Ch value. More...
 
virtual void SetPhotoWh (const double wh)
 
double PhotoWh () const
 Return photometric Wh value. More...
 
virtual void SetPhotoHh (const double hh)
 
double PhotoHh () const
 Return photometric Hh value. More...
 
virtual void SetPhotoB0 (const double b0)
 
double PhotoB0 () const
 Return photometric B0 value. More...
 
virtual void SetPhotoTheta (const double theta)
 
double PhotoTheta () const
 Return photometric Theta value. More...
 
virtual void SetPhoto0B0Standard (const QString &b0standard)
 
QString Photo0B0Standard () const
 Return photometric B0 standardization value. More...
 
double Hfunc (double u, double gamma)
 Hapke's approximation to Chandra's H function. More...
 
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. More...
 
std::vector< double > PhotoKList () const
 Return photometric k value list. More...
 
std::vector< double > PhotoLList () const
 Return photometric l value list. More...
 
std::vector< double > PhotoPhaseCurveList () const
 Return photometric phase curve value list. More...
 

Static Public Member Functions

static double PhtAcos (double cosang)
 Obtain arccosine of input value. More...
 

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
 

Detailed Description

Author
1998-12-21 Randy Kirk

Constructor & Destructor Documentation

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.

Parameters
pvlA pvl object containing a valid PhotoModel specification
See Also
photometricModels.doc

References _FILEINFO_, Isis::PvlObject::findObject(), and Isis::PvlContainer::hasKeyword().

virtual Isis::PhotoModel::~PhotoModel ( )
inlinevirtual

Member Function Documentation

QString Isis::PhotoModel::AlgorithmName ( ) const
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 
)
double Isis::PhotoModel::Hfunc ( double  u,
double  gamma 
)
inline

Hapke's approximation to Chandra's H function.

Referenced by Isis::Hapke::PhotoModelAlgorithm().

QString Isis::PhotoModel::Photo0B0Standard ( ) const
inline

Return photometric B0 standardization value.

References p_photo0B0Standard.

double Isis::PhotoModel::PhotoB0 ( ) const
inline

Return photometric B0 value.

References p_photoB0.

double Isis::PhotoModel::PhotoBh ( ) const
inline

Return photometric Bh value.

References p_photoBh.

double Isis::PhotoModel::PhotoCh ( ) const
inline

Return photometric Ch value.

References p_photoCh.

double Isis::PhotoModel::PhotoHg1 ( ) const
inline

Return photometric Hg1 value.

References p_photoHg1.

double Isis::PhotoModel::PhotoHg2 ( ) const
inline

Return photometric Hg2 value.

References p_photoHg2.

double Isis::PhotoModel::PhotoHh ( ) const
inline

Return photometric Hh value.

References p_photoHh.

double Isis::PhotoModel::PhotoK ( ) const
inline

Return photometric K value.

References p_photoK.

std::vector<double> Isis::PhotoModel::PhotoKList ( ) const
inline

Return photometric k value list.

References p_photoKList.

double Isis::PhotoModel::PhotoL ( ) const
inline

Return photometric L value.

References p_photoL.

std::vector<double> Isis::PhotoModel::PhotoLList ( ) const
inline

Return photometric l value list.

References p_photoLList.

virtual double Isis::PhotoModel::PhotoModelAlgorithm ( double  phase,
double  incidence,
double  emission 
)
protectedpure virtual
std::vector<double> Isis::PhotoModel::PhotoPhaseCurveList ( ) const
inline

Return photometric phase curve value list.

References p_photoPhaseCurveList.

std::vector<double> Isis::PhotoModel::PhotoPhaseList ( ) const
inline

Return photometric phase angle list.

References p_photoPhaseList.

double Isis::PhotoModel::PhotoTheta ( ) const
inline

Return photometric Theta value.

References p_photoTheta.

double Isis::PhotoModel::PhotoWh ( ) const
inline

Return photometric Wh value.

References p_photoWh.

double Isis::PhotoModel::PhtAcos ( double  cosang)
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.

Parameters
cosanginput value to obtain arccosine of (in radians)
Returns
double Arccosine of cosang, if valid.
History:
2008-11-05 Jeannie Walldren - This method was moved from NumericalMethods class.
double Isis::PhotoModel::PhtTopder ( double  phase,
double  incidence,
double  emission 
)

Obtain topographic derivative of an arbitrary photometric function.

Parameters
phaseInput phase angle
incidenceInput incidence angle
emissionInput emission angle
Returns
double Gradient

References Isis::PI().

Referenced by Isis::Mixed::Mixed(), Isis::Topo::NormModelAlgorithm(), Isis::Mixed::NormModelAlgorithm(), Isis::TopoAtm::NormModelAlgorithm(), and Isis::TopoAtm::TopoAtm().

virtual void Isis::PhotoModel::SetPhoto0B0Standard ( const QString &  b0standard)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photo0B0Standard.

virtual void Isis::PhotoModel::SetPhotoB0 ( const double  b0)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoB0.

virtual void Isis::PhotoModel::SetPhotoBh ( const double  bh)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoBh.

virtual void Isis::PhotoModel::SetPhotoCh ( const double  ch)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoCh.

virtual void Isis::PhotoModel::SetPhotoHg1 ( const double  hg1)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoHg1.

virtual void Isis::PhotoModel::SetPhotoHg2 ( const double  hg2)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoHg2.

virtual void Isis::PhotoModel::SetPhotoHh ( const double  hh)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoHh.

virtual void Isis::PhotoModel::SetPhotoK ( const double  k)
inlinevirtual

Reimplemented in Isis::Minnaert.

References p_photoK.

virtual void Isis::PhotoModel::SetPhotoKList ( const QString  )
inlinevirtual

Reimplemented in Isis::MinnaertEmpirical.

virtual void Isis::PhotoModel::SetPhotoL ( const double  l)
inlinevirtual

Reimplemented in Isis::LunarLambert.

References p_photoL.

virtual void Isis::PhotoModel::SetPhotoLList ( const QString  )
inlinevirtual

Reimplemented in Isis::LunarLambertEmpirical.

virtual void Isis::PhotoModel::SetPhotoPhaseCurveList ( const QString  )
inlinevirtual
virtual void Isis::PhotoModel::SetPhotoPhaseList ( const QString  )
inlinevirtual
virtual void Isis::PhotoModel::SetPhotoTheta ( const double  theta)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoTheta.

virtual void Isis::PhotoModel::SetPhotoWh ( const double  wh)
inlinevirtual

Reimplemented in Isis::Hapke.

References p_photoWh.

void Isis::PhotoModel::SetStandardConditions ( bool  standard)
virtual
bool Isis::PhotoModel::StandardConditions ( ) const
inline

Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.

Member Data Documentation

QString Isis::PhotoModel::p_algName
protected
QString Isis::PhotoModel::p_photo0B0Standard
protected
double Isis::PhotoModel::p_photoB0save
protected
double Isis::PhotoModel::p_photoBh
protected
double Isis::PhotoModel::p_photoCh
protected
double Isis::PhotoModel::p_photoCot2t
protected
double Isis::PhotoModel::p_photoCott
protected
double Isis::PhotoModel::p_photoHg1
protected
double Isis::PhotoModel::p_photoHg2
protected
double Isis::PhotoModel::p_photoHh
protected
double Isis::PhotoModel::p_photoK
protected
double Isis::PhotoModel::p_photoL
protected
double Isis::PhotoModel::p_photoOsr
protected
int Isis::PhotoModel::p_photoPhaseAngleCount
protected
double Isis::PhotoModel::p_photoSr
protected
double Isis::PhotoModel::p_photoTant
protected
double Isis::PhotoModel::p_photoTheta
protected
double Isis::PhotoModel::p_photoThetaold
protected
double Isis::PhotoModel::p_photoWh
protected

The documentation for this class was generated from the following files: