Main Page | Class Hierarchy | Class List | File List | Class Members

Restrains.h

00001 #ifndef RESTRAINS_H
00002 #define RESTRAINS_H
00003 
00004 #include "Restrain.h"
00005 #include "ReadData.h"
00006 
00007 //--------------------------
00008 
00012 class CRestDIST: public CRestrain
00013 {
00014 
00015 public:
00016       CRestDIST(CData *dt);
00017      virtual ~CRestDIST();
00018 
00019      void FindReferences();
00020      void MarkOutChangingAtoms();
00021 
00026      virtual int CheckGoodSetting();
00027      virtual void Print();
00028      virtual void Read(CXMLElement *elrestrain);        // read data from XMLNode
00029 
00035      virtual REAL E();
00036 private:
00037         int f1,f2;
00038         int p1,p2;
00039         int id1,id2;
00040         REAL dist,k;
00041         
00042 };
00043 
00044 //--------------------------
00045 
00049 class CRestANGLE: public CRestrain
00050 {
00051 
00052 public:
00053       CRestANGLE(CData *dt);
00054      virtual ~CRestANGLE();
00055 
00056      void FindReferences();
00057      void MarkOutChangingAtoms();
00058 
00064      virtual int CheckGoodSetting();
00065      virtual void Print();
00066      virtual void Read(CXMLElement *elrestrain);        // read data from XMLNode
00067 
00075      virtual REAL E();
00076 private:
00077 
00078         int ParseVector(CSmallString &strV, int *vB,int *vE);           // parsing the string
00079 
00080         int f1,f2,f3,f4;
00081         int p1,p2,p3,p4;
00082         int id1,id2,id3,id4;
00083         REAL angle,k;
00084                 
00085 };
00086 //--------------------------
00087 
00091 class CRestTORSION: public CRestrain
00092 {
00093 
00094 public:
00095         CRestTORSION(CData *dt);
00096      virtual ~CRestTORSION();
00097 
00098 
00104      virtual int CheckGoodSetting();
00105      void FindReferences();
00106      void MarkOutChangingAtoms();
00107 
00108      virtual void Print();
00109      virtual void Read(CXMLElement *elrestrain);        // read data from XMLNode
00110      virtual REAL E();
00121 private:
00122 
00123         int ParseTorsion(CSmallString &strV); // parsing torsion string, find identificators
00124 
00125         int f1,f2,f3,f4;
00126         int p1,p2,p3,p4;
00127         int id1,id2,id3,id4;
00128         REAL angle,k;
00129         
00130 };
00131 //--------------------------
00132 
00133 
00134 
00138 class CRestELECT: public CRestrain
00139 {
00140 
00141 public:
00142       CRestELECT(CData *dt);
00143      virtual ~CRestELECT();
00144 
00145      void FindReferences();
00146      void MarkOutChangingAtoms();
00147 
00152      virtual int CheckGoodSetting();
00153      virtual void Print();
00154      virtual void Read(CXMLElement *elrestrain);        // read data from XMLNode
00155 
00162      virtual REAL E();
00163 private:
00164         REAL k;
00165         REAL eps;
00166 };
00167 
00168 //--------------------------
00169 
00170 
00171 #endif

Generated on Tue Apr 20 11:53:39 2004 for FragmentsFitting by doxygen 1.3.4