ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/MoleculeStamp.hpp
Revision: 957
Committed: Mon Jan 19 16:08:21 2004 UTC (21 years, 4 months ago) by gezelter
File size: 2013 byte(s)
Log Message:
BASS changes to add RigidBodies and LJrcut

File Contents

# Content
1 #ifndef __MOLECULESTAMP_H__
2 #define __MOLECULESTAMP_H__
3
4 #include "AtomStamp.hpp"
5 #include "BondStamp.hpp"
6 #include "BendStamp.hpp"
7 #include "TorsionStamp.hpp"
8 #include "RigidBodyStamp.hpp"
9 #include "LinkedAssign.hpp"
10
11 class MoleculeStamp{
12
13 public:
14 MoleculeStamp();
15 ~MoleculeStamp();
16
17 char* assignString( char* lhs, char* rhs );
18 char* assignDouble( char* lhs, double rhs );
19 char* assignInt( char* lhs, int rhs );
20 char* checkMe( void );
21
22 char* addAtom( AtomStamp* the_atom, int atomIndex );
23 char* addRigidBody( RigidBodyStamp* the_rigidbody, int rigidBodyIndex );
24 char* addBond( BondStamp* the_bond, int bondIndex );
25 char* addBend( BendStamp* the_bend, int bendIndex );
26 char* addTorsion( TorsionStamp* the_torsion, int torsionIndex );
27
28 char* getID( void ) { return name; }
29 int getNAtoms( void ) { return n_atoms; }
30 int getTotAtoms( void ); // Total Number of Atoms in this Stamp
31 int getNBonds( void ) { return n_bonds; }
32 int getNBends( void ) { return n_bends; }
33 int getNTorsions( void ) { return n_torsions; }
34 int getNRigidBodies(void){ return n_rigidbodies; }
35
36 AtomStamp* getAtom( int index ) { return atoms[index]; }
37 BondStamp* getBond( int index ) { return bonds[index]; }
38 BendStamp* getBend( int index ) { return bends[index]; }
39 TorsionStamp* getTorsion( int index ) { return torsions[index]; }
40 RigidBodyStamp* getRigidBody( int index ) { return rigidBodies[index]; }
41
42 int haveExtras( void ) { return have_extras; }
43 LinkedAssign* getUnhandled( void ) { return unhandled; }
44
45 static char errMsg[500];
46 private:
47
48
49 char name[100];
50 int n_atoms;
51 int n_bonds;
52 int n_bends;
53 int n_torsions;
54 int n_rigidbodies;
55
56 int have_name, have_atoms, have_bonds, have_bends, have_torsions;
57 int have_rigidbodies;
58
59 AtomStamp** atoms;
60 BondStamp** bonds;
61 BendStamp** bends;
62 TorsionStamp** torsions;
63 RigidBodyStamp** rigidBodies;
64
65 LinkedAssign* unhandled; // the unhandled assignments
66 short int have_extras;
67 };
68
69 #endif