Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef NUMERICALATMOSAPPROX_H 00002 #define NUMERICALATMOSAPPROX_H 00003 00025 #include <string> 00026 #include <vector> 00027 00028 #include "NumericalApproximation.h" 00029 using namespace std; 00030 namespace Isis { 00031 class AtmosModel; 00048 class NumericalAtmosApprox : public NumericalApproximation { 00049 public: 00051 NumericalAtmosApprox(const NumericalApproximation::InterpType &itype = CubicNatural): NumericalApproximation(itype) {}; 00053 virtual ~NumericalAtmosApprox() {}; 00054 00059 enum IntegFunc { OuterFunction, 00060 InnerFunction 00061 }; 00062 double RombergsMethod(AtmosModel *am, IntegFunc sub, double a, double b) throw(iException &); 00063 double RefineExtendedTrap(AtmosModel *am, IntegFunc sub, double a, double b, double s, unsigned int n) throw(iException &); 00064 00065 static double OutrFunc2Bint(AtmosModel *am, double phi); 00066 static double InrFunc2Bint(AtmosModel *am, double mu); 00067 00068 }; 00069 }; 00070 #endif 00071 00072