/** \file Declaration of Nagano2004FluorescenceModel \author Bruce Dawson, Luis Prado Jr. \version $Id: Nagano2004FluorescenceModel.h 20705 2012-03-28 16:20:59Z javierg $ \date Apr 2005 */ #ifndef _atm_Nagano2004FluorescenceModel_h_ #define _atm_Nagano2004FluorescenceModel_h_ static const char CVSId_atm_Nagano2004FluorescenceModel[] = "$Id: Nagano2004FluorescenceModel.h 20705 2012-03-28 16:20:59Z javierg $"; #include #include namespace utl{class TabulatedFunction;} namespace atm { /** \class Nagano2004FluorescenceModel Nagano2004FluorescenceModel.h "atm/Nagano2004FluorescenceModel.h" \brief Fluorescence yields from Nagano et al. This model uses Nagano et al. "New Measurements on photon yields from air and the application to the energy estimation of primary cosmic rays" Astroparticle Physics vol 22 p235 (2004). The fluorescenceYield is quoted for a pressure of 1013hPa and 20 deg C. \author Bruce Dawson \author Luis Prado Jr \date Apr 2005 \ingroup atm_models */ class Nagano2004FluorescenceModel :public atm::VFluorescenceModel{ public: Nagano2004FluorescenceModel(){}; virtual ~Nagano2004FluorescenceModel(){}; void Init(); const utl::TabulatedFunction& EvaluateFluorescenceYield(const double heightAboveSeaLevel) const; const std::vector& GetWavelengths() const; double GetdEdX0() const; bool HasData() const {return true;}; private: mutable utl::TabulatedFunction fFluorescenceSpectrum; std::vector fWavelength; std::vector fNaganoA; std::vector fNaganoB; std::vector fNaganoAError; std::vector fNaganoBError; REGISTER_MODEL(atm::VFluorescenceModel, "Nagano2004", Nagano2004FluorescenceModel); }; } // #endif // _atm_Nagano2004FluorescenceModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: