ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Molecule.hpp
Revision: 424
Committed: Thu Mar 27 20:36:16 2003 UTC (21 years, 3 months ago) by mmeineke
File size: 2284 byte(s)
Log Message:
fixing some compile time bugs

File Contents

# User Rev Content
1 mmeineke 377 #ifndef _MOLECULE_H_
2     #define _MOLECULE_H_
3    
4     #include "Atom.hpp"
5     #include "SRI.hpp"
6 mmeineke 407 #include "MoleculeStamp.hpp"
7 gezelter 416 #include "Exclude.hpp"
8 mmeineke 377
9 mmeineke 407 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 gezelter 416 int nTorsions; // .. . . .. . . torsions . . .. . .
16     int nOriented; // .. . . . .. . oriented atoms . . .
17 mmeineke 407
18 mmeineke 412 Atom** myAtoms; // the array of atoms
19     Exclude** myExcludes;// the array of Excluded pairs
20 mmeineke 407 Bond** myBonds; // arrays of all the short range interactions
21     Bend** myBends;
22     Torsion** myTorsions;
23    
24    
25     } molInit;
26    
27 mmeineke 377 class Molecule{
28    
29     public:
30    
31 mmeineke 407 Molecule( void );
32     ~Molecule( void );
33 mmeineke 377
34 mmeineke 407 void initialize( molInit &theInit );
35 mmeineke 423
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 mmeineke 407
45 mmeineke 423 Atom** getMyAtoms ( void ) {return myAtoms;}
46     Bond** getMyBonds ( void ) {return myBonds;}
47     Bend** getMyBends ( void ) {return myBends;}
48 mmeineke 424 Torsion** getMyTorsions( void ) {return myTorsions;}
49     Exclude** getMyExcludes( void ) {return myExcludes;}
50 mmeineke 377
51 mmeineke 423 void setStampID( int info ) {stampID = info;}
52    
53     void calcForces( void );
54     double getPotential( void );
55 mmeineke 377
56    
57     private:
58    
59 mmeineke 407 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 gezelter 416 int nTorsions; // .. . . .. . . torsions . . .. . .
64     int nOriented; // .. . . . .. . oriented atoms . . .
65 mmeineke 423 int nMembers; // .. . . . . . .atoms (legacy code) . . .
66     int nExcludes; // . . . . .. .. excludes .. . .
67 mmeineke 407
68     Atom** myAtoms; // the array of atoms
69 mmeineke 423 Bond** myBonds; // arrays of all the short range interactions
70 mmeineke 407 Bend** myBends;
71     Torsion** myTorsions;
72 mmeineke 423 Exclude** myExcludes; // array of the excluded pairs of long range forces
73 mmeineke 407
74 mmeineke 377 };
75    
76     #endif