From 8480f586139f18c74304acb5c298bd5a154064c4 Mon Sep 17 00:00:00 2001 From: picca Date: Thu, 22 Jan 2015 14:21:34 +0100 Subject: [PATCH] [hkl] factorize the double_diffraction_parameters (with description) --- hkl/hkl-engine-e4c.c | 9 ++------- hkl/hkl-engine-e6c.c | 17 ++++------------- hkl/hkl-engine-k4c.c | 8 ++------ hkl/hkl-engine-k6c.c | 32 ++++++++------------------------ hkl/hkl-pseudoaxis-common-hkl-private.h | 19 +++++++++++++++++++ 5 files changed, 35 insertions(+), 50 deletions(-) diff --git a/hkl/hkl-engine-e4c.c b/hkl/hkl-engine-e4c.c index 21637b87..023215d8 100644 --- a/hkl/hkl-engine-e4c.c +++ b/hkl/hkl-engine-e4c.c @@ -104,14 +104,9 @@ static HklMode *double_diffraction(void) { static const char* axes[] = {"omega", "chi", "phi", "tth"}; static const HklFunction *functions[] = {&double_diffraction_func}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes, axes, functions, - parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes, axes, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, diff --git a/hkl/hkl-engine-e6c.c b/hkl/hkl-engine-e6c.c index 4de5855c..e045fa07 100644 --- a/hkl/hkl-engine-e6c.c +++ b/hkl/hkl-engine-e6c.c @@ -174,13 +174,9 @@ static HklMode *double_diffraction_vertical(void) static const char* axes_r[] = {"mu", "omega", "chi", "phi", "gamma", "delta"}; static const char* axes_w[] = {"omega", "chi", "phi", "delta"}; static const HklFunction *functions[] = {&double_diffraction_func}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, @@ -207,13 +203,9 @@ static HklMode *double_diffraction_horizontal(void) static const char* axes_r[] = {"mu", "omega", "chi", "phi", "gamma", "delta"}; static const char* axes_w[] = {"mu", "chi", "phi", "gamma"}; static const HklFunction *functions[] = {&double_diffraction_func}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, @@ -396,4 +388,3 @@ static HklEngineList *hkl_engine_list_new_eulerian6C(const HklFactory *factory) } REGISTER_DIFFRACTOMETER(eulerian6C, "E6C", HKL_GEOMETRY_EULERIAN6C_DESCRIPTION); - diff --git a/hkl/hkl-engine-k4c.c b/hkl/hkl-engine-k4c.c index e6af2fea..5f09d8cb 100644 --- a/hkl/hkl-engine-k4c.c +++ b/hkl/hkl-engine-k4c.c @@ -310,13 +310,9 @@ static HklMode *double_diffraction(void) { static const char* axes[] = {"komega", "kappa", "kphi", "tth"}; static const HklFunction *functions[] = {&double_diffraction_func}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes, axes, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes, axes, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, diff --git a/hkl/hkl-engine-k6c.c b/hkl/hkl-engine-k6c.c index a98f791e..3b633c88 100644 --- a/hkl/hkl-engine-k6c.c +++ b/hkl/hkl-engine-k6c.c @@ -483,13 +483,9 @@ static HklMode *double_diffraction_vertical(void) static const char* axes_r[] = {"mu", "komega", "kappa", "kphi", "gamma", "delta"}; static const char* axes_w[] = {"komega", "kappa", "kphi", "delta"}; static const HklFunction *functions[] = {&double_diffraction_func}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, @@ -547,13 +543,9 @@ static HklMode *double_diffraction_horizontal(void) static const char* axes_r[] = {"mu", "komega", "kappa", "kphi", "gamma", "delta"}; static const char* axes_w[] = {"mu", "komega", "kappa", "kphi", "gamma"}; static const HklFunction *functions[] = {&double_diffraction_h}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS(__func__, axes_r, axes_w, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, @@ -752,13 +744,9 @@ static HklMode *double_diffraction_vertical_soleil_sirius_kappa(void) static const char* axes_r[] = {"mu", "komega", "kappa", "kphi", "delta", "gamma"}; static const char* axes_w[] = {"komega", "kappa", "kphi", "gamma"}; static const HklFunction *functions[] = {&double_diffraction_func}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS("double_diffraction_vertical", axes_r, axes_w, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS("double_diffraction_vertical", axes_r, axes_w, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, @@ -816,13 +804,9 @@ static HklMode *double_diffraction_horizontal_soleil_sirius_kappa(void) static const char* axes_r[] = {"mu", "komega", "kappa", "kphi", "delta", "gamma"}; static const char* axes_w[] = {"mu", "komega", "kappa", "kphi", "delta"}; static const HklFunction *functions[] = {&double_diffraction_h}; - static const HklParameter parameters[] = { - {HKL_PARAMETER_DEFAULTS, .name = "h2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "k2", .range = {.min=-1, .max=1}, ._value = 1,}, - {HKL_PARAMETER_DEFAULTS, .name = "l2", .range = {.min=-1, .max=1}, ._value = 1,}, - }; static const HklModeAutoInfo info = { - HKL_MODE_AUTO_INFO_WITH_PARAMS("double_diffraction_horizontal", axes_r, axes_w, functions, parameters), + HKL_MODE_AUTO_INFO_WITH_PARAMS("double_diffraction_horizontal", axes_r, axes_w, + functions, double_diffraction_parameters), }; return hkl_mode_auto_new(&info, diff --git a/hkl/hkl-pseudoaxis-common-hkl-private.h b/hkl/hkl-pseudoaxis-common-hkl-private.h index 2d8ae3b0..a894aee1 100644 --- a/hkl/hkl-pseudoaxis-common-hkl-private.h +++ b/hkl/hkl-pseudoaxis-common-hkl-private.h @@ -104,3 +104,22 @@ static const HklFunction psi_constant_vertical_func = { .function = _psi_constant_vertical_func, .size = 4, }; + +/* outside the mode because used in more than one mode */ +static const HklParameter double_diffraction_parameters[] = { + { + HKL_PARAMETER_DEFAULTS, .name = "h2", ._value = 1, + .description = "h coordinate of the second diffracting plane", + .range = {.min=-1, .max=1}, + }, + { + HKL_PARAMETER_DEFAULTS, .name = "k2", ._value = 1, + .description = "k coordinate of the second diffracting plane", + .range = {.min=-1, .max=1}, + }, + { + HKL_PARAMETER_DEFAULTS, .name = "l2", ._value = 1, + .description = "l coordinate of the second diffracting plane", + .range = {.min=-1, .max=1}, + }, +}; -- 2.11.4.GIT