#ifndef _atm_RayleighModelOff_h_ #define _atm_RayleighModelOff_h_ static const char CVSId_atm_RayleighModelOff[] = "$Id: RayleighModelOff.h 20705 2012-03-28 16:20:59Z javierg $"; #include #include #include namespace utl { class TabulatedFunctionErrors; } namespace atm { class ScatteringResult; class AttenuationResult; /** \class RayleighModelOff RayleighModelOff.h "atm/RayleighModelOff.h" \brief In case you don't believe in Rayleigh scattering ... \author Ralf Ulrich \date 02 Jul 2007 \ingroup atm_models */ class RayleighModelOff : public VRayleighModel { public: virtual ~RayleighModelOff() { } atm::ScatteringResult EvaluateRayleighScattering(const utl::Point& xA, const utl::Point& xB, const double angle, const double distance, const std::vector& wLength) const; atm::ScatteringResult EvaluateRayleighScattering(const utl::Point& xA, const utl::Point& xB, const double angle, const double distance, const atm::AttenuationResult& raylAtt) const; atm::AttenuationResult EvaluateRayleighAttenuation(const utl::Point& xInit, const utl::Point& xFinal, const std::vector& wLength) const; double EvaluateRayleighScattering(const utl::Point& /*xA*/, const utl::Point& /*xB*/, const double /*angle*/, const double /*distance*/, const double /*wLength*/) const { return 0; } double EvaluateRayleighScattering(const utl::Point& /*xA*/, const utl::Point& /*xB*/, const double /*angle*/, const double /*distance*/, const double /*wLength*/, const double /*raylAtt*/) const { return 0; } double EvaluateRayleighAttenuation(const utl::Point& /*xInit*/, const utl::Point& /*xFinal*/, const double /*wLength*/) const { return 1; } double GetAttenuationLength(const utl::Point& /*p*/, const double /*wLength*/) const { return std::numeric_limits::max(); } utl::TabulatedFunctionErrors GetAttenuationLength(const utl::Point& p, const std::vector& wLength) const; double EvaluateScatteringAngle(const utl::Point& /*p*/, const double /*angle*/, const double /*wLength*/) const { return 0; } void Init() { } bool HasData() const { return true; } REGISTER_MODEL(atm::VRayleighModel, "off", RayleighModelOff); }; } #endif // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // compile-command: "make -C .. -k" // End: