ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Molecule.hpp
Revision: 422
Committed: Thu Mar 27 19:21:42 2003 UTC (21 years, 3 months ago) by mmeineke
File size: 1656 byte(s)
Log Message:
finished updating SimSetup to initialize and use the new MPI division of labour, and Molecule class

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    
36 mmeineke 377 int getNMembers( void ) { return nMembers; }
37     int getStartAtom( void ) { return startAtom; }
38     int getEndAtom( void ) { return endAtom; }
39     int getStampID( void ) { return stampID; }
40    
41     void setStampID( int info ) { stampID = info; }
42    
43    
44     private:
45    
46 mmeineke 407 int stampID; // the ID in the BASS component stamp array
47     int nAtoms; // the number of atoms in the molecule
48     int nBonds; // ... .. .. . .bonds .. .. . . . .
49     int nBends; // . . . . .. . .bends . . . . .. .
50 gezelter 416 int nTorsions; // .. . . .. . . torsions . . .. . .
51     int nOriented; // .. . . . .. . oriented atoms . . .
52     int nMembers;
53 mmeineke 407
54     Atom** myAtoms; // the array of atoms
55     Bond** myBonds; // arrays of all the short range interactions
56     Bend** myBends;
57     Torsion** myTorsions;
58    
59 mmeineke 377 int startAtom;
60     int endAtom;
61    
62 mmeineke 407
63 mmeineke 377 };
64    
65     #endif