ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/optimization/StatusFunction.hpp
Revision: 1741
Committed: Tue Jun 5 18:02:44 2012 UTC (12 years, 10 months ago) by gezelter
File size: 1181 byte(s)
Log Message:
Adding initial import of optimization library

File Contents

# User Rev Content
1 gezelter 1741 #ifndef OPTIMIZATION_STATUSFUNCTION_HPP
2     #define OPTIMIZATION_STATUSFUNCTION_HPP
3     #include "config.h"
4     #include "io/DumpWriter.hpp"
5     #include "io/StatWriter.hpp"
6    
7     namespace OpenMD {
8     class StatusFunction {
9     public:
10     virtual ~StatusFunction() {}
11     virtual void writeStatus() { std::cerr << "doing status\n"; }
12     };
13    
14     //! No status
15     class NoStatus : public StatusFunction {
16     public:
17     virtual void writeStatus() {};
18     };
19    
20     class DumpStatusFunction : public StatusFunction {
21    
22     public:
23     DumpStatusFunction(SimInfo* info) : StatusFunction(), info_(info) {
24     dumpWriter = new DumpWriter(info_);
25     StatsBitSet mask;
26     mask.set(Stats::TIME);
27     mask.set(Stats::POTENTIAL_ENERGY);
28     statWriter = new StatWriter(info_->getStatFileName(), mask);
29     }
30     virtual void writeStatus() {
31     Snapshot* curSnapshot =info_->getSnapshotManager()->getCurrentSnapshot();
32     info_->getSnapshotManager()->advance();
33     dumpWriter->writeDumpAndEor();
34     statWriter->writeStat(curSnapshot->statData);
35     }
36    
37     private:
38     SimInfo* info_;
39     DumpWriter* dumpWriter;
40     StatWriter* statWriter;
41     };
42    
43    
44     }
45     #endif

Properties

Name Value
svn:eol-style native