ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/applications/staticProps/StaticPropsCmd.h
Revision: 1390
Committed: Wed Nov 25 20:02:06 2009 UTC (15 years, 5 months ago) by gezelter
Content type: text/plain
File size: 15254 byte(s)
Log Message:
Almost all of the changes necessary to create OpenMD out of our old
project (OOPSE-4)

File Contents

# User Rev Content
1 gezelter 1390 /** @file StaticPropsCmd.h
2     * @brief The header file for the command line option parser
3     * generated by GNU Gengetopt version 2.22
4     * http://www.gnu.org/software/gengetopt.
5     * DO NOT modify this file, since it can be overwritten
6     * @author GNU Gengetopt by Lorenzo Bettini */
7 tim 310
8     #ifndef STATICPROPSCMD_H
9     #define STATICPROPSCMD_H
10    
11     /* If we use autoconf. */
12     #ifdef HAVE_CONFIG_H
13     #include "config.h"
14     #endif
15    
16 gezelter 1390 #include <stdio.h> /* for FILE */
17    
18 tim 310 #ifdef __cplusplus
19     extern "C" {
20     #endif /* __cplusplus */
21    
22     #ifndef CMDLINE_PARSER_PACKAGE
23 gezelter 1390 /** @brief the program name */
24 tim 311 #define CMDLINE_PARSER_PACKAGE "StaticProps"
25 tim 310 #endif
26    
27     #ifndef CMDLINE_PARSER_VERSION
28 gezelter 1390 /** @brief the program version */
29 tim 310 #define CMDLINE_PARSER_VERSION "1.00"
30     #endif
31    
32 gezelter 1390 /** @brief Where the command line options are stored */
33 tim 543 struct gengetopt_args_info
34     {
35 gezelter 1390 const char *help_help; /**< @brief Print help and exit help description. */
36     const char *version_help; /**< @brief Print version and exit help description. */
37     char * input_arg; /**< @brief input dump file. */
38     char * input_orig; /**< @brief input dump file original value given at command line. */
39     const char *input_help; /**< @brief input dump file help description. */
40     char * output_arg; /**< @brief output file name. */
41     char * output_orig; /**< @brief output file name original value given at command line. */
42     const char *output_help; /**< @brief output file name help description. */
43     int step_arg; /**< @brief process every n frame (default='1'). */
44     char * step_orig; /**< @brief process every n frame original value given at command line. */
45     const char *step_help; /**< @brief process every n frame help description. */
46     int nbins_arg; /**< @brief number of bins (general purpose) (default='100'). */
47     char * nbins_orig; /**< @brief number of bins (general purpose) original value given at command line. */
48     const char *nbins_help; /**< @brief number of bins (general purpose) help description. */
49     int nbins_x_arg; /**< @brief number of bins in x axis (default='100'). */
50     char * nbins_x_orig; /**< @brief number of bins in x axis original value given at command line. */
51     const char *nbins_x_help; /**< @brief number of bins in x axis help description. */
52     int nbins_y_arg; /**< @brief number of bins in y axis (default='100'). */
53     char * nbins_y_orig; /**< @brief number of bins in y axis original value given at command line. */
54     const char *nbins_y_help; /**< @brief number of bins in y axis help description. */
55     int nanglebins_arg; /**< @brief number of bins for cos(angle) (default='50'). */
56     char * nanglebins_orig; /**< @brief number of bins for cos(angle) original value given at command line. */
57     const char *nanglebins_help; /**< @brief number of bins for cos(angle) help description. */
58     double length_arg; /**< @brief maximum length (Defaults to 1/2 smallest length of first frame). */
59     char * length_orig; /**< @brief maximum length (Defaults to 1/2 smallest length of first frame) original value given at command line. */
60     const char *length_help; /**< @brief maximum length (Defaults to 1/2 smallest length of first frame) help description. */
61     double rcut_arg; /**< @brief cutoff radius (rcut). */
62     char * rcut_orig; /**< @brief cutoff radius (rcut) original value given at command line. */
63     const char *rcut_help; /**< @brief cutoff radius (rcut) help description. */
64     double zoffset_arg; /**< @brief Where to set the zero for the slab_density calculation (default='0'). */
65     char * zoffset_orig; /**< @brief Where to set the zero for the slab_density calculation original value given at command line. */
66     const char *zoffset_help; /**< @brief Where to set the zero for the slab_density calculation help description. */
67     char * sele1_arg; /**< @brief select the first stuntdouble set. */
68     char * sele1_orig; /**< @brief select the first stuntdouble set original value given at command line. */
69     const char *sele1_help; /**< @brief select the first stuntdouble set help description. */
70     char * sele2_arg; /**< @brief select the second stuntdouble set. */
71     char * sele2_orig; /**< @brief select the second stuntdouble set original value given at command line. */
72     const char *sele2_help; /**< @brief select the second stuntdouble set help description. */
73     char * sele3_arg; /**< @brief select the third stuntdouble set. */
74     char * sele3_orig; /**< @brief select the third stuntdouble set original value given at command line. */
75     const char *sele3_help; /**< @brief select the third stuntdouble set help description. */
76     char * refsele_arg; /**< @brief select reference (use and only use with --gxyz). */
77     char * refsele_orig; /**< @brief select reference (use and only use with --gxyz) original value given at command line. */
78     const char *refsele_help; /**< @brief select reference (use and only use with --gxyz) help description. */
79     char * comsele_arg; /**< @brief select stunt doubles for center-of-mass reference point. */
80     char * comsele_orig; /**< @brief select stunt doubles for center-of-mass reference point original value given at command line. */
81     const char *comsele_help; /**< @brief select stunt doubles for center-of-mass reference point help description. */
82     char * molname_arg; /**< @brief molecule name. */
83     char * molname_orig; /**< @brief molecule name original value given at command line. */
84     const char *molname_help; /**< @brief molecule name help description. */
85     int begin_arg; /**< @brief begin internal index. */
86     char * begin_orig; /**< @brief begin internal index original value given at command line. */
87     const char *begin_help; /**< @brief begin internal index help description. */
88     int end_arg; /**< @brief end internal index. */
89     char * end_orig; /**< @brief end internal index original value given at command line. */
90     const char *end_help; /**< @brief end internal index help description. */
91     double radius_arg; /**< @brief nanoparticle radius. */
92     char * radius_orig; /**< @brief nanoparticle radius original value given at command line. */
93     const char *radius_help; /**< @brief nanoparticle radius help description. */
94     const char *bo_help; /**< @brief bond order parameter (--rcut must be specified) help description. */
95     const char *bor_help; /**< @brief bond order parameter as a function of radius (--rcut must be specified) help description. */
96     const char *bad_help; /**< @brief N(theta) bond angle density within (--rcut must be specified) help description. */
97     const char *gofr_help; /**< @brief g(r) help description. */
98     const char *gofz_help; /**< @brief g(z) help description. */
99     const char *r_theta_help; /**< @brief g(r, cos(theta)) help description. */
100     const char *r_omega_help; /**< @brief g(r, cos(omega)) help description. */
101     const char *theta_omega_help; /**< @brief g(cos(theta), cos(omega)) help description. */
102     const char *gxyz_help; /**< @brief g(x, y, z) help description. */
103     const char *p2_help; /**< @brief p2 order parameter (--sele1 and --sele2 must be specified) help description. */
104     const char *rp2_help; /**< @brief rp2 order parameter (--sele1 and --sele2 must be specified) help description. */
105     const char *scd_help; /**< @brief scd order parameter (either --sele1, --sele2, --sele3 are specified or --molname, --begin, --end are specified) help description. */
106     const char *density_help; /**< @brief density plot help description. */
107     const char *slab_density_help; /**< @brief slab density help description. */
108     const char *hxy_help; /**< @brief hxy help description. */
109     const char *rho_r_help; /**< @brief rho of R help description. */
110     const char *hullvol_help; /**< @brief hull volume of nanoparticle help description. */
111 gezelter 929
112 gezelter 1390 unsigned int help_given ; /**< @brief Whether help was given. */
113     unsigned int version_given ; /**< @brief Whether version was given. */
114     unsigned int input_given ; /**< @brief Whether input was given. */
115     unsigned int output_given ; /**< @brief Whether output was given. */
116     unsigned int step_given ; /**< @brief Whether step was given. */
117     unsigned int nbins_given ; /**< @brief Whether nbins was given. */
118     unsigned int nbins_x_given ; /**< @brief Whether nbins_x was given. */
119     unsigned int nbins_y_given ; /**< @brief Whether nbins_y was given. */
120     unsigned int nanglebins_given ; /**< @brief Whether nanglebins was given. */
121     unsigned int length_given ; /**< @brief Whether length was given. */
122     unsigned int rcut_given ; /**< @brief Whether rcut was given. */
123     unsigned int zoffset_given ; /**< @brief Whether zoffset was given. */
124     unsigned int sele1_given ; /**< @brief Whether sele1 was given. */
125     unsigned int sele2_given ; /**< @brief Whether sele2 was given. */
126     unsigned int sele3_given ; /**< @brief Whether sele3 was given. */
127     unsigned int refsele_given ; /**< @brief Whether refsele was given. */
128     unsigned int comsele_given ; /**< @brief Whether comsele was given. */
129     unsigned int molname_given ; /**< @brief Whether molname was given. */
130     unsigned int begin_given ; /**< @brief Whether begin was given. */
131     unsigned int end_given ; /**< @brief Whether end was given. */
132     unsigned int radius_given ; /**< @brief Whether radius was given. */
133     unsigned int bo_given ; /**< @brief Whether bo was given. */
134     unsigned int bor_given ; /**< @brief Whether bor was given. */
135     unsigned int bad_given ; /**< @brief Whether bad was given. */
136     unsigned int gofr_given ; /**< @brief Whether gofr was given. */
137     unsigned int gofz_given ; /**< @brief Whether gofz was given. */
138     unsigned int r_theta_given ; /**< @brief Whether r_theta was given. */
139     unsigned int r_omega_given ; /**< @brief Whether r_omega was given. */
140     unsigned int theta_omega_given ; /**< @brief Whether theta_omega was given. */
141     unsigned int gxyz_given ; /**< @brief Whether gxyz was given. */
142     unsigned int p2_given ; /**< @brief Whether p2 was given. */
143     unsigned int rp2_given ; /**< @brief Whether rp2 was given. */
144     unsigned int scd_given ; /**< @brief Whether scd was given. */
145     unsigned int density_given ; /**< @brief Whether density was given. */
146     unsigned int slab_density_given ; /**< @brief Whether slab_density was given. */
147     unsigned int hxy_given ; /**< @brief Whether hxy was given. */
148     unsigned int rho_r_given ; /**< @brief Whether rho_r was given. */
149     unsigned int hullvol_given ; /**< @brief Whether hullvol was given. */
150 tim 310
151 gezelter 1390 int staticProps_group_counter; /**< @brief Counter for group staticProps */
152 tim 543 } ;
153 tim 310
154 gezelter 1390 /** @brief The additional parameters to pass to parser functions */
155     struct cmdline_parser_params
156     {
157     int override; /**< @brief whether to override possibly already present options (default 0) */
158     int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */
159     int check_required; /**< @brief whether to check that all required options were provided (default 1) */
160     int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */
161     int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
162     } ;
163    
164     /** @brief the purpose string of the program */
165 chuckv 1128 extern const char *gengetopt_args_info_purpose;
166 gezelter 1390 /** @brief the usage string of the program */
167 chuckv 1128 extern const char *gengetopt_args_info_usage;
168 gezelter 1390 /** @brief all the lines making the help output */
169 chuckv 1128 extern const char *gengetopt_args_info_help[];
170 tim 310
171 gezelter 1390 /**
172     * The command line parser
173     * @param argc the number of command line options
174     * @param argv the command line options
175     * @param args_info the structure where option information will be stored
176     * @return 0 if everything went fine, NON 0 if an error took place
177     */
178 chuckv 1128 int cmdline_parser (int argc, char * const *argv,
179     struct gengetopt_args_info *args_info);
180 gezelter 1390
181     /**
182     * The command line parser (version with additional parameters - deprecated)
183     * @param argc the number of command line options
184     * @param argv the command line options
185     * @param args_info the structure where option information will be stored
186     * @param override whether to override possibly already present options
187     * @param initialize whether to initialize the option structure my_args_info
188     * @param check_required whether to check that all required options were provided
189     * @return 0 if everything went fine, NON 0 if an error took place
190     * @deprecated use cmdline_parser_ext() instead
191     */
192 chuckv 1128 int cmdline_parser2 (int argc, char * const *argv,
193     struct gengetopt_args_info *args_info,
194     int override, int initialize, int check_required);
195 gezelter 1390
196     /**
197     * The command line parser (version with additional parameters)
198     * @param argc the number of command line options
199     * @param argv the command line options
200     * @param args_info the structure where option information will be stored
201     * @param params additional parameters for the parser
202     * @return 0 if everything went fine, NON 0 if an error took place
203     */
204     int cmdline_parser_ext (int argc, char * const *argv,
205     struct gengetopt_args_info *args_info,
206     struct cmdline_parser_params *params);
207    
208     /**
209     * Save the contents of the option struct into an already open FILE stream.
210     * @param outfile the stream where to dump options
211     * @param args_info the option struct to dump
212     * @return 0 if everything went fine, NON 0 if an error took place
213     */
214     int cmdline_parser_dump(FILE *outfile,
215     struct gengetopt_args_info *args_info);
216    
217     /**
218     * Save the contents of the option struct into a (text) file.
219     * This file can be read by the config file parser (if generated by gengetopt)
220     * @param filename the file where to save
221     * @param args_info the option struct to save
222     * @return 0 if everything went fine, NON 0 if an error took place
223     */
224 chuckv 1128 int cmdline_parser_file_save(const char *filename,
225     struct gengetopt_args_info *args_info);
226    
227 gezelter 1390 /**
228     * Print the help
229     */
230 tim 543 void cmdline_parser_print_help(void);
231 gezelter 1390 /**
232     * Print the version
233     */
234 tim 543 void cmdline_parser_print_version(void);
235 tim 310
236 gezelter 1390 /**
237     * Initializes all the fields a cmdline_parser_params structure
238     * to their default values
239     * @param params the structure to initialize
240     */
241     void cmdline_parser_params_init(struct cmdline_parser_params *params);
242    
243     /**
244     * Allocates dynamically a cmdline_parser_params structure and initializes
245     * all its fields to their default values
246     * @return the created and initialized cmdline_parser_params structure
247     */
248     struct cmdline_parser_params *cmdline_parser_params_create(void);
249    
250     /**
251     * Initializes the passed gengetopt_args_info structure's fields
252     * (also set default values for options that have a default)
253     * @param args_info the structure to initialize
254     */
255 gezelter 929 void cmdline_parser_init (struct gengetopt_args_info *args_info);
256 gezelter 1390 /**
257     * Deallocates the string fields of the gengetopt_args_info structure
258     * (but does not deallocate the structure itself)
259     * @param args_info the structure to deallocate
260     */
261 gezelter 929 void cmdline_parser_free (struct gengetopt_args_info *args_info);
262    
263 gezelter 1390 /**
264     * Checks that all the required options were specified
265     * @param args_info the structure to check
266     * @param prog_name the name of the program that will be used to print
267     * possible errors
268     * @return
269     */
270 chuckv 1128 int cmdline_parser_required (struct gengetopt_args_info *args_info,
271     const char *prog_name);
272 gezelter 929
273    
274 tim 310 #ifdef __cplusplus
275     }
276     #endif /* __cplusplus */
277     #endif /* STATICPROPSCMD_H */