ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/optimization/StatusFunction.hpp
(Generate patch)

Comparing branches/development/src/optimization/StatusFunction.hpp (file contents):
Revision 1747 by gezelter, Wed Jun 6 15:52:25 2012 UTC vs.
Revision 1874 by gezelter, Wed May 15 15:09:35 2013 UTC

# Line 2 | Line 2
2   #define OPTIMIZATION_STATUSFUNCTION_HPP
3   #include "config.h"
4   #include "io/DumpWriter.hpp"
5 + #include "brains/Stats.hpp"
6   #include "io/StatWriter.hpp"
7  
8   namespace OpenMD {
9    class StatusFunction {
10    public:
11      virtual ~StatusFunction() {}
12 <    virtual void writeStatus(const DynamicVector<RealType>& currentValue) { std::cerr << "doing status\n"; }    
12 >    virtual void writeStatus(int functionCount, int gradientCount, const DynamicVector<RealType>& x, RealType f) { std::cerr << "doing status\n"; }    
13    };
14  
15    //! No status
16    class NoStatus : public StatusFunction {
17    public:
18 <    virtual void writeStatus(const DynamicVector<RealType>& currentValue) {};
18 >    virtual void writeStatus(int functionCount, int gradientCount, const DynamicVector<RealType>& x, RealType f) {};
19    };
20  
21    class DumpStatusFunction : public StatusFunction {
22  
23    public:
24      DumpStatusFunction(SimInfo* info) : StatusFunction(), info_(info) {
25 +      stats = new Stats(info_);
26        dumpWriter = new DumpWriter(info_);    
27 <      StatsBitSet mask;
27 >      Stats::StatsBitSet mask;
28        mask.set(Stats::TIME);
29        mask.set(Stats::POTENTIAL_ENERGY);
30 <      statWriter = new StatWriter(info_->getStatFileName(), mask);
30 >      stats->setStatsMask(mask);
31 >      statWriter = new StatWriter(info_->getStatFileName(), stats);
32      }
33 <    virtual void writeStatus(const DynamicVector<RealType>& currentValue) {
33 >    virtual void writeStatus(int functionCount, int gradientCount, const DynamicVector<RealType>& x, RealType f) {
34        Snapshot* curSnapshot =info_->getSnapshotManager()->getCurrentSnapshot();
35 +      curSnapshot->setTime(functionCount);        
36 +
37 +      stats->collectStats();
38 +      statWriter->writeStat();
39 +
40        dumpWriter->writeDumpAndEor();
33      statWriter->writeStat(curSnapshot->statData);
41      }
42 +    ~DumpStatusFunction() {
43 +      delete stats;
44 +      delete dumpWriter;
45 +      delete statWriter;
46 +    }
47      
48    private:
49      SimInfo* info_;
50 +    Stats* stats;
51      DumpWriter* dumpWriter;
52 <    StatWriter* statWriter;
52 >    StatWriter* statWriter;    
53    };
54                              
55    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines