Loading...
Searching...
No Matches
BALL::SnapShotManager Class Reference
Molecular Modeling » Molecular Mechanics » General Force Field Classes.

`#include <BALL/MOLMEC/COMMON/snapShotManager.h>`

## Classes

struct | Option
| Local class for handling options. More...
struct | Default
| Local class for handling default values for the options. More...

## Public Member Functions

Constructors and Destructors
| SnapShotManager ()
| Default constructor.
| SnapShotManager (System *my_system, TrajectoryFile *my_snapshot_file=0)
| SnapShotManager (System *my_system, const ForceField *my_force_field, TrajectoryFile *my_snapshot_file)
| SnapShotManager (System *my_system, const ForceField *my_force_field, const Options &my_options, TrajectoryFile *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)
bool | setup (System *my_system, TrajectoryFile *my_snapshot_file)
virtual bool | setup ()
Assignment
const SnapShotManager & | operator= (const SnapShotManager &manager)
virtual void | clear ()
| Clear method.
Debugging and diagnostics
virtual bool | isValid () const
Accessors
void | setSystem (System *my_system)
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)
Size | getFlushToDiskFrequency () const
virtual void | takeSnapShot ()
virtual bool | applySnapShot (Size number)
virtual bool | applyFirstSnapShot ()
virtual bool | applyNextSnapShot ()
virtual bool | applyLastSnapShot ()
virtual void | flushToDisk ()
Size | getNumberOfSnapShotsInBuffer ()
Position | getCurrentSnapshotNumber () const
bool | readFromFile ()
void | clearBuffer ()
| Clear all currently loaded SnapShot 's.

## Public Attributes

Options | options
| The available options for this class.
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_
double | calculateKineticEnergy_ ()

## Detailed Description

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

Definition at line 33 of file snapShotManager.h.

## Constructor & Destructor Documentation

## SnapShotManager() [1/5]

BALL::SnapShotManager::SnapShotManager | ( |  | ) |

Default constructor.

## SnapShotManager() [2/5]

BALL::SnapShotManager::SnapShotManager | ( | System * | my_system,
|  | TrajectoryFile * | my_snapshot_file = 0 )

Constructor for a system and trajectory file. The internal reference to a force field will be set to NULL

Parameters

  my_system | the system to bind this manager to
  my_snapshot_file | an optional file containing a trajectory for the my_system's atoms

## SnapShotManager() [3/5]

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 | a file containing a trajectory for the my_system's atoms

## SnapShotManager() [4/5]

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

## SnapShotManager() [5/5]

BALL::SnapShotManager::SnapShotManager | ( | const SnapShotManager & | manager | ) |

Copy constructor.

## ~SnapShotManager()

virtual BALL::SnapShotManager::~SnapShotManager | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## applyFirstSnapShot()

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.

## applyLastSnapShot()

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.

## applyNextSnapShot()

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.

## applySnapShot()

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.

## calculateKineticEnergy_()

double BALL::SnapShotManager::calculateKineticEnergy_ | ( |  | ) |

protected

## clear()

virtual void BALL::SnapShotManager::clear | ( |  | ) |

virtual

Clear method.

## clearBuffer()

void BALL::SnapShotManager::clearBuffer | ( |  | ) |

Clear all currently loaded SnapShot 's.

## flushToDisk()

virtual void BALL::SnapShotManager::flushToDisk | ( |  | ) |

virtual

This method writes all snapshots taken so far to hard disk

Exceptions

  BALL::File::CannotWrite | thrown if the snapshots could not be flushed to disk

## getCurrentSnapshotNumber()

Position BALL::SnapShotManager::getCurrentSnapshotNumber | ( |  | ) | const

inline

Definition at line 227 of file snapShotManager.h.

## getFlushToDiskFrequency()

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

## getForceField()

const ForceField * BALL::SnapShotManager::getForceField | ( |  | ) | const

get a const pointer to the force field

## getNumberOfSnapShotsInBuffer()

Size BALL::SnapShotManager::getNumberOfSnapShotsInBuffer | ( |  | ) |

inline

Definition at line 224 of file snapShotManager.h.

## getSystem()

System * BALL::SnapShotManager::getSystem | ( |  | ) | const

get a const pointer to the system member

## getTrajectoryFile()

TrajectoryFile * BALL::SnapShotManager::getTrajectoryFile | ( |  | ) | const

get a pointer to the trajectory file

## isValid()

virtual bool BALL::SnapShotManager::isValid | ( |  | ) | const

virtual

Is the SnapshotManager ready for use?

## operator=()

const SnapShotManager & BALL::SnapShotManager::operator= | ( | const SnapShotManager & | manager | ) |

The assignment operator.

## readFromFile()

bool BALL::SnapShotManager::readFromFile | ( |  | ) |

Try to read all SnapShot 's from the TrajectoryFile into the memory.

## setFlushToDiskFrequency()

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

## setForceField()

void BALL::SnapShotManager::setForceField | ( | const ForceField * | my_ff | ) |

set the force field

## setSystem()

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

## setTrajectoryFile()

void BALL::SnapShotManager::setTrajectoryFile | ( | TrajectoryFile * | my_file | ) |

set the trajectory file

## setup() [1/3]

virtual bool BALL::SnapShotManager::setup | ( |  | ) |

virtual

The setup method does all preparations necessary for using the SnapshotManager.

Returns
  true, if setup was succesful

## setup() [2/3]

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.

## setup() [3/3]

bool BALL::SnapShotManager::setup | ( | System * | my_system,
|  | TrajectoryFile * | my_snapshot_file )

This setup method sets all necessary members and calls setup afterwards. The internal force field reference is set to NULL.

Parameters

  my_system | the System to which we want to bind this SnapShotManager
  my_snapshot_file | the trajectory file we want to use

Returns
  true, if the setup was succesful, false ow.

## takeSnapShot()

virtual void BALL::SnapShotManager::takeSnapShot | ( |  | ) |

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.

Exceptions

  BALL::File::CannotWrite | thrown if the snapshot could not be flushed to disk

## Member Data Documentation

## buffer_counter_

Size BALL::SnapShotManager::buffer_counter_

protected

Definition at line 267 of file snapShotManager.h.

## current_snapshot_

Position BALL::SnapShotManager::current_snapshot_

protected

Definition at line 270 of file snapShotManager.h.

## flush_to_disk_frequency_

Size BALL::SnapShotManager::flush_to_disk_frequency_

protected

Definition at line 264 of file snapShotManager.h.

## force_field_ptr_

const ForceField* BALL::SnapShotManager::force_field_ptr_

protected

Definition at line 253 of file snapShotManager.h.

## options

Options BALL::SnapShotManager::options

The available options for this class.

Definition at line 241 of file snapShotManager.h.

## snapshot_buffer_

vector<SnapShot> BALL::SnapShotManager::snapshot_buffer_

protected

Definition at line 256 of file snapShotManager.h.

## system_ptr_

System* BALL::SnapShotManager::system_ptr_

protected

Definition at line 250 of file snapShotManager.h.

## trajectory_file_ptr_

TrajectoryFile* BALL::SnapShotManager::trajectory_file_ptr_

protected

Definition at line 259 of file snapShotManager.h.