/** \file Declaration of class VCloudModel \author Segev BenZvi \version $Id$ \date 15 Aug 2007 */ #ifndef _atm_VCloudModel_h_ #define _atm_VCloudModel_h_ static const char CVSId_atm_VCloudModel[] = "$Id$"; #include #include namespace fdet { class Pixel; } namespace fevt { class Pixel; } namespace utl { class Point; } namespace atm { /** \class VCloudModel \brief Base class for cloud coverage calculations. \author Segev BenZvi \date 17 Jul 2007 */ class VCloudModel : public atm::VModel { public: VCloudModel() { } virtual ~VCloudModel() { } /// Evaluate coverage for an fdet::Pixel. CloudResult EvaluateCloudCoverage(const fdet::Pixel& pixel, const utl::Point& x) const; /// Evaluate coverage for an fevt::Pixel. CloudResult EvaluateCloudCoverage(const fevt::Pixel& pixel, const utl::Point& x) const; /// Evaluate coverage for a pixel with some Eye, Telescope, and Pixel ID. virtual CloudResult EvaluateCloudCoverage(const unsigned int eyeId, const unsigned int telescopeId, const unsigned int pixelId, const utl::Point& x) const = 0; }; typedef utl::ObjectFactory VCloudModelFactory; } // atm #endif // _atm_VCloudModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: