File frames.hpp

This file contains a management class for framesets and specifies framesets for different trajectory types.

Author

Benjamin Lindner ben@benlabs.net

Version

See VERSION in CMakeLists.txt

Copyright

GNU General Public License

class Frames
#include <frames.hpp>

Management class for framesets.

Public Functions

inline Frames()
size_t size()
size_t add_frameset(const std::string filename, const std::string filetype, size_t first, size_t last, bool last_set, size_t stride, const std::string index_filename, bool index_default, size_t clones)
Frame load(size_t framenumber)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)
Frameset &find_frameset(size_t framenumber)
void test_framenumber(size_t framenumber)

Private Members

std::vector<Frameset*> framesets
size_t number_of_frames

Friends

friend class boost::serialization::access
class Frameset
#include <frames.hpp>

Interface for framesets. Real framesets are based on a particular format.

Subclassed by CloneFrameset, FileFrameset

Public Functions

virtual void read_frame(size_t framenumber, Frame &cf) = 0

Public Members

size_t frame_number_offset
size_t number_of_frames
size_t number_of_atoms

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class FileFrameset : public Frameset
#include <frames.hpp>

Derived frameset which implements file access functionality.

Subclassed by DCDFrameset, PDBFrameset, TRRFrameset, XTCFrameset

Public Functions

inline virtual ~FileFrameset()
void trim_index(size_t first, size_t last, bool last_set, size_t stride)
void load_index(std::string cache_filename)
void save_index(std::string cache_filename)
virtual void generate_index() = 0

Public Members

FramesetIndex frameset_index_
std::string filename

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Friends

friend class boost::serialization::access
class DCDHeader
#include <frames.hpp>

Type class representing the DCD file header structure.

Public Members

int32_t headsize
int32_t fingerprint
int32_t number_of_frames
int32_t dummy1
int32_t timesteps_between_frames
char buf1[24]
float size_of_timestep
int32_t flag_ext_block1
int32_t flag_ext_block2
class DCDFrameset : public FileFrameset
#include <frames.hpp>

Frameset class for the DCD trajectory file format.

Public Functions

inline DCDFrameset()
~DCDFrameset()
void init(std::string filename, size_t framenumber_offset)
inline DCDFrameset(std::string filename, size_t frame_number_offset)
virtual void read_frame(size_t framenumber, Frame &cf)
virtual void generate_index()
void close()

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)
bool detect(const std::string filename)

Private Members

std::streamoff init_byte_pos
unsigned long flag_ext_block1
unsigned long flag_ext_block2
std::streamoff block_size_byte
std::streamoff x_byte_offset
std::streamoff y_byte_offset
std::streamoff z_byte_offset
std::streamoff block1_byte_offset
std::streamoff block2_byte_offset
std::ifstream dcdfile

Friends

friend class boost::serialization::access
class PDBFrameset : public FileFrameset
#include <frames.hpp>

Frameset class for the PDB trajectory file format, based on VMD animate write.

Public Functions

inline PDBFrameset()
void init(std::string filename, size_t framenumber_offset)
inline PDBFrameset(std::string filename, size_t frame_number_offset)
virtual void read_frame(size_t framenumber, Frame &cf)
virtual void generate_index()

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)
bool detect(const std::string filename)

Private Members

std::vector<CartesianCoor3D> default_uc

Friends

friend class boost::serialization::access
class XTCFrameset : public FileFrameset
#include <frames.hpp>

Frameset class for the XTC trajectory file format.

Public Functions

inline XTCFrameset()
~XTCFrameset()
void init(std::string filename, size_t framenumber_offset)
inline XTCFrameset(std::string filename, size_t frame_number_offset)
virtual void read_frame(size_t framenumber, Frame &cf)
virtual void generate_index()
void close()

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)
bool detect(const std::string filename)

Private Members

XDRFILE *p_xdrfile

Friends

friend class boost::serialization::access
class TRRFrameset : public FileFrameset
#include <frames.hpp>

Frameset class for the TRR trajectory file format.

Public Functions

inline TRRFrameset()
~TRRFrameset()
void init(std::string filename, size_t framenumber_offset)
inline TRRFrameset(std::string filename, size_t frame_number_offset)
virtual void read_frame(size_t framenumber, Frame &cf)
virtual void generate_index()
void close()

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)
bool detect(const std::string filename)

Private Members

XDRFILE *p_xdrfile

Friends

friend class boost::serialization::access
class CloneFrameset : public Frameset
#include <frames.hpp>

Pseudo frameset which is a reference to another one and can be used to efficiently multiply coordinates.

Public Functions

inline CloneFrameset()
CloneFrameset(Frameset *original, size_t nof)
virtual void read_frame(size_t framenumber, Frame &cf)

Private Functions

template<class Archive>
inline void serialize(Archive &ar, const unsigned int version)

Private Members

Frameset *p_originalframeset

Friends

friend class boost::serialization::access