ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Globals.hpp
Revision: 675
Committed: Mon Aug 11 19:38:44 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 5432 byte(s)
Log Message:
Added zConstraint into the BASS language syntax.

File Contents

# User Rev Content
1 mmeineke 377 #ifndef __GLOBALS_H__
2     #define __GLOBALS_H__
3    
4     #include <cstdlib>
5 tim 659 #include <vector>
6 mmeineke 377
7     #include "BASS_interface.h"
8     #include "Component.hpp"
9     #include "LinkedCommand.hpp"
10     #include "MakeStamps.hpp"
11 mmeineke 675 #include "ZconStamp.hpp"
12 mmeineke 377
13 tim 659 using namespace std;
14    
15 mmeineke 377 class Globals{
16    
17     public:
18    
19     Globals();
20     ~Globals();
21    
22     int newComponent( event* the_event );
23     int componentAssign( event* the_event );
24     int componentEnd( event* the_event );
25 mmeineke 675
26     int newZconstraint( event* the_event );
27     int zConstraintAssign( event* the_event );
28     int zConstraintEnd( event* the_event );
29 mmeineke 377
30     int globalAssign( event* the_event );
31     int globalEnd( event* the_event );
32    
33     char* getForceField( void ) { return force_field; }
34     int getNComponents( void ) { return n_components; }
35     double getTargetTemp( void ) { return target_temp; }
36 gezelter 465 double getTargetPressure( void ) { return target_pressure; }
37 gezelter 474 double getQmass( void ) { return q_mass; }
38 gezelter 481 double getTauThermostat( void ) { return tau_thermostat; }
39     double getTauBarostat( void ) { return tau_barostat; }
40 mmeineke 377 char* getEnsemble( void ) { return ensemble; }
41     double getDt( void ) { return dt; }
42     double getRunTime( void ) { return run_time; }
43    
44 mmeineke 675
45     int getNzConstraints( void ) { return n_zConstraints; }
46 mmeineke 377 char* getInitialConfig( void ) { return initial_config; }
47     char* getFinalConfig( void ) { return final_config; }
48     int getNMol( void ) { return n_mol; }
49     double getDensity( void ) { return density; }
50     double getBox( void ) { return box; }
51     double getBoxX( void ) { return box_x; }
52     double getBoxY( void ) { return box_y; }
53     double getBoxZ( void ) { return box_z; }
54     double getSampleTime( void ) { return sample_time; }
55     double getStatusTime( void ) { return status_time; }
56     double getThermalTime( void ) { return thermal_time; }
57     double getDielectric( void ) { return dielectric; }
58 gezelter 394 double getECR( void) { return ecr; }
59     double getEST( void) { return est; }
60 mmeineke 377 int getTempSet( void ) { return tempSet; }
61     int getPBC( void ) { return usePBC;}
62 gezelter 394 int getUseRF( void ) { return useRF;}
63 mmeineke 377 char* getMixingRule( void) { return mixingRule;}
64 tim 659 double getZConsTime(void) { return zcons_time;}
65 mmeineke 377
66     short int haveInitialConfig( void ) { return have_initial_config; }
67     short int haveFinalConfig( void ) { return have_final_config; }
68     short int haveNMol( void ) { return have_n_mol; }
69     short int haveDensity( void ) { return have_density; }
70     short int haveBox( void ) { return have_box; }
71     short int haveBoxX( void ) { return have_box_x; }
72     short int haveBoxY( void ) { return have_box_y; }
73     short int haveBoxZ( void ) { return have_box_z; }
74     short int haveSampleTime( void ) { return have_sample_time; }
75     short int haveStatusTime( void ) { return have_status_time; }
76     short int haveThermalTime( void ) { return have_thermal_time; }
77 gezelter 394 short int haveECR( void ) { return have_ecr; }
78     short int haveEST( void ) { return have_est; }
79 mmeineke 377 short int haveDielectric( void ) { return have_dielectric; }
80     short int haveTempSet( void ) { return have_tempSet; }
81 gezelter 474 short int haveTargetPressure( void ){ return have_target_pressure; }
82     short int haveQmass( void ) { return have_q_mass; }
83 gezelter 481 short int haveTauThermostat( void ) { return have_tau_thermostat;}
84     short int haveTauBarostat( void ) { return have_tau_barostat;}
85 mmeineke 675 short int haveZconstraintTime(void) { return have_zcon_time; }
86     short int haveZconstraints( void ) { return have_zConstraints;}
87 mmeineke 377
88     /* other accessors */
89     Component** getComponents( void ) { return components; }
90 mmeineke 675 ZconStamp** getZconstraints( void ) { return zConstraints; }
91 mmeineke 377
92     private:
93    
94     static const int hash_size = 23;
95     static const int hash_shift = 4;
96     int hash( char* text );
97     void addHash( char* text, int token );
98     LinkedCommand** command_table;
99    
100     char* checkMe( void );
101    
102     Component* current_component;
103     Component** components; // the array of components
104 mmeineke 675
105     ZconStamp* current_zConstraint;
106     ZconStamp** zConstraints; // the array of zConstraints
107    
108 mmeineke 377 char force_field[100];
109     int n_components;
110 mmeineke 675 int n_zConstraints;
111 mmeineke 377 double target_temp;
112 gezelter 465 double target_pressure;
113 mmeineke 377 char ensemble[100];
114     char mixingRule[100];
115     double dt;
116     double run_time;
117     char initial_config[120];
118     char final_config[120];
119     int n_mol;
120     double density;
121     double box;
122     double box_x, box_y, box_z;
123     double sample_time;
124     double status_time;
125     double thermal_time;
126 gezelter 394 double ecr;
127     double est;
128 mmeineke 377 double dielectric;
129     int tempSet;
130     int usePBC;
131 gezelter 394 int useRF;
132 gezelter 474 double q_mass;
133 gezelter 481 double tau_thermostat;
134     double tau_barostat;
135 tim 659 double zcons_time;
136 mmeineke 377
137     //required arguments
138     short int have_force_field, have_n_components, have_target_temp;
139 gezelter 465 short int have_target_pressure, have_ensemble, have_dt, have_run_time;
140 mmeineke 377
141     // optional arguments
142     short int have_initial_config, have_final_config, have_n_mol;
143     short int have_density, have_box, have_box_x, have_box_y, have_box_z;
144 gezelter 394 short int have_sample_time, have_status_time, have_ecr, have_dielectric;
145 gezelter 474 short int have_tempSet, have_thermal_time, have_est, have_q_mass;
146 gezelter 481 short int have_tau_thermostat, have_tau_barostat;
147 mmeineke 675 short int have_zcon_time, have_zConstraints, have_n_zConstraints;
148 mmeineke 377
149     };
150    
151     #endif