7 #ifndef BALL_MOLMEC_COMMON_SNAPSHOTMANAGER_H
8 #define BALL_MOLMEC_COMMON_SNAPSHOTMANAGER_H
10 #ifndef BALL_MOLMEC_COMMON_SNAPSHOT_H
14 #ifndef BALL_DATATYPE_OPTIONS_H
18 #ifndef BALL_SYSTEM_FILE_H
95 SnapShotManager(const SnapShotManager& manager);
98 virtual ~SnapShotManager();
125 virtual
bool setup();
134 const SnapShotManager& operator = (const SnapShotManager& manager);
137 virtual
void clear();
145 virtual
bool isValid() const;
155 void setSystem(
System* my_system);
158 System* getSystem() const;
176 void setFlushToDiskFrequency(
Size number);
181 Size getFlushToDiskFrequency() const;
189 virtual
void takeSnapShot() throw(
File::CannotWrite);
197 virtual
bool applySnapShot(
Size number);
203 virtual
bool applyFirstSnapShot();
210 virtual
bool applyNextSnapShot();
217 virtual
bool applyLastSnapShot();
221 virtual
void flushToDisk() throw(
File::CannotWrite);
224 Size getNumberOfSnapShotsInBuffer() {
return snapshot_buffer_.size(); }
279 double calculateKineticEnergy_();
286 #endif // BALL_MOLMEC_COMMON_SNAPSHOTMANAGER_H