LOOS  v2.3.2
loos::AmberTraj Class Reference

Class for reading amber coordinate trajectories. More...

#include <amber_traj.hpp>

Inheritance diagram for loos::AmberTraj:
Collaboration diagram for loos::AmberTraj:

Public Member Functions

 AmberTraj (const std::string &s, const int na)
 AmberTraj (std::istream &is, const int na)
std::string description () const
 Return a string describing trajectory format.
virtual uint nframes (void) const
 Number of frames in the trajectory.
virtual uint natoms (void) const

of atoms per frame

virtual std::vector< GCoordcoords (void)
 Returns the current frames coordinates as a vector of GCoords. More...
virtual bool hasPeriodicBox (void) const
virtual GCoord periodicBox (void) const
 Returns the periodic box for the current frame/trajectory.
virtual float timestep (void) const
virtual bool parseFrame (void)
 Parse an actual frame. More...
- 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...
bool rewind (void)
 Rewinds the readFrame() iterator.
void updateGroupCoords (AtomicGroup &g)
 Update the coordinates in an AtomicGroup with the current frame. More...
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. More...

Static Public Member Functions

static pTraj create (const std::string &fname, const AtomicGroup &model)

Additional Inherited Members

- Protected Attributes inherited from loos::Trajectory
StreamWrapper ifs
bool cached_first
std::string _filename

Detailed Description

Class for reading amber coordinate trajectories.

This class will read in the first frame of the trajectory upon instantiation. It will also scan the file to determine how many frames there are.

Since the Amber trajectory format does not store the # of atoms present, this must be passed to the AmberTraj constructor.

Note that the Amber timestep is (presumably) defined in the parmtop file, not in the trajectory file. So we return a null-value here...

Definition at line 48 of file amber_traj.hpp.

Member Function Documentation

virtual std::vector<GCoord> loos::AmberTraj::coords ( void  )

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.

Definition at line 66 of file amber_traj.hpp.

virtual bool loos::AmberTraj::hasPeriodicBox ( void  ) const

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.

Definition at line 68 of file amber_traj.hpp.

bool loos::AmberTraj::parseFrame ( void  )

Parse an actual frame.

parseFrame() is expected to read in a frame through the Trajectory's StreamWrapper. It returns a bool indicating whether or not it was able to actually read a frame (i.e. false indicates EOF).

Implements loos::Trajectory.

Definition at line 86 of file amber_traj.cpp.

virtual float loos::AmberTraj::timestep ( void  ) const

As stated above, Amber does not store the timestep in the trajectory, but in the parmtop instead. So we return a null-value here...

Implements loos::Trajectory.

Definition at line 76 of file amber_traj.hpp.

The documentation for this class was generated from the following files: