68 static double Ei(
double x);
69 static double En(
unsigned int n,
double x);
71 void CalcAtmEffect(
double pha,
double inc,
double ema,
double *pstd,
72 double *trans,
double *trans0,
double *sbar,
double *transs);
101 return p_atmosAlgorithmName;
136 return p_atmosNulneg;
219 p_atmosAlgorithmName = name;
222 p_atmosNulneg = nulneg;
241 return p_standardConditions;
290 bool p_standardConditions;
292 string p_atmosAlgorithmName;
298 double p_atmosTauold;
299 double p_atmosWhaold;
Isotropic atmos scattering model.
Definition AtmosModel.h:60
double p_trans
Transmission of surface reflected light through the atmosphere overall.
Definition AtmosModel.h:259
static double En(unsigned int n, double x)
This routine evaluates the generalized exponential integral, En(x).
Definition AtmosModel.cpp:370
void SetAtmosHga(const double hga)
Set the Hapke atmospheric function parameter.
Definition AtmosModel.cpp:820
double p_atmosEulgam
Definition AtmosModel.h:280
double p_atmosHnorm
Atmospheric shell thickness normalized to planet radius.
Definition AtmosModel.h:267
NumericalApproximation AtmosHahgtSpline()
If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosI...
Definition AtmosModel.h:197
double AtmosHahgsb() const
Return atmospheric Hahgsb value.
Definition AtmosModel.h:143
double p_atmosTau
Definition AtmosModel.h:264
double p_sbar
Illumination of the ground by the sky.
Definition AtmosModel.h:262
NumericalApproximation AtmosHahgt0Spline()
If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosI...
Definition AtmosModel.h:211
double p_atmosHgasave
Definition AtmosModel.h:253
bool p_atmosEstTau
Estimate optical depth tau using shadows.
Definition AtmosModel.h:269
vector< double > p_atmosAhTable
Definition AtmosModel.h:271
vector< double > AtmosHahgt0Table()
Return atmospheric Hahgt0Table value.
Definition AtmosModel.h:168
void SetAtmosInc(const double inc)
Set the incidence angle.
Definition AtmosModel.cpp:839
double AtmosHnorm() const
Return atmospheric Hnorm value.
Definition AtmosModel.h:110
void SetOldWha(double wha)
Definition AtmosModel.h:233
int p_atmosAtmSwitch
Definition AtmosModel.h:248
void SetAtmosIord(bool offset)
Definition AtmosModel.h:224
void SetAtmosEstTau(const string esttau)
Estimate the optical depth tau using shadows.
Definition AtmosModel.cpp:1002
NumericalApproximation p_atmosAhSpline
Spline object for the atmospheric Ah Table. Properties are set in GenerateAhTable().
Definition AtmosModel.h:283
double AtmosBha() const
Return atmospheric Bha value.
Definition AtmosModel.h:115
double p_atmosTausave
Definition AtmosModel.h:255
double p_atmosTauref
Definition AtmosModel.h:254
double p_atmosCosphi
Definition AtmosModel.h:279
double AtmosTau() const
Return atmospheric Tau value.
Definition AtmosModel.h:119
static double G11Prime(double tau)
Perform Chandra and Van de Hulst's series approximation for the g'11 function needed in second order ...
Definition AtmosModel.cpp:153
vector< double > AtmosIncTable()
Return atmospheric IncTable value.
Definition AtmosModel.h:156
double AtmosMunot() const
Return atmospheric Munot value.
Definition AtmosModel.h:151
void SetAtmosWha(const double wha)
Set the Atmospheric function parameter.
Definition AtmosModel.cpp:941
void SetOldTau(double tau)
Definition AtmosModel.h:230
double p_atmosBha
Definition AtmosModel.h:251
bool p_atmosAddOffset
Allow additive offset in fit.
Definition AtmosModel.h:268
double p_atmosWhasave
Definition AtmosModel.h:256
void SetAtmosTau(const double tau)
Set the Atmospheric function parameter.
Definition AtmosModel.cpp:903
void SetAtmosBha(const double bha)
Set the Anisotropic Atmospheric function parameter.
Definition AtmosModel.cpp:799
double p_transs
Transmission of light that must be subtracted from the flat surface model to get the shadow model.
Definition AtmosModel.h:261
NumericalApproximation AtmosAhSpline()
If GenerateAhTable() has been called this returns a clamped cubic spline of the data set (p_atmosIncT...
Definition AtmosModel.h:183
NumericalApproximation p_atmosHahgt0Spline
Spline object for the atmospheric Hahg0 Table. Properties are set in GenerateHahgTables().
Definition AtmosModel.h:287
void SetAtmosNulneg(bool nulneg)
Definition AtmosModel.h:221
static double Ei(double x)
This routine computes the exponential integral, Ei(x).
Definition AtmosModel.cpp:229
void SetAtmosIord(const string offset)
Set additive offset in fit.
Definition AtmosModel.cpp:983
double p_atmosAb
Definition AtmosModel.h:266
double AtmosTauref() const
Return atmospheric Tauref value.
Definition AtmosModel.h:131
double p_atmosPhi
Definition AtmosModel.h:276
vector< double > p_atmosHahgtTable
Definition AtmosModel.h:273
double AtmosAb() const
Return atmospheric Ab value.
Definition AtmosModel.h:139
void GenerateAhTable()
This method computes the values of the atmospheric Ah table and sets the properties of the atmospheri...
Definition AtmosModel.cpp:537
void SetAtmosHnorm(const double hnorm)
Set the Atmospheric function parameter.
Definition AtmosModel.cpp:968
PhotoModel * GetPhotoModel() const
Definition AtmosModel.h:237
vector< double > p_atmosHahgt0Table
Definition AtmosModel.h:274
void SetAtmosAtmSwitch(const int atmswitch)
Set the switch that controls the function that will be integrated.
Definition AtmosModel.cpp:779
vector< double > AtmosAhTable()
Return atmospheric AhTable value.
Definition AtmosModel.h:160
virtual void SetStandardConditions(bool standard)
Used to calculate atmosphere at standard conditions.
Definition AtmosModel.cpp:498
void SetAlgorithmName(string name)
Definition AtmosModel.h:218
void GenerateHahgTablesShadow()
This method is a modified version of the GenerateHahgTables method and is used solely for shadow mode...
Definition AtmosModel.cpp:726
AtmosModel(Pvl &pvl, PhotoModel &pmodel)
Create an AtmosModel object.
Definition AtmosModel.cpp:41
virtual void AtmosModelAlgorithm(double phase, double incidence, double emission)=0
int p_atmosNinc
Definition AtmosModel.h:249
double p_atmosSini
Definition AtmosModel.h:278
double p_pstd
Pure atmospheric-scattering term.
Definition AtmosModel.h:258
void SetAtmosPhi(const double phi)
Set the azimuth angle.
Definition AtmosModel.cpp:884
vector< double > AtmosHahgtTable()
Return atmospheric HahgtTable value.
Definition AtmosModel.h:164
void SetAtmosNulneg(const string nulneg)
Set the Atmospheric function parameter.
Definition AtmosModel.cpp:861
double p_atmosInc
Definition AtmosModel.h:275
double p_atmosHga
Definition AtmosModel.h:263
double p_trans0
Transmission of surface reflected light through the atmosphere with no scatterings in the atmosphere.
Definition AtmosModel.h:260
void CalcAtmEffect(double pha, double inc, double ema, double *pstd, double *trans, double *trans0, double *sbar, double *transs)
Calculate the atmospheric scattering effect using photometric angle information.
Definition AtmosModel.cpp:475
double p_atmosBhasave
Definition AtmosModel.h:252
bool AtmosAdditiveOffset() const
Allow additive offset in fit?
Definition AtmosModel.h:105
NumericalApproximation p_atmosHahgtSpline
Spline object for the atmospheric Hahg Table. Properties are set in GenerateHahgTables().
Definition AtmosModel.h:285
double p_atmosMunot
Definition AtmosModel.h:277
void SetAtmosEstTau(bool esttau)
Definition AtmosModel.h:227
double Eulgam() const
Definition AtmosModel.h:244
int AtmosNinc() const
Return atmospheric Ninc value.
Definition AtmosModel.h:147
double AtmosWha() const
Return atmospheric Wha value.
Definition AtmosModel.h:123
double p_atmosHahgsb
Definition AtmosModel.h:272
bool AtmosNulneg() const
Return atmospheric Nulneg value.
Definition AtmosModel.h:135
void GenerateHahgTables()
This method computes the values of the atmospheric Hahg and Hahg0 tables and sets the properties of t...
Definition AtmosModel.cpp:637
virtual ~AtmosModel()
Empty destructor.
Definition AtmosModel.h:64
double p_atmosWha
Definition AtmosModel.h:265
string AlgorithmName() const
Return atmospheric algorithm name.
Definition AtmosModel.h:100
double AtmosHga() const
Return atmospheric Hga value.
Definition AtmosModel.h:127
bool StandardConditions() const
Definition AtmosModel.h:240
void SetAtmosTauref(const double tauref)
Set the Atmospheric function parameter.
Definition AtmosModel.cpp:922
vector< double > p_atmosIncTable
Definition AtmosModel.h:270
bool TauOrWhaChanged() const
Checks whether tau or wha have changed.
Definition AtmosModel.cpp:954
NumericalApproximation provides various numerical analysis methods of interpolation,...
Definition NumericalApproximation.h:726
This class extends Isis::NumericalApproximation.
Definition NumericalAtmosApprox.h:32
Definition PhotoModel.h:41
Container for cube-like labels.
Definition Pvl.h:119
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
Namespace for the standard library.