LOOS 4.1.0
The Lightweight Object Oriented Structural analysis library/toolkit
|
Class representing GROMACS reduced precision, compressed trajectories. More...
#include <xtc.hpp>
Public Member Functions | |
XTC (const std::string &s) | |
XTC (std::istream &is) | |
std::string | description () const |
Return a string describing trajectory format. | |
uint | natoms (void) const |
float | timestep (void) const |
Timestep per frame. | |
uint | nframes (void) const |
Number of frames in the trajectory. | |
bool | hasPeriodicBox (void) const |
GCoord | periodicBox (void) const |
Returns the periodic box for the current frame/trajectory. | |
uint | currentStep (void) const |
double | currentTime (void) const |
std::vector< GCoord > | coords (void) const |
Returns the current frames coordinates as a vector of GCoords. | |
double | precision (void) const |
Return the stored file's precision. | |
Public Member Functions inherited from loos::Trajectory | |
Trajectory (const std::string &s) | |
Automatically open the file named s. | |
Trajectory (std::istream &fs) | |
Open using the given stream... | |
Trajectory (const Trajectory &t) | |
virtual std::string | filename () const |
Return the stored filename. | |
virtual bool | hasVelocities () const |
Whether or not the trajectory format supports velocities. | |
virtual double | velocityConversionFactor () const |
Conversion applied to velocities to get to \AA/ps. | |
bool | rewind (void) |
Rewinds the readFrame() iterator. | |
void | updateGroupCoords (AtomicGroup &g) |
Update the coordinates in an AtomicGroup with the current frame. | |
virtual std::vector< GCoord > | velocities (void) const |
Returns the current frame's velocities as a vector of GCoords. | |
void | updateGroupVelocities (AtomicGroup &g) |
void | seekNextFrame (void) |
void | seekFrame (const uint i) |
bool | readFrame (void) |
Reads the next frame in a trajectory, returning false if at the end. | |
bool | readFrame (const int i) |
Reads a specific frame in a trajectory. | |
bool | atEnd () const |
uint | currentFrame () const |
Static Public Member Functions | |
static pTraj | create (const std::string &fname, const AtomicGroup &model) |
Additional Inherited Members | |
Public Types inherited from loos::Trajectory | |
typedef boost::shared_ptr< std::istream > | pStream |
Protected Member Functions inherited from loos::Trajectory | |
void | setInputStream (const std::string &fname) |
void | setInputStream (std::istream &fs) |
Protected Attributes inherited from loos::Trajectory | |
pStream | ifs |
bool | cached_first |
std::string | _filename |
uint | _current_frame |
Class representing GROMACS reduced precision, compressed trajectories.
The XTC format does not have even-sized frames nor does it have any kind of frame index or number of frames metadata. The entire trajectory has to be scanned in order to determine the number of frames and to build an index that allows seeking to specific frames. This is done by reading only enough of each frame header to permit building the index, so it should be a pretty fast operation.
|
inlinevirtual |
Returns the current frames coordinates as a vector of GCoords.
Some formats, notably DCDs, do not interleave their coordinates. This means that this could be a potentially expensive operation.
Implements loos::Trajectory.
|
inlinevirtual |
Return a string describing trajectory format.
Reimplemented from loos::Trajectory.
|
inlinevirtual |
Tests whether or not the given frame/trajectory has periodic boundary information. The presence of periodic box information does not necessarily indicate that said information has been read in yet. For example, the presence of crystal data is in the header so this can be detected before any frame is read, but the crystal data itself is only read when a frame is read in.
Implements loos::Trajectory.
|
inlinevirtual |
Implements loos::Trajectory.
|
inlinevirtual |
Number of frames in the trajectory.
Implements loos::Trajectory.
|
inlinevirtual |
Returns the periodic box for the current frame/trajectory.
Implements loos::Trajectory.
|
inlinevirtual |
Timestep per frame.
Implements loos::Trajectory.