ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Molecule.hpp
Revision: 423
Committed: Thu Mar 27 20:12:15 2003 UTC (21 years, 3 months ago) by mmeineke
File size: 2284 byte(s)
Log Message:
I have implemeted Molecules everywhere I could remember to.
will now attempt to compile.

File Contents

# Content
1 #ifndef _MOLECULE_H_
2 #define _MOLECULE_H_
3
4 #include "Atom.hpp"
5 #include "SRI.hpp"
6 #include "MoleculeStamp.hpp"
7 #include "Exclude.hpp"
8
9 typedef struct{
10
11 int stampID; // the ID in the BASS component stamp array
12 int nAtoms; // the number of atoms in the molecule
13 int nBonds; // ... .. .. . .bonds .. .. . . . .
14 int nBends; // . . . . .. . .bends . . . . .. .
15 int nTorsions; // .. . . .. . . torsions . . .. . .
16 int nOriented; // .. . . . .. . oriented atoms . . .
17
18 Atom** myAtoms; // the array of atoms
19 Exclude** myExcludes;// the array of Excluded pairs
20 Bond** myBonds; // arrays of all the short range interactions
21 Bend** myBends;
22 Torsion** myTorsions;
23
24
25 } molInit;
26
27 class Molecule{
28
29 public:
30
31 Molecule( void );
32 ~Molecule( void );
33
34 void initialize( molInit &theInit );
35
36 int getNAtoms ( void ) {return nAtoms;}
37 int getNBonds ( void ) {return nBonds;}
38 int getNBends ( void ) {return nBends;}
39 int getNTorsions( void ) {return nTorsions;}
40 int getNOriented( void ) {return nOriented;}
41 int getNExcludes( void ) {return nExcludes;}
42 int getNMembers ( void ) {return nMembers;}
43 int getStampID ( void ) {return stampID;}
44
45 Atom** getMyAtoms ( void ) {return myAtoms;}
46 Bond** getMyBonds ( void ) {return myBonds;}
47 Bend** getMyBends ( void ) {return myBends;}
48 Torsions** getmyTorsions( void ) {return myTorsions;}
49 Exclude** getmyExcludes( void ) {return myExcludes;}
50
51 void setStampID( int info ) {stampID = info;}
52
53 void calcForces( void );
54 double getPotential( void );
55
56
57 private:
58
59 int stampID; // the ID in the BASS component stamp array
60 int nAtoms; // the number of atoms in the molecule
61 int nBonds; // ... .. .. . .bonds .. .. . . . .
62 int nBends; // . . . . .. . .bends . . . . .. .
63 int nTorsions; // .. . . .. . . torsions . . .. . .
64 int nOriented; // .. . . . .. . oriented atoms . . .
65 int nMembers; // .. . . . . . .atoms (legacy code) . . .
66 int nExcludes; // . . . . .. .. excludes .. . .
67
68 Atom** myAtoms; // the array of atoms
69 Bond** myBonds; // arrays of all the short range interactions
70 Bend** myBends;
71 Torsion** myTorsions;
72 Exclude** myExcludes; // array of the excluded pairs of long range forces
73
74 };
75
76 #endif