| 1 |
#ifndef _MOLECULE_H_ |
| 2 |
#define _MOLECULE_H_ |
| 3 |
|
| 4 |
#include "Atom.hpp" |
| 5 |
#include "SRI.hpp" |
| 6 |
#include "MoleculeStamp.hpp" |
| 7 |
|
| 8 |
typedef struct{ |
| 9 |
|
| 10 |
int stampID; // the ID in the BASS component stamp array |
| 11 |
int nAtoms; // the number of atoms in the molecule |
| 12 |
int nBonds; // ... .. .. . .bonds .. .. . . . . |
| 13 |
int nBends; // . . . . .. . .bends . . . . .. . |
| 14 |
int nTorsions // .. . . .. . . torsions . . .. . . |
| 15 |
int nOriented; // .. . . . .. . oreineted atoms . . . |
| 16 |
|
| 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 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 setNMembers( int info ) { nMembers = info; } |
| 42 |
void setStartAtom( int info ) { startAtom = info; } |
| 43 |
void setEndAtom( int info ) { endAtom = info; } |
| 44 |
void setStampID( int info ) { stampID = info; } |
| 45 |
|
| 46 |
|
| 47 |
private: |
| 48 |
|
| 49 |
int stampID; // the ID in the BASS component stamp array |
| 50 |
int nAtoms; // the number of atoms in the molecule |
| 51 |
int nBonds; // ... .. .. . .bonds .. .. . . . . |
| 52 |
int nBends; // . . . . .. . .bends . . . . .. . |
| 53 |
int nTorsions // .. . . .. . . torsions . . .. . . |
| 54 |
int nOriented; // .. . . . .. . oreineted atoms . . . |
| 55 |
|
| 56 |
|
| 57 |
Atom** myAtoms; // the array of atoms |
| 58 |
Bond** myBonds; // arrays of all the short range interactions |
| 59 |
Bend** myBends; |
| 60 |
Torsion** myTorsions; |
| 61 |
|
| 62 |
int startAtom; |
| 63 |
int endAtom; |
| 64 |
|
| 65 |
|
| 66 |
}; |
| 67 |
|
| 68 |
#endif |