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) throw (Exception::FileNotFound)
 Detailed constructor.
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) throw (Exception::FileNotFound)
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) throw (File::CannotWrite)
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 33 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 
) throw (Exception::FileNotFound)

Detailed constructor.

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  )  throw (File::CannotWrite) [virtual]

Write several SnapShots to disk.

Parameters:
buffer a vector of snapshots
Returns:
true, if flushing was successful, false ow.

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 
) throw (Exception::FileNotFound) [virtual]

open a DCDFile

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 144 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 140 of file DCDFile.h.

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

Member Data Documentation

Definition at line 200 of file DCDFile.h.

Definition at line 199 of file DCDFile.h.

Definition at line 172 of file DCDFile.h.

Definition at line 175 of file DCDFile.h.

Definition at line 178 of file DCDFile.h.

Definition at line 197 of file DCDFile.h.

Definition at line 169 of file DCDFile.h.

Definition at line 190 of file DCDFile.h.

Definition at line 181 of file DCDFile.h.

Definition at line 184 of file DCDFile.h.

Definition at line 166 of file DCDFile.h.

Definition at line 187 of file DCDFile.h.

Definition at line 163 of file DCDFile.h.

Generated by  doxygen 1.6.3