ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Globals.hpp
Revision: 689
Committed: Tue Aug 12 19:56:49 2003 UTC (20 years, 11 months ago) by tim
File size: 5738 byte(s)
Log Message:
debugging globals

File Contents

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