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 1234 by tim, Fri Jun 4 03:15:31 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 + #include "ConstraintPair.hpp"
13  
14 + using namespace std;
15 +
16   typedef struct{
17    
18    int stampID;   // the ID in the BASS component stamp array
# Line 15 | Line 22 | typedef struct{
22    int nTorsions; // .. . . .. . . torsions . . .. . .
23    int nRigidBodies; // .. .. .. . rigid bodies ... ..
24    int nOriented; // .. . . . .. . oriented atoms . . .
25 <
25 >  
26    Atom** myAtoms;      // the array of atoms
27    Bond** myBonds;      // arrays of all the short range interactions
28    Bend** myBends;
29    Torsion** myTorsions;
30    vector<RigidBody*>   myRigidBodies;
31    vector<StuntDouble*> myIntegrableObjects;
32 +  vector<CutoffGroup*> myCutoffGroups;
33 +  vector<ConstraintPair*> myConstraintPairs;
34   } molInit;
35  
36   class Molecule{
# Line 34 | Line 43 | class Molecule{ (public)
43    void initialize( molInit &theInit );
44  
45    void setMyIndex( int theIndex ){ myIndex = theIndex;}
37  void setGlobalIndex( int theIndex ) { globalIndex = theIndex; }
38
46    int getMyIndex( void ) { return myIndex; }
47 +
48    int getGlobalIndex( void ) { return globalIndex; }
49 <
49 >  void setGlobalIndex( int theIndex ) { globalIndex = theIndex; }
50 >
51    int getNAtoms   ( void )    {return nAtoms;}
52    int getNBonds   ( void )    {return nBonds;}
53    int getNBends   ( void )    {return nBends;}
# Line 53 | Line 62 | class Molecule{ (public)
62    Bend**      getMyBends   ( void )    {return myBends;}
63    Torsion**   getMyTorsions( void )    {return myTorsions;}
64    vector<RigidBody*> getMyRigidBodies( void ) {return myRigidBodies;}
65 +  vector<StuntDouble*>& getIntegrableObjects(void) {return myIntegrableObjects;}
66 +
67 +  //beginCutoffGroup return the first group and initialize the iterator
68 +  CutoffGroup* beginCutoffGroup(vector<CutoffGroup*>::iterator& i){
69 +    i = myCutoffGroups.begin();
70 +    return i != myCutoffGroups.end()? *i : NULL;
71 +  }
72 +
73 +  //nextCutoffGroup return next cutoff group based on the iterator
74 +  CutoffGroup* nextCutoffGroup(vector<CutoffGroup*>::iterator& i){
75 +    i++;
76 +    return i != myCutoffGroups.end()? *i : NULL;
77 +  }
78 +
79 +  int getNCutoffGroups() {return nCutoffGroups;}
80 +
81 +  int getNConstrains() {return myConstraintPairs.size();}
82 +  vector<ConstraintPair*>& getConstraintPairs() {return myConstraintPairs;}
83    
84 +  
85    void setStampID( int info ) {stampID = info;}
86  
87    void calcForces( void );
# Line 78 | Line 106 | class Molecule{ (public)
106    int nRigidBodies; // .. . . .. .rigid bodies . . .. . .
107    int nOriented; // .. . . . .. . oriented atoms . . .
108    int nMembers;  // .. . . . . . .atoms (legacy code) . . .
109 <
109 >  int nCutoffGroups;
110 >  
111    int myIndex; // mostly just for debug (and for making pressure calcs work)
112    int globalIndex;
113  
# Line 88 | Line 117 | class Molecule{ (public)
117    Torsion** myTorsions;
118    vector<RigidBody*>   myRigidBodies;
119    vector<StuntDouble*> myIntegrableObjects;
120 +  vector<CutoffGroup*> myCutoffGroups;
121 +  vector<ConstraintPair*> myConstraintPairs;
122  
123   };
124  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines