ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/GenericData.hpp
Revision: 682
Committed: Tue Aug 12 17:51:33 2003 UTC (20 years, 11 months ago) by tim
File size: 1716 byte(s)
Log Message:
added harmonical potential to z-constraint method

File Contents

# Content
1 #ifndef __GENERICDATA_H__
2 #define __GENERICDATA_H__
3
4 #include <algorithm>
5 #include <string>
6 #include <vector>
7
8 #define ZCONSTIME_ID "ZCONSTIME"
9 #define ZCONSPARADATA_ID "ZCONSPARA"
10 #define ZCONSFILENAME_ID "ZCONSFILENAME"
11 #define ZCONSTOL_ID "ZCONSTOL"
12
13 using namespace std;
14
15 class GenericData
16 {
17 public:
18 GenericData();
19 GenericData(const GenericData& rhs) { id = rhs.getID(); }
20 GenericData& operator =(const GenericData& rhs);
21 virtual ~GenericData() {}
22
23 const string& getID() const { return id; }
24 void setID(string rhs) { id = rhs; }
25
26 protected:
27 string id;
28 };
29
30 /** Something we can improve it here is to use template
31 **
32 */
33 class DoubleData : public GenericData{
34
35 public:
36
37 double getData() { return data; }
38 void setData(double rhs) { data = rhs; }
39
40 protected:
41 double data;
42 };
43
44 class StringData : public GenericData{
45
46 public:
47 const string& getData() const { return data; }
48 void setData(const string& rhs) { data = rhs; }
49 protected:
50 string data;
51 };
52
53 struct ZConsParaItem
54 {
55 int zconsIndex;
56 bool havingZPos;
57 double zPos;
58 double kRatio;
59 };
60
61 class ZConsParaData : public GenericData{
62
63 public:
64 ZConsParaData();
65 void addItem(ZConsParaItem& item) {data.push_back(item);}
66 vector<ZConsParaItem>* getData() {return &data;}
67 void setData(vector<ZConsParaItem>& theData) {data = theData;}
68 void sortByIndex();
69
70 private:
71 vector<ZConsParaItem> data;
72 };
73
74 class ZConsParaSortCriterion{
75 public:
76 bool operator ()(const ZConsParaItem& item1, const ZConsParaItem& item2){
77 return item1.zconsIndex < item2.zconsIndex;
78 }
79
80 };
81
82 #endif