ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/GenericData.hpp
Revision: 699
Committed: Fri Aug 15 19:24:13 2003 UTC (20 years, 10 months ago) by tim
File size: 1763 byte(s)
Log Message:
Tested MPI version of Z-Constraint Method

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 658 using namespace std;
15    
16     class GenericData
17     {
18     public:
19     GenericData();
20     GenericData(const GenericData& rhs) { id = rhs.getID(); }
21     GenericData& operator =(const GenericData& rhs);
22     virtual ~GenericData() {}
23    
24     const string& getID() const { return id; }
25     void setID(string rhs) { id = rhs; }
26    
27     protected:
28     string id;
29     };
30    
31     /** Something we can improve it here is to use template
32     **
33     */
34     class DoubleData : public GenericData{
35    
36     public:
37    
38     double getData() { return data; }
39     void setData(double rhs) { data = rhs; }
40    
41     protected:
42     double data;
43     };
44    
45     class StringData : public GenericData{
46    
47     public:
48     const string& getData() const { return data; }
49     void setData(const string& rhs) { data = rhs; }
50     protected:
51     string data;
52     };
53 tim 682
54     struct ZConsParaItem
55     {
56     int zconsIndex;
57     bool havingZPos;
58     double zPos;
59     double kRatio;
60     };
61    
62     class ZConsParaData : public GenericData{
63    
64     public:
65     ZConsParaData();
66     void addItem(ZConsParaItem& item) {data.push_back(item);}
67     vector<ZConsParaItem>* getData() {return &data;}
68     void setData(vector<ZConsParaItem>& theData) {data = theData;}
69     void sortByIndex();
70    
71     private:
72     vector<ZConsParaItem> data;
73     };
74    
75     class ZConsParaSortCriterion{
76     public:
77     bool operator ()(const ZConsParaItem& item1, const ZConsParaItem& item2){
78     return item1.zconsIndex < item2.zconsIndex;
79     }
80    
81     };
82    
83 tim 658 #endif