11 #ifndef OOPS_INTERFACE_LOCALIZATION_H_ 12 #define OOPS_INTERFACE_LOCALIZATION_H_ 16 #include <boost/noncopyable.hpp> 17 #include <boost/scoped_ptr.hpp> 22 #include "oops/util/Logger.h" 23 #include "oops/util/ObjectCounter.h" 24 #include "oops/util/Printable.h" 25 #include "oops/util/Timer.h" 35 template <
typename MODEL>
37 private boost::noncopyable,
38 private util::ObjectCounter<Localization<MODEL> > {
44 static const std::string
classname() {
return "oops::Localization";}
52 void print(std::ostream &)
const;
53 boost::scoped_ptr<LocalizationBase_>
local_;
58 template<
typename MODEL>
60 const eckit::Configuration &
conf) : local_()
62 Log::trace() <<
"Localization<MODEL>::Localization starting" << std::endl;
63 util::Timer timer(
classname(),
"Localization");
65 Log::trace() <<
"Localization<MODEL>::Localization done" << std::endl;
70 template<
typename MODEL>
72 Log::trace() <<
"Localization<MODEL>::~Localization starting" << std::endl;
73 util::Timer timer(classname(),
"~Localization");
75 Log::trace() <<
"Localization<MODEL>::~Localization done" << std::endl;
80 template<
typename MODEL>
82 Log::trace() <<
"Localization<MODEL>::mult starting" << std::endl;
83 util::Timer timer(classname(),
"mult");
85 Log::trace() <<
"Localization<MODEL>::mult done" << std::endl;
90 template<
typename MODEL>
92 Log::trace() <<
"Localization<MODEL>::print starting" << std::endl;
93 util::Timer timer(classname(),
"print");
95 Log::trace() <<
"Localization<MODEL>::print done" << std::endl;
102 #endif // OOPS_INTERFACE_LOCALIZATION_H_ Increment< MODEL > Increment_
void multiply(Increment_ &) const
Localization(const Geometry_ &, const eckit::Configuration &)
The namespace for the main oops code.
LocalizationFactory Factory.
boost::scoped_ptr< LocalizationBase_ > local_
Base class for localizations.
Increment Class: Difference between two states.
Geometry< MODEL > Geometry_
void print(std::ostream &) const
static const std::string classname()
LocalizationBase< MODEL > LocalizationBase_