ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Molecule.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Molecule.hpp (file contents):
Revision 1104 by gezelter, Tue Apr 13 16:26:03 2004 UTC vs.
Revision 1167 by tim, Wed May 12 16:38:45 2004 UTC

# Line 1 | Line 1
1   #ifndef _MOLECULE_H_
2   #define _MOLECULE_H_
3  
4 + #include <set>
5 + #include <vector>
6 +
7   #include "Atom.hpp"
8   #include "SRI.hpp"
9   #include "MoleculeStamp.hpp"
10   #include "RigidBody.hpp"
11 + #include "CutoffGroup.hpp"
12  
13 + using namespace std;
14 +
15   typedef struct{
16    
17    int stampID;   // the ID in the BASS component stamp array
# Line 15 | Line 21 | typedef struct{
21    int nTorsions; // .. . . .. . . torsions . . .. . .
22    int nRigidBodies; // .. .. .. . rigid bodies ... ..
23    int nOriented; // .. . . . .. . oriented atoms . . .
24 <
24 >  
25    Atom** myAtoms;      // the array of atoms
26    Bond** myBonds;      // arrays of all the short range interactions
27    Bend** myBends;
28    Torsion** myTorsions;
29    vector<RigidBody*>   myRigidBodies;
30    vector<StuntDouble*> myIntegrableObjects;
31 +  vector<CutoffGroup*> myCutoffGroups;
32   } molInit;
33  
34   class Molecule{
# Line 34 | Line 41 | class Molecule{ (public)
41    void initialize( molInit &theInit );
42  
43    void setMyIndex( int theIndex ){ myIndex = theIndex;}
37  void setGlobalIndex( int theIndex ) { globalIndex = theIndex; }
38
44    int getMyIndex( void ) { return myIndex; }
45 +
46    int getGlobalIndex( void ) { return globalIndex; }
47 <
47 >  void setGlobalIndex( int theIndex ) { globalIndex = theIndex; }
48 >
49    int getNAtoms   ( void )    {return nAtoms;}
50    int getNBonds   ( void )    {return nBonds;}
51    int getNBends   ( void )    {return nBends;}
# Line 53 | Line 60 | class Molecule{ (public)
60    Bend**      getMyBends   ( void )    {return myBends;}
61    Torsion**   getMyTorsions( void )    {return myTorsions;}
62    vector<RigidBody*> getMyRigidBodies( void ) {return myRigidBodies;}
63 +  vector<StuntDouble*>& getIntegrableObjects(void) {return myIntegrableObjects;}
64 +
65 +  CutoffGroup* beginCutoffGroup(vector<CutoffGroup*>::iterator& i){
66 +    i = myCutoffGroups.begin();
67 +    return i != myCutoffGroups.end()? *i : NULL;
68 +  }
69 +
70 +  CutoffGroup* nextCutoffGroup(vector<CutoffGroup*>::iterator& i){
71 +    i++;
72 +    return i != myCutoffGroups.end()? *i : NULL;
73 +  }
74 +
75 +  int getNCutoffGroups() {return nCutoffGroups;}
76    
77    void setStampID( int info ) {stampID = info;}
78  
# Line 78 | Line 98 | class Molecule{ (public)
98    int nRigidBodies; // .. . . .. .rigid bodies . . .. . .
99    int nOriented; // .. . . . .. . oriented atoms . . .
100    int nMembers;  // .. . . . . . .atoms (legacy code) . . .
101 <
101 >  int nCutoffGroups;
102 >  
103    int myIndex; // mostly just for debug (and for making pressure calcs work)
104    int globalIndex;
105  
# Line 88 | Line 109 | class Molecule{ (public)
109    Torsion** myTorsions;
110    vector<RigidBody*>   myRigidBodies;
111    vector<StuntDouble*> myIntegrableObjects;
112 +  vector<CutoffGroup*> myCutoffGroups;
113  
114 +
115   };
116  
117   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines