ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Globals.hpp
Revision: 474
Committed: Mon Apr 7 21:42:19 2003 UTC (21 years, 3 months ago) by gezelter
File size: 4573 byte(s)
Log Message:
Fixes for NPT and NVT

File Contents

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