ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/ReadWrite.hpp
Revision: 637
Committed: Thu Jul 17 21:50:01 2003 UTC (20 years, 11 months ago) by gezelter
File size: 1424 byte(s)
Log Message:
Started work on a DumpReader

File Contents

# User Rev Content
1 mmeineke 377 #ifndef __READWRITE_H__
2     #define __READWRITE_H__
3    
4     #include <iostream>
5     #include <fstream>
6    
7     #include <cstring>
8     #include <cstdio>
9     #include <cstdlib>
10    
11     #include "Atom.hpp"
12     #include "SimInfo.hpp"
13     #include "Thermo.hpp"
14    
15     using namespace std;
16    
17     class DumpWriter{
18    
19     public:
20     DumpWriter( SimInfo* the_entry_plug );
21     ~DumpWriter();
22    
23     void writeDump( double currentTime );
24 mmeineke 572 void writeFinal( double finalTime );
25 mmeineke 377
26     private:
27     SimInfo* entry_plug;
28     ofstream outFile;
29     char outName[500];
30     };
31    
32     class StatWriter{
33    
34     public:
35     StatWriter( SimInfo* the_entry_plug );
36     ~StatWriter();
37    
38     void writeStat( double currentTime );
39    
40     private:
41    
42     SimInfo* entry_plug;
43     ofstream outFile;
44     char outName[500];
45     Thermo* tStats;
46    
47     };
48    
49     class InitializeFromFile{
50    
51     public:
52     InitializeFromFile( char *in_name );
53     ~InitializeFromFile();
54    
55     void read_xyz( SimInfo* the_entry_plug );
56    
57     private:
58     char* parseDumpLine(char* line, int atomIndex);
59 mmeineke 586 char* parseBoxLine(char* line, double boxMat[9] );
60 mmeineke 377 FILE *c_in_file;
61     char c_in_name[500];
62 mmeineke 586 SimInfo* simnfo;
63 mmeineke 377 };
64    
65 gezelter 637 class DumpReader{
66     DumpReader( char *in_name );
67     ~DumpReader();
68 mmeineke 377
69 gezelter 637 int getNframes();
70     void getNextFrame();
71     void getFrame(SimInfo* the_entry_plug, int whichFrame)
72     void rewind();
73 mmeineke 377
74 gezelter 637 private:
75     char* parseDumpLine(char* line, int atomIndex);
76     char* parseCommentLine(char* line, double time, double boxMat[9] );
77     FILE *c_in_file;
78     char c_in_name[500];
79     SimInfo* simnfo;
80     };
81    
82     public:
83    
84 mmeineke 377 #endif