/** \file Declaration of Keilhauer2008FluorescenceModel \author B. Keilhauer \version $Id: Keilhauer2008FluorescenceModel.h 20705 2012-03-28 16:20:59Z javierg $ \date Apr 2005 */ #ifndef _atm_Keilhauer2008FluorescenceModel_h_ #define _atm_Keilhauer2008FluorescenceModel_h_ static const char CVSId_atm_Keilhauer2008FluorescenceModel[] = "$Id: Keilhauer2008FluorescenceModel.h 20705 2012-03-28 16:20:59Z javierg $"; #include #include namespace utl{class TabulatedFunction;} namespace atm { /** \class Keilhauer2008FluorescenceModel Keilhauer2008FluorescenceModel.h "atm/Keilhauer2008FluorescenceModel.h" \brief Fluorescence yields from Keilhauer et al. (arXiv:0801.4200) \author B. Keilhauer \date Apr 2008 \ingroup atm_models */ class Keilhauer2008FluorescenceModel :public atm::VFluorescenceModel{ public: Keilhauer2008FluorescenceModel(){}; virtual ~Keilhauer2008FluorescenceModel(){}; void Init(); const utl::TabulatedFunction& EvaluateFluorescenceYield(const double heightAboveSeaLevel) const; const std::vector& GetWavelengths() const; double GetdEdX0() const; bool HasData() const {return true;}; private: enum TemperatureParameterization { eAIRFLY, eNoTempParam }; enum HumidityParameterization { eMorozov, eTilo, eNoHumParam }; TemperatureParameterization fTempParam; HumidityParameterization fHumParam; mutable utl::TabulatedFunction fFluorescenceSpectrum; std::vector fWavelength; REGISTER_MODEL(atm::VFluorescenceModel, "Keilhauer2008", Keilhauer2008FluorescenceModel); }; } // #endif // _atm_Keilhauer2008FluorescenceModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: