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

# Content
1 #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