BALL::DCDFile Class Reference
[Molecular Dynamics Trajectory File Formats]

#include <BALL/FORMAT/DCDFile.h>

Inheritance diagram for BALL::DCDFile:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructors and Destructor

 DCDFile ()
 Default constructor.
 DCDFile (const String &name, File::OpenMode open_mode=std::ios::in)
virtual ~DCDFile ()
 Destructor.
Assignment

virtual void clear ()
 Clear method.
Predicates

bool operator== (const DCDFile &file) const
 Equality operator.
bool isSwappingBytes () const
bool hasVelocities () const
Public methods for file handling

virtual bool open (const String &name, File::OpenMode open_mode=std::ios::in)
bool init ()
virtual bool readHeader ()
virtual bool writeHeader ()
virtual bool seekAndWriteHeader ()
virtual bool append (const SnapShot &snapshot)
virtual bool read (SnapShot &snapshot)
virtual bool flushToDisk (const std::vector< SnapShot > &buffer)
Accessors

void enableVelocityStorage ()
void disableVelocityStorage ()

Protected Member Functions

void writeSize_ (const Size &data)
void writeFloat_ (const float &data)
void writeVector_ (const vector< Vector3 > &v)
float readFloat_ ()
Size readSize_ ()
bool readSize_ (Size expected_size, const String &what)
bool readVector_ (vector< Vector3 > &v)

Protected Attributes

Size verbosity_
bool swap_bytes_
bool has_velocities_
bool charmm_extra_block_A_
bool charmm_extra_block_B_
String CORD_
Size step_number_of_starting_time_
Size steps_between_saves_
double time_step_length_
Size number_of_comments_
Position current_snapshot_
BinaryFileAdaptor< Sizeadapt_size_
BinaryFileAdaptor< floatadapt_float_

Private Member Functions

const DCDFileoperator= (const DCDFile &file)

Detailed Description

DCD Trajectory file format. This class enables BALL to write DCD files that can be read by VMD. The format stems from the xplor package. This format is NOT portable.

The header is described in the documentation for the nested DCDHeader class.
Header of a DCD file: Got this description from http://www.arl.hpc.mil/PET/cta/ccm/software/fmd/Docs/html/fmd_ug.html. Quote: "The exact format of these files is quite ugly, as it reproduces the binary record format of unformatted FORTRAN files. Each such "record" begins with 4 bytes containing the integer value of the number of bytes in the following record. It ends with a record containing the same 4 bytes."
The header consists of several blocks. Each block starts and ends with the number of bytes enclosed between those numbers, i. e. a block consisting of 8 bytes starts with the number 8 followed by 8 bytes of data and ends with the number 8.
TODO: complete header description

Definition at line 37 of file DCDFile.h.


Constructor & Destructor Documentation

BALL::DCDFile::DCDFile (  ) 

Default constructor.

BALL::DCDFile::DCDFile ( const String name,
File::OpenMode  open_mode = std::ios::in 
)

Detailed constructor

Exceptions:
Exception::FileNotFound if the file could not be openend
virtual BALL::DCDFile::~DCDFile (  )  [virtual]

Destructor.


Member Function Documentation

virtual bool BALL::DCDFile::append ( const SnapShot snapshot  )  [virtual]

Append a SnapShot to an existing file. Note that this method does not update the header.

Parameters:
snapshot the snapshot we want to save
Returns:
true, if writing was successful

Reimplemented from BALL::TrajectoryFile.

virtual void BALL::DCDFile::clear (  )  [virtual]

Clear method.

Reimplemented from BALL::TrajectoryFile.

void BALL::DCDFile::disableVelocityStorage (  ) 
void BALL::DCDFile::enableVelocityStorage (  ) 
virtual bool BALL::DCDFile::flushToDisk ( const std::vector< SnapShot > &  buffer  )  [virtual]

Write several SnapShots to disk.

Parameters:
buffer a vector of snapshots
Returns:
true, if flushing was successful, false ow.
Exceptions:
File::CannotWrite if writing to the file failed

Reimplemented from BALL::TrajectoryFile.

bool BALL::DCDFile::hasVelocities (  )  const
bool BALL::DCDFile::init (  ) 

Initialize this instance, i. e. read the header and update members

bool BALL::DCDFile::isSwappingBytes (  )  const
virtual bool BALL::DCDFile::open ( const String name,
File::OpenMode  open_mode = std::ios::in 
) [virtual]

open a DCDFile

Exceptions:
Exception::FileNotFound if the file could not be openend

Reimplemented from BALL::File.

const DCDFile& BALL::DCDFile::operator= ( const DCDFile file  )  [private]
bool BALL::DCDFile::operator== ( const DCDFile file  )  const

Equality operator.

virtual bool BALL::DCDFile::read ( SnapShot snapshot  )  [virtual]

Read the next snapshot from the file

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

Reimplemented from BALL::TrajectoryFile.

float BALL::DCDFile::readFloat_ (  )  [protected]
virtual bool BALL::DCDFile::readHeader (  )  [virtual]

Read the header of an existing file. Return true if the header could be read successfully, false ow.

Reimplemented from BALL::TrajectoryFile.

bool BALL::DCDFile::readSize_ ( Size  expected_size,
const String what 
) [protected]
Size BALL::DCDFile::readSize_ (  )  [protected]
bool BALL::DCDFile::readVector_ ( vector< Vector3 > &  v  )  [protected]
virtual bool BALL::DCDFile::seekAndWriteHeader (  )  [virtual]
void BALL::DCDFile::writeFloat_ ( const float data  )  [inline, protected]

Definition at line 148 of file DCDFile.h.

virtual bool BALL::DCDFile::writeHeader (  )  [virtual]

Write a header Return true if the header could be written successfully, false ow.

Reimplemented from BALL::TrajectoryFile.

void BALL::DCDFile::writeSize_ ( const Size data  )  [inline, protected]

Definition at line 144 of file DCDFile.h.

void BALL::DCDFile::writeVector_ ( const vector< Vector3 > &  v  )  [protected]

Member Data Documentation

Definition at line 204 of file DCDFile.h.

Definition at line 203 of file DCDFile.h.

Definition at line 176 of file DCDFile.h.

Definition at line 179 of file DCDFile.h.

Definition at line 182 of file DCDFile.h.

Definition at line 201 of file DCDFile.h.

Definition at line 173 of file DCDFile.h.

Definition at line 194 of file DCDFile.h.

Definition at line 185 of file DCDFile.h.

Definition at line 188 of file DCDFile.h.

Definition at line 170 of file DCDFile.h.

Definition at line 191 of file DCDFile.h.

Definition at line 167 of file DCDFile.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3