BALL::SnapShotManager Class Reference
[General Force Field Classes.]

Snapshot management e.g. More...

#include <snapShotManager.h>

List of all members.


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_

Detailed Description

Snapshot management e.g.

for MD simulations. This class manages a list of single SnapShot objects. Snapshots are numbered starting with 1.


Constructor & Destructor Documentation

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.

Parameters:
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.

Parameters:
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

Member Function Documentation

virtual bool BALL::SnapShotManager::applyFirstSnapShot ( ) [virtual]

Read a the first SnapShot from the associated TrajectoryFile.

Parameters:
snapshot a buffer for returning the snapshot
Returns:
true if the snapshot could be read, false ow.

virtual bool BALL::SnapShotManager::applyLastSnapShot ( ) [virtual]

This method applies the last SnapShot of the associated file i.

e. writes all available data (positions, forces, etc.) from the SnapShot to the System. Note that a SnapShot does not need to have all data.

virtual bool BALL::SnapShotManager::applyNextSnapShot ( ) [virtual]

Read a the next SnapShot from the associated TrajectoryFile and apply it to the system.

Parameters:
snapshot a buffer for returning the snapshot
Returns:
true if the snapshot could be read, false ow.

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

Parameters:
number the number of the snapshot we want to read
snapshot a buffer for returning the snapshot
Returns:
true if the snapshot could be read, false ow.

Size BALL::SnapShotManager::getFlushToDiskFrequency ( ) const

Get the current frequency for doing saves to hard disk.

Returns:
the number of snapshots to take before flushing them to disk

void BALL::SnapShotManager::setFlushToDiskFrequency ( Size number )

Set the frequency for saving snapshots to hard disk.

Every 'number' iterations, a save will be done.

Parameters:
number the number of snapshots to take before flushing to disk

void BALL::SnapShotManager::setSystem ( System * my_system )

Set the system member.

Parameters:
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.

Returns:
true, if setup was succesful

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.

Parameters:
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
Returns:
true, if the setup was succesful, false ow.

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.


Generated on Thu Aug 6 18:30:36 2009 for BALL by doxygen 1.5.8