83 static double G11Prime(
double tau);
84 static double Ei(
double x);
85 static double En(
unsigned int n,
double x);
87 void CalcAtmEffect(
double pha,
double inc,
double ema,
double *pstd,
88 double *trans,
double *trans0,
double *sbar,
double *transs);
90 virtual void SetStandardConditions(
bool standard);
92 void GenerateAhTable();
94 void GenerateHahgTables();
100 void GenerateHahgTablesShadow();
102 void SetAtmosAtmSwitch(
const int atmswitch);
103 void SetAtmosBha(
const double bha);
104 void SetAtmosHga(
const double hga);
105 void SetAtmosInc(
const double inc);
106 void SetAtmosNulneg(
const string nulneg);
107 void SetAtmosPhi(
const double phi);
108 void SetAtmosTau(
const double tau);
109 void SetAtmosTauref(
const double tauref);
110 void SetAtmosWha(
const double wha);
111 void SetAtmosHnorm(
const double hnorm);
112 void SetAtmosIord(
const string offset);
113 void SetAtmosEstTau(
const string esttau);
117 return p_atmosAlgorithmName;
122 return p_atmosAddOffset;
148 return p_atmosTauref;
152 return p_atmosNulneg;
160 return p_atmosHahgsb;
173 return p_atmosIncTable;
177 return p_atmosAhTable;
181 return p_atmosHahgtTable;
185 return p_atmosHahgt0Table;
200 return p_atmosAhSpline;
214 return p_atmosHahgtSpline;
228 return p_atmosHahgt0Spline;
232 virtual void AtmosModelAlgorithm(
double phase,
double incidence,
double emission) = 0;
235 p_atmosAlgorithmName = name;
238 p_atmosNulneg = nulneg;
241 p_atmosAddOffset = offset;
244 p_atmosEstTau = esttau;
257 return p_standardConditions;
259 bool TauOrWhaChanged()
const;
261 return p_atmosEulgam;
306 bool p_standardConditions;
308 string p_atmosAlgorithmName;
314 double p_atmosTauold;
315 double p_atmosWhaold;
double p_atmosPhi
Definition: AtmosModel.h:292
NumericalApproximation AtmosHahgt0Spline()
If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosI...
Definition: AtmosModel.h:227
double p_atmosHnorm
Atmospheric shell thickness normalized to planet radius.
Definition: AtmosModel.h:283
double p_atmosHga
Definition: AtmosModel.h:279
NumericalApproximation p_atmosAhSpline
Spline object for the atmospheric Ah Table. Properties are set in GenerateAhTable().
Definition: AtmosModel.h:299
PhotoModel * GetPhotoModel() const
Definition: AtmosModel.h:253
double p_atmosTau
Definition: AtmosModel.h:280
double p_atmosTauref
Definition: AtmosModel.h:270
double p_trans0
Transmission of surface reflected light through the atmosphere with no scatterings in the atmosphere...
Definition: AtmosModel.h:276
NumericalApproximation p_atmosHahgt0Spline
Spline object for the atmospheric Hahg0 Table. Properties are set in GenerateHahgTables().
Definition: AtmosModel.h:303
bool p_atmosEstTau
Estimate optical depth tau using shadows.
Definition: AtmosModel.h:285
bool p_atmosAddOffset
Allow additive offset in fit.
Definition: AtmosModel.h:284
NumericalApproximation p_atmosHahgtSpline
Spline object for the atmospheric Hahg Table. Properties are set in GenerateHahgTables().
Definition: AtmosModel.h:301
void SetAlgorithmName(string name)
Definition: AtmosModel.h:234
bool AtmosAdditiveOffset() const
Allow additive offset in fit?
Definition: AtmosModel.h:121
double p_atmosEulgam
Definition: AtmosModel.h:296
int p_atmosNinc
Definition: AtmosModel.h:265
Definition: PhotoModel.h:57
double p_atmosBhasave
Definition: AtmosModel.h:268
double p_atmosMunot
Definition: AtmosModel.h:293
vector< double > p_atmosAhTable
Definition: AtmosModel.h:287
Namespace for the standard library.
NumericalApproximation provides various numerical analysis methods of interpolation, extrapolation and approximation of a tabulated set of x, y data.
Definition: NumericalApproximation.h:720
vector< double > p_atmosHahgtTable
Definition: AtmosModel.h:289
double AtmosTauref() const
Return atmospheric Tauref value.
Definition: AtmosModel.h:147
double AtmosHga() const
Return atmospheric Hga value.
Definition: AtmosModel.h:143
NumericalApproximation AtmosAhSpline()
If GenerateAhTable() has been called this returns a clamped cubic spline of the data set (p_atmosIncT...
Definition: AtmosModel.h:199
double p_trans
Transmission of surface reflected light through the atmosphere overall.
Definition: AtmosModel.h:275
double p_atmosSini
Definition: AtmosModel.h:294
double p_atmosWhasave
Definition: AtmosModel.h:272
Isotropic atmos scattering model.
Definition: AtmosModel.h:76
double AtmosHahgsb() const
Return atmospheric Hahgsb value.
Definition: AtmosModel.h:159
double p_atmosAb
Definition: AtmosModel.h:282
double p_sbar
Illumination of the ground by the sky.
Definition: AtmosModel.h:278
int p_atmosAtmSwitch
Definition: AtmosModel.h:264
vector< double > AtmosHahgt0Table()
Return atmospheric Hahgt0Table value.
Definition: AtmosModel.h:184
bool StandardConditions() const
Definition: AtmosModel.h:256
double p_atmosHgasave
Definition: AtmosModel.h:269
void SetAtmosIord(bool offset)
Definition: AtmosModel.h:240
vector< double > AtmosIncTable()
Return atmospheric IncTable value.
Definition: AtmosModel.h:172
vector< double > p_atmosHahgt0Table
Definition: AtmosModel.h:290
double AtmosHnorm() const
Return atmospheric Hnorm value.
Definition: AtmosModel.h:126
void SetAtmosNulneg(bool nulneg)
Definition: AtmosModel.h:237
double p_atmosWha
Definition: AtmosModel.h:281
double AtmosMunot() const
Return atmospheric Munot value.
Definition: AtmosModel.h:167
Container for cube-like labels.
Definition: Pvl.h:135
void SetOldWha(double wha)
Definition: AtmosModel.h:249
void SetAtmosEstTau(bool esttau)
Definition: AtmosModel.h:243
double p_transs
Transmission of light that must be subtracted from the flat surface model to get the shadow model...
Definition: AtmosModel.h:277
double p_atmosTausave
Definition: AtmosModel.h:271
double p_atmosInc
Definition: AtmosModel.h:291
double p_pstd
Pure atmospheric-scattering term.
Definition: AtmosModel.h:274
int AtmosNinc() const
Return atmospheric Ninc value.
Definition: AtmosModel.h:163
bool AtmosNulneg() const
Return atmospheric Nulneg value.
Definition: AtmosModel.h:151
double AtmosTau() const
Return atmospheric Tau value.
Definition: AtmosModel.h:135
double p_atmosCosphi
Definition: AtmosModel.h:295
virtual ~AtmosModel()
Empty destructor.
Definition: AtmosModel.h:80
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
vector< double > p_atmosIncTable
Definition: AtmosModel.h:286
double AtmosAb() const
Return atmospheric Ab value.
Definition: AtmosModel.h:155
void SetOldTau(double tau)
Definition: AtmosModel.h:246
double AtmosWha() const
Return atmospheric Wha value.
Definition: AtmosModel.h:139
NumericalApproximation AtmosHahgtSpline()
If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosI...
Definition: AtmosModel.h:213
vector< double > AtmosHahgtTable()
Return atmospheric HahgtTable value.
Definition: AtmosModel.h:180
double p_atmosBha
Definition: AtmosModel.h:267
This class extends Isis::NumericalApproximation.
Definition: NumericalAtmosApprox.h:48
double p_atmosHahgsb
Definition: AtmosModel.h:288
double Eulgam() const
Definition: AtmosModel.h:260
string AlgorithmName() const
Return atmospheric algorithm name.
Definition: AtmosModel.h:116
double AtmosBha() const
Return atmospheric Bha value.
Definition: AtmosModel.h:131
vector< double > AtmosAhTable()
Return atmospheric AhTable value.
Definition: AtmosModel.h:176