ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/MakeStamps.hpp
Revision: 213
Committed: Mon Dec 16 21:42:11 2002 UTC (21 years, 7 months ago) by mmeineke
File size: 2225 byte(s)
Log Message:
finishing work on making DumpWriter parrallel

File Contents

# User Rev Content
1 mmeineke 10 #ifndef __MAKESTAMPS_H__
2     #define __MAKESTAMPS_H__
3    
4     #include <cstdlib>
5     #include <cstring>
6    
7     #include "BASS_interface.h"
8     #include "MoleculeStamp.hpp"
9     #include "AtomStamp.hpp"
10     #include "BondStamp.hpp"
11     #include "BendStamp.hpp"
12     #include "TorsionStamp.hpp"
13    
14     class LinkedMolStamp{
15    
16     public:
17 chuckv 196 LinkedMolStamp(){ mol_stamp = NULL; next = NULL; prev = NULL; }
18 mmeineke 10 ~LinkedMolStamp();
19    
20     MoleculeStamp* match( char* id );
21 mmeineke 213 LinkedMolStamp* extract( char* id );
22 mmeineke 10 void setStamp( MoleculeStamp* the_stamp ){ mol_stamp = the_stamp; }
23     MoleculeStamp* getStamp(){ return mol_stamp; }
24 chuckv 196 void add( LinkedMolStamp* newbie );
25     void setPrev( LinkedMolStamp* thePrev ){ prev = thePrev; }
26 mmeineke 197 void setNext( LinkedMolStamp* theNext ){ next = theNext; }
27 mmeineke 10 LinkedMolStamp* getNext() { return next; }
28    
29     private:
30     MoleculeStamp* mol_stamp;
31     LinkedMolStamp* next;
32 chuckv 196 LinkedMolStamp* prev;
33 mmeineke 10 };
34    
35     class MakeStamps{
36    
37     public:
38     MakeStamps();
39     ~MakeStamps();
40    
41     int newMolecule( event* the_event );
42     int moleculeAssign( event* the_event );
43     int moleculeEnd( event* the_event );
44    
45     int newAtom( event* the_event );
46     int atomPosition( event* the_event );
47     int atomOrientation( event* the_event );
48     int atomAssign( event* the_event );
49     int atomEnd( event* the_event );
50    
51     int newBond( event* the_event );
52     int bondAssign( event* the_event );
53     int bondMember( event* the_event );
54     int bondConstraint( event* the_event );
55     int bondEnd( event* the_event );
56    
57     int newBend( event* the_event );
58     int bendAssign( event* the_event );
59     int bendMember( event* the_event );
60     int bendConstraint( event* the_event );
61     int bendEnd( event* the_event );
62    
63     int newTorsion( event* the_event );
64     int torsionAssign( event* the_event );
65     int torsionMember( event* the_event );
66     int torsionConstraint( event* the_event );
67     int torsionEnd( event* the_event );
68    
69 mmeineke 197 LinkedMolStamp* extractMolStamp( char* the_id );
70 mmeineke 10
71     private:
72    
73     static const int hash_size = 51;
74     static const int hash_shift = 4;
75     int hash( char* text );
76     LinkedMolStamp** my_mols;
77     void addMolStamp( MoleculeStamp* the_stamp );
78    
79     MoleculeStamp* current_mol;
80     AtomStamp* current_atom;
81     BondStamp* current_bond;
82     BendStamp* current_bend;
83     TorsionStamp* current_torsion;
84    
85    
86    
87    
88    
89     };
90    
91    
92    
93    
94     #endif