/** \file USStdADBProfileModel \author T. Paul \version $Id$ \date 1 May 2005 */ #ifndef _atm_USStdADBProfileModel_h_ #define _atm_USStdADBProfileModel_h_ static const char CVSId_atm_USStdADBProfileModel[] = "$Id$"; #include #include namespace atm { /** \class USStdADBProfileModel \brief Extracts profile info from US Standard Atmosphere \author T. Paul \version $Id$ \date 1 May 2005 \ingroup atm_models */ class ProfileResult; class USStdADBProfileModel : public atm::VProfileModel { public: USStdADBProfileModel(); ~USStdADBProfileModel(); void Init(); /// Table of depth as a function of height const atm::ProfileResult& EvaluateDepthVsHeight() const; /// Table of height as a function of depth const atm::ProfileResult& EvaluateHeightVsDepth() const; /// Table of air pressure as a function of height const atm::ProfileResult& EvaluatePressureVsHeight() const; /// Table of H2O vapor pressure as a function of height const ProfileResult& EvaluateVaporPressureVsHeight() const; /// Table of temperature as a function of height const atm::ProfileResult& EvaluateTemperatureVsHeight() const; /// Table of density as a function of height const atm::ProfileResult& EvaluateDensityVsHeight() const; /// Table of refraction index as a function of height const atm::ProfileResult& EvaluateRefractionIndexVsHeight() const; // returns true if some data were cached bool HasData() const; private: // returns true if tables were filled successfully void FillTables() const; mutable bool fTablesFilled; REGISTER_MODEL(atm::VProfileModel, "USStdADB", USStdADBProfileModel); }; } #endif // _atm_USStdADBProfileModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // compile-command: "make -C .. -k" // End: