#include <snapShotManager.h>
Classes |
|
struct | Default |
Local class for handling default
values for the options. More... |
|
struct | Option |
Local class for handling options.
More... |
|
Public Member Functions |
|
Constructors and Destructors
|
|
SnapShotManager () | |
Default
constructor. |
|
SnapShotManager (System *my_system, const ForceField *my_force_field, TrajectoryFile *my_snapshot_file) | |
This constructor expects a valid
system, a valid force field and the name of a snapshot
file. |
|
SnapShotManager (System *my_system, const ForceField *my_force_field, const Options &my_options, TrajectoryFile *file) | |
This constructor expects a valid
system, a valid force field and the name of a snapshot
file. |
|
SnapShotManager (const SnapShotManager &manager) | |
Copy constructor. |
|
virtual | ~SnapShotManager () |
Destructor. |
|
Setup methods
|
|
bool | setup (System *my_system, const ForceField *my_forcefield, TrajectoryFile *my_snapshot_file) |
This setup method sets all necessary
members and calls setup afterwards. |
|
virtual bool | setup () |
The setup method does all
preparations necessary for using the SnapshotManager.
|
|
Assignment
|
|
const SnapShotManager & | operator= (const SnapShotManager &manager) |
The assignment operator. |
|
virtual void | clear () |
Clear method. |
|
Debugging and diagnostics
|
|
virtual bool | isValid () const |
Is the SnapshotManager ready for
use? |
|
Accessors
|
|
void | setSystem (System *my_system) |
Set the system member. |
|
System * | getSystem () const |
get a const pointer to the system
member |
|
void | setForceField (const ForceField *my_ff) |
set the force field |
|
const ForceField * | getForceField () const |
get a const pointer to the force
field |
|
void | setTrajectoryFile (TrajectoryFile *my_file) |
set the trajectory file |
|
TrajectoryFile * | getTrajectoryFile () const |
get a pointer to the trajectory
file |
|
void | setFlushToDiskFrequency (Size number) |
Set the frequency for saving
snapshots to hard disk. |
|
Size | getFlushToDiskFrequency () const |
Get the current frequency for doing
saves to hard disk. |
|
virtual void | takeSnapShot () throw (File::CannotWrite) |
This method takes a snapshot of the
system's current state and stores it in main memory.
|
|
virtual bool | applySnapShot (Size number) |
Read a certain
SnapShot from a TrajectoryFile.
|
|
virtual bool | applyFirstSnapShot () |
Read a the first
SnapShot from the associated TrajectoryFile.
|
|
virtual bool | applyNextSnapShot () |
Read a the next
SnapShot from the associated TrajectoryFile
and apply it to the system. |
|
virtual bool | applyLastSnapShot () |
This method applies the last
SnapShot of the associated file i. |
|
virtual void | flushToDisk () throw (File::CannotWrite) |
This method writes all snapshots
taken so far to hard disk. |
|
Size | getNumberOfSnapShotsInBuffer () |
Position | getCurrentSnapshotNumber () const |
bool | readFromFile () |
Try to read all
SnapShot 's from the TrajectoryFile
into the memory. |
|
void | clearBuffer () |
Clear all currently loaded
SnapShot 's. |
|
Public Attributes |
|
Public Attributes
|
|
Options | options |
The available options for this
class. |
|
Protected Member Functions |
|
double | calculateKineticEnergy_ () |
Protected Attributes |
|
System * | system_ptr_ |
const ForceField * | force_field_ptr_ |
vector< SnapShot > | snapshot_buffer_ |
TrajectoryFile * | trajectory_file_ptr_ |
Size | flush_to_disk_frequency_ |
Size | buffer_counter_ |
Position | current_snapshot_ |
for MD simulations. This class manages a list of single SnapShot objects. Snapshots are numbered starting with 1.
BALL::SnapShotManager::SnapShotManager | ( | System * | my_system, | |
const ForceField * | my_force_field, | |||
TrajectoryFile * | my_snapshot_file | |||
) |
This constructor expects a valid system, a valid force field and the name of a snapshot file.
Any existing file of the given name will be overwritten.
my_system | the system to bind this manager to | |
my_force_field | the force field that is bound to the system | |
my_snapshot_file |
BALL::SnapShotManager::SnapShotManager | ( | System * | my_system, | |
const ForceField * | my_force_field, | |||
const Options & | my_options, | |||
TrajectoryFile * | file | |||
) |
This constructor expects a valid system, a valid force field and the name of a snapshot file.
Any existing file of the given name will be overwritten.
my_system | the system to bind this manager to | |
my_force_field | the force field that is bound to the system | |
my_options | ||
filename | the name of the snapshot file |
virtual bool BALL::SnapShotManager::applyFirstSnapShot | ( | ) | [virtual] |
Read a the first SnapShot from the associated TrajectoryFile.
snapshot | a buffer for returning the snapshot |
virtual bool BALL::SnapShotManager::applyLastSnapShot | ( | ) | [virtual] |
virtual bool BALL::SnapShotManager::applyNextSnapShot | ( | ) | [virtual] |
Read a the next SnapShot from the associated TrajectoryFile and apply it to the system.
snapshot | a buffer for returning the snapshot |
virtual bool BALL::SnapShotManager::applySnapShot | ( | Size | number | ) | [virtual] |
Read a certain SnapShot from a TrajectoryFile.
This method tries to read SnapShot number number from the file
number | the number of the snapshot we want to read | |
snapshot | a buffer for returning the snapshot |
Size BALL::SnapShotManager::getFlushToDiskFrequency | ( | ) | const |
Get the current frequency for doing saves to hard disk.
void BALL::SnapShotManager::setFlushToDiskFrequency | ( | Size | number | ) |
Set the frequency for saving snapshots to hard disk.
Every 'number' iterations, a save will be done.
number | the number of snapshots to take before flushing to disk |
void BALL::SnapShotManager::setSystem | ( | System * | my_system | ) |
Set the system member.
my_system | a const pointer to the system to which this SnapshotManager will be bound |
virtual bool BALL::SnapShotManager::setup | ( | ) | [virtual] |
The setup method does all preparations necessary for using the SnapshotManager.
bool BALL::SnapShotManager::setup | ( | System * | my_system, | |
const ForceField * | my_forcefield, | |||
TrajectoryFile * | my_snapshot_file | |||
) |
This setup method sets all necessary members and calls setup afterwards.
my_system | the System to which we want to bind this SnapShotManager | |
my_force_field | the respective forcefield | |
my_snapshot_file | the trajectory file we want to use |
virtual void BALL::SnapShotManager::takeSnapShot | ( | ) | throw (File::CannotWrite)
[virtual] |
This method takes a snapshot of the system's current state and stores it in main memory.
If there is not sufficient space, the snapshots collected so far are flushed to hard disk. The first snapshot taken has index 1.