00001 #ifndef PLAYA_CONVERGENCE_MONITOR_H 00002 #define PLAYA_CONVERGENCE_MONITOR_H 00003 00004 #include "Teuchos_Array.hpp" 00005 00006 namespace Playa 00007 { 00008 using Teuchos::Array; 00009 00010 /** 00011 * 00012 */ 00013 class ConvergenceMonitor 00014 { 00015 public: 00016 /** */ 00017 ConvergenceMonitor(); 00018 00019 /** */ 00020 void addRecord(int iter, const Array<double>& record) const ; 00021 00022 /** */ 00023 void reset() ; 00024 00025 /** */ 00026 void write(std::ostream& os) const ; 00027 00028 private: 00029 mutable Array<int> iters_; 00030 mutable Array<Array<double> > records_; 00031 }; 00032 00033 00034 } 00035 00036 00037 #endif