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

# Content
1 #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