ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/GenericData.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/GenericData.hpp (file contents):
Revision 736 by tim, Thu Aug 28 21:09:47 2003 UTC vs.
Revision 1234 by tim, Fri Jun 4 03:15:31 2004 UTC

# Line 10 | Line 10
10   #define ZCONSFILENAME_ID     "ZCONSFILENAME"
11   #define ZCONSTOL_ID              "ZCONSTOL"
12   #define ZCONSFORCEPOLICY_ID "ZCONSFORCEPOLICY"
13 + #define ZCONSGAP_ID "ZCONSGAP"
14 + #define ZCONSFIXTIME_ID "ZCONSFIXTIME"
15 + #define ZCONSUSINGSMD_ID "ZCONSUSINGSMD"
16  
17 < using namespace std;
17 > #define CHIVALUE_ID "CHIVALUE"
18 > #define INTEGRALOFCHIDT_ID "INTEGRALOFCHIDT"
19 > #define ETAVALUE_ID "ETAVALUE"
20  
21 + using namespace std;
22 + ////////////////////////////////////////////////////////////////////////////////
23 + //Declaration of GenericData
24 + ////////////////////////////////////////////////////////////////////////////////
25   class GenericData
26   {
27    public:
# Line 20 | Line 29 | class GenericData
29      GenericData(const GenericData& rhs)  {  id = rhs.getID(); }
30      GenericData& operator =(const GenericData& rhs);
31      virtual ~GenericData() {}
32 <    
32 >
33      const string& getID() const {  return id; }
34 <    void setID(string rhs)     {  id = rhs;  }
35 <    
34 >    void setID(const string& rhs)     {  id = rhs;  }
35 >
36    protected:
37      string id;
38   };
39  
40 < /** Something we can improve it here is to use template
41 < **
40 > /**
41 > * Something we can improve it here is to use template
42   */
43 + ////////////////////////////////////////////////////////////////////////////////
44 + //Declaration of IntData
45 + ////////////////////////////////////////////////////////////////////////////////
46 + class IntData : public GenericData{
47 +
48 +  public:
49 +
50 +    double getData()         { return data; }
51 +    void setData(int rhs) { data = rhs;  }
52 +
53 +  protected:
54 +    int data;
55 + };
56 +
57 + ////////////////////////////////////////////////////////////////////////////////
58 + //Declaration of DoubleData
59 + ////////////////////////////////////////////////////////////////////////////////
60   class DoubleData : public GenericData{
61  
62    public:
63  
64      double getData()         { return data; }
65      void setData(double rhs) { data = rhs;  }
66 <            
66 >
67    protected:
68      double data;
69   };
70  
71 + ////////////////////////////////////////////////////////////////////////////////
72 + //Declaration of StringData
73 + ////////////////////////////////////////////////////////////////////////////////
74   class StringData : public GenericData{
75 <
76 <  public:  
75 >
76 >  public:
77      const string& getData() const  {  return data; }
78      void setData(const string& rhs) {  data = rhs;  }
79    protected:
80 <    string data;
80 >    string data;
81   };
82  
83 < struct ZConsParaItem
84 < {
83 > ////////////////////////////////////////////////////////////////////////////////
84 > //Declaration of BoolData
85 > ////////////////////////////////////////////////////////////////////////////////
86 > class BoolData : public GenericData{
87 >  public:
88 >    bool getData() const  {  return data; }
89 >    void setData(const bool rhs) {  data = rhs;  }
90 >  protected:
91 >    bool data;
92 >
93 > };
94 >
95 > ////////////////////////////////////////////////////////////////////////////////
96 > //Declaration of ZConsParaData
97 > ////////////////////////////////////////////////////////////////////////////////
98 > struct ZConsParaItem {
99    int zconsIndex;
100    bool havingZPos;
101    double zPos;
102    double kRatio;
103 +  bool havingCantVel;
104 +  double cantVel;
105   };
106  
107   class ZConsParaData : public GenericData{
108 <        
109 <  public:      
108 >
109 >  public:
110      ZConsParaData();
111      void addItem(ZConsParaItem& item) {data.push_back(item);}
112      vector<ZConsParaItem>* getData() {return &data;}
113      void setData(vector<ZConsParaItem>& theData) {data = theData;}
114      void sortByIndex();
115      bool isIndexUnique();
116 <        
117 <  private:      
116 >
117 >  private:
118      vector<ZConsParaItem> data;
119    };
120  
# Line 81 | Line 126 | class ZConsParaSortCriterion{
126  
127   };
128  
129 + ////////////////////////////////////////////////////////////////////////////////
130 + //Declaration of IntData
131 + ////////////////////////////////////////////////////////////////////////////////
132 + class DoubleArrayData : public GenericData{
133 +
134 + public:
135 +   vector<double> getData() const  {  return data; }
136 +   void setData(double* source, int num){
137 +    data.clear();
138 +    for(int i = 0; i < num; i++)
139 +     data.push_back(source[i]);
140 +   }
141 + protected:
142 +   vector<double> data;
143 + };
144 +
145 + ////////////////////////////////////////////////////////////////////////////////
146 + //Declaration of AtomData
147 + ////////////////////////////////////////////////////////////////////////////////
148 + struct AtomInfo : public GenericData{
149 +  public:
150 +    string AtomType;
151 +    double pos[3];
152 +    double dipole[3];  
153 + };
154 +
155 + class AtomData : public GenericData{
156 +  public:
157 +    ~AtomData();
158 +    void addAtomInfo(AtomInfo* info) {data.push_back(info);}
159 +    void clearAllAtomInfo();
160 +    AtomInfo* beginAtomInfo(vector<AtomInfo*>::iterator& i){
161 +      i = data.begin();
162 +      return i != data.end()? *i : NULL;
163 +    }
164 +    AtomInfo* nextAtomInfo(vector<AtomInfo*>::iterator& i){
165 +      ++i;
166 +      return i != data.end()? *i: NULL;
167 +    }
168 +    vector<AtomInfo*> getData() {return data;}
169 +    int getSize() {return data.size();}
170 +  protected:
171 +    vector<AtomInfo*> data;
172 + };
173 +
174   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines