28 #include <gsl/gsl_errno.h> 29 #include <gsl/gsl_math.h> 30 #include <gsl/gsl_min.h> 31 #include <gsl/gsl_roots.h> 58 void Compute(
double pha,
double inc,
double ema,
double dn,
59 double &albedo,
double &mult,
double &base);
60 void Compute(
double pha,
double inc,
double ema,
double deminc,
61 double demema,
double dn,
double &albedo,
62 double &mult,
double &base);
69 static void minbracket(
double &xa,
double &xb,
double &xc,
double &fa,
70 double &fb,
double &fc,
double Func(
double par,
void *params),
74 static int brentminimizer(
double x_lower,
double x_upper, gsl_function *Func,
75 double & x_minimum,
double tolerance);
79 static int brentsolver(
double x_lo,
double x_hi, gsl_function *Func,
double tolerance,
double &root);
virtual ~Photometry()
Destroy Photometry object.
Definition: Photometry.cpp:45
static void minbracket(double &xa, double &xb, double &xc, double &fa, double &fb, double &fc, double Func(double par, void *params), void *params)
Double precision version of bracketing algorithm ported from Python. Solution bracketing for 1-D mini...
Definition: Photometry.cpp:207
Definition: NormModel.h:52
AtmosModel * GetAtmosModel() const
Definition: Photometry.h:85
PhotoModel * GetPhotoModel() const
Definition: Photometry.h:81
Definition: PhotoModel.h:57
virtual void SetPhotomWl(double wl)
Set the wavelength.
Definition: Photometry.cpp:67
Isotropic atmos scattering model.
Definition: AtmosModel.h:76
NormModel * p_phtNmodel
Definition: Photometry.h:96
Photometry()
Definition: Photometry.h:54
static int brentsolver(double x_lo, double x_hi, gsl_function *Func, double tolerance, double &root)
GSL's the Brent-Dekker method (Brent's method) combines an interpolation strategy with the bisection ...
Definition: Photometry.cpp:125
Container for cube-like labels.
Definition: Pvl.h:135
void Compute(double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)
Calculate the surface brightness.
Definition: Photometry.cpp:77
NormModel * GetNormModel() const
Definition: Photometry.h:89
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
PhotoModel * p_phtPmodel
Definition: Photometry.h:95
static int brentminimizer(double x_lower, double x_upper, gsl_function *Func, double &x_minimum, double tolerance)
Brent's method 1-D minimization routine using GSL's r8Brent minimization Algorithm.
Definition: Photometry.cpp:168
AtmosModel * p_phtAmodel
Definition: Photometry.h:94
Definition: Photometry.h:51