|
funkalicious 0.1
|
00001 /**Args for dc_sweep_n_slice 00002 00003 00004 Copyright (C) 2011 Joseph Pingenot 00005 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU Affero General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU Affero General Public License for more details. 00015 00016 You should have received a copy of the GNU Affero General Public License 00017 along with this program. If not, see <http://www.gnu.org/licenses/>. 00018 00019 */ 00020 00021 #include <libdotcode/dotcode_data.h> 00022 #include <libpostproc/lp_wavefunction.h> 00023 #include <glib-2.0/glib.h> 00024 00025 struct args { 00026 /**If true, x is (110) and y is (-110)*/ 00027 gboolean use_110_coordinates; 00028 gboolean sweeps[3]; 00029 /**Axes to print out; 0->X 1->Y 2->z*/ 00030 gboolean axes[3]; 00031 /**Planes to print out; 0->XY 1->XZ 2->Yz*/ 00032 gboolean planes[3]; 00033 /**If true, print out the point of max probability. Otherwise, print the requested point. */ 00034 gboolean use_max_probability_point; 00035 /**If true, use the requested gridsite, else use the requested point*/ 00036 gboolean use_gridsite; 00037 /**Grid site at which to get the wavefunction*/ 00038 int gridsite[3]; 00039 /**Point site at which to get the wavefunction*/ 00040 double point[3]; 00041 /**If NULL, use the straight probability density. Else print out the requested point for each requested band.*/ 00042 GList* bands; 00043 /**List of struct wavefunction* containing the list of wavefunctions to print.*/ 00044 GList* wavefunctions; 00045 }; 00046 00047 00048 /**Parses the options and sets up the args struct. 00049 *\param argc from main 00050 *\param argv from main 00051 *\param args pointer to struct to initialize 00052 *\param err pointer to pointer to GError to return error information (if any) 00053 *\not GError code will be set to 1 if the user requested version information. 00054 */ 00055 void get_args(int argc, char** argv, struct args* args, GError **err);