ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/AbstractClasses.hpp
Revision: 11
Committed: Tue Jul 9 18:40:59 2002 UTC (22 years ago) by mmeineke
File size: 1214 byte(s)
Log Message:
This commit was generated by cvs2svn to compensate for changes in r10, which
included commits to RCS files with non-trunk default branches.

File Contents

# User Rev Content
1 mmeineke 10 #ifndef _ABSTRACT_CLASSES_H_
2     #define _ABSTRACT_CLASSES_H_
3    
4     #include "Atom.hpp"
5    
6     class Constraint{
7    
8     public:
9     Constraint(){}
10     ~Constraint(){}
11    
12     int get_a() {return a;}
13     void set_a(int index) {a = index;}
14     int get_b() {return b;}
15     void set_b(int index) {b = index;}
16     double get_dsqr() {return dsqr;}
17     void set_dsqr(double ds) {dsqr = ds;}
18    
19     private:
20     int a; /* index of constrained atom a */
21     int b; /* index of constrained atom b */
22     double dsqr; /* the square of the constraint distance */
23     };
24    
25     class SRI{
26    
27     public:
28     SRI(){ c_potential_E = 0.0; }
29     virtual ~SRI() {}
30    
31     virtual void calc_forces() = 0;
32    
33     double get_potential(){ return c_potential_E; }
34     virtual int is_constrained() = 0;
35     virtual Constraint *get_constraint() = 0;
36     virtual void constrain(double bond_distance) = 0;
37    
38     virtual void printMe( void ) = 0;
39    
40     protected:
41     double c_potential_E;
42     };
43    
44     struct ex_pair {
45     int i;
46     int j;
47     };
48    
49     class LRI{
50     public:
51     LRI() {}
52     virtual ~LRI() {}
53     virtual void calc_forces() = 0;
54     virtual double get_potential() = 0;
55     };
56    
57     class Integrator{
58    
59     public:
60     Integrator(){}
61     virtual ~Integrator(){}
62    
63     virtual void integrate( void ) = 0;
64     };
65    
66    
67     #endif