BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
trajectoryFile.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_FORMAT_TRAJECTORYFILE_H
6 #define BALL_FORMAT_TRAJECTORYFILE_H
7 
8 #ifndef BALL_SYSTEM_FILE_H
9 # include <BALL/SYSTEM/file.h>
10 #endif
11 
12 #ifndef BALL_MOLMEC_COMMON_SNAPSHOT_H
14 #endif
15 
16 namespace BALL
17 {
18  class SnapShot;
19  class SnapShotManager;
20 
29  : public File
30  {
31 
32  public:
33 
35 
36 
39 
47  TrajectoryFile(const String& filename,
48  File::OpenMode open_mode = std::ios::in);
49 
51  virtual ~TrajectoryFile();
52 
54 
55 
56 
58  virtual void clear();
59 
61 
62 
63 
65  bool operator == (const TrajectoryFile& file) const;
66 
68 
69 
70 
74  virtual Size getNumberOfSnapShots();
75 
79  Size getNumberOfAtoms() const;
80 
82 
83 
84 
88  virtual bool readHeader();
89 
93  virtual bool writeHeader();
94 
100  virtual bool append(const SnapShot& snapshot);
101 
106  virtual bool read(SnapShot& snapshot);
107 
113  virtual bool flushToDisk(const std::vector<SnapShot>& buffer);
115 
116  private:
117  const TrajectoryFile& operator = (const TrajectoryFile& file);
118 
119  protected:
120 
121  //_ @name Protected Members
123 
124  //_ The number of snapshots stored in that file
126 
127  //_ The number of atoms covered by the snapshots
129 
131 
132  };
133 } // namespace BALL
134 
135 #endif // BALL_FORMAT_TRAJECTORYFILE_H