ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/GenericData.hpp
Revision: 837
Committed: Wed Oct 29 00:19:10 2003 UTC (20 years, 8 months ago) by tim
File size: 2134 byte(s)
Log Message:
add chi and eta to the comment line of dump file.

File Contents

# User Rev Content
1 tim 658 #ifndef __GENERICDATA_H__
2     #define __GENERICDATA_H__
3    
4 tim 682 #include <algorithm>
5 tim 658 #include <string>
6     #include <vector>
7    
8 tim 682 #define ZCONSTIME_ID "ZCONSTIME"
9     #define ZCONSPARADATA_ID "ZCONSPARA"
10     #define ZCONSFILENAME_ID "ZCONSFILENAME"
11     #define ZCONSTOL_ID "ZCONSTOL"
12 tim 699 #define ZCONSFORCEPOLICY_ID "ZCONSFORCEPOLICY"
13 tim 682
14 tim 837 #define CHIVALUE_ID "CHIVALUE"
15     #define INTEGRALOFCHIDT_ID "INTEGRALOFCHIDT"
16     #define ETAVALUE_ID "ETAVALUE"
17    
18 tim 658 using namespace std;
19    
20     class GenericData
21     {
22     public:
23     GenericData();
24     GenericData(const GenericData& rhs) { id = rhs.getID(); }
25     GenericData& operator =(const GenericData& rhs);
26     virtual ~GenericData() {}
27 tim 837
28 tim 658 const string& getID() const { return id; }
29 tim 837 void setID(string rhs) { id = rhs; }
30    
31 tim 658 protected:
32     string id;
33     };
34    
35     /** Something we can improve it here is to use template
36 tim 837 **
37 tim 658 */
38     class DoubleData : public GenericData{
39    
40     public:
41    
42     double getData() { return data; }
43     void setData(double rhs) { data = rhs; }
44 tim 837
45 tim 658 protected:
46     double data;
47     };
48    
49     class StringData : public GenericData{
50 tim 837
51     public:
52 tim 658 const string& getData() const { return data; }
53     void setData(const string& rhs) { data = rhs; }
54     protected:
55 tim 837 string data;
56 tim 658 };
57 tim 682
58 mmeineke 789 struct ZConsParaItem {
59 tim 682 int zconsIndex;
60     bool havingZPos;
61     double zPos;
62     double kRatio;
63     };
64    
65     class ZConsParaData : public GenericData{
66 tim 837
67     public:
68 tim 682 ZConsParaData();
69     void addItem(ZConsParaItem& item) {data.push_back(item);}
70     vector<ZConsParaItem>* getData() {return &data;}
71     void setData(vector<ZConsParaItem>& theData) {data = theData;}
72     void sortByIndex();
73 tim 736 bool isIndexUnique();
74 tim 837
75     private:
76 tim 682 vector<ZConsParaItem> data;
77     };
78    
79     class ZConsParaSortCriterion{
80     public:
81     bool operator ()(const ZConsParaItem& item1, const ZConsParaItem& item2){
82     return item1.zconsIndex < item2.zconsIndex;
83     }
84    
85     };
86    
87 tim 837 class DoubleArrayData : public GenericData{
88    
89     public:
90     vector<double> getData() const { return data; }
91     void setData(double* source, int num){
92     data.clear();
93     for(int i = 0; i < num; i++)
94     data.push_back(source[i]);
95     }
96     protected:
97     vector<double> data;
98     };
99 tim 658 #endif