|  |  |  | hkl Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
HklPseudoAxis; HklPseudoAxisEngineMode; HklPseudoAxisEngine; HklPseudoAxisEngineList; int (*HklPseudoAxisEngineModeFunc) (HklPseudoAxisEngineMode *self,HklPseudoAxisEngine *engine,HklGeometry *geometry,HklDetector *detector,HklSample *sample,HklError **error); int (*HklFunction) (const gsl_vector *x,void *params,gsl_vector *f); HklPseudoAxis * hkl_pseudo_axis_new (HklParameter const *parameter,HklPseudoAxisEngine *engine); void hkl_pseudo_axis_init (HklPseudoAxis *self,HklParameter const *parameter,HklPseudoAxisEngine *engine); void hkl_pseudo_axis_free (HklPseudoAxis *self); void hkl_pseudo_axis_fprintf (FILE *f,HklPseudoAxis *self); HklPseudoAxisEngineMode * hkl_pseudo_axis_engine_mode_new (char const *name,HklPseudoAxisEngineModeFunc initialize,HklPseudoAxisEngineModeFunc get,HklPseudoAxisEngineModeFunc set,size_t n,...); int hkl_pseudo_axis_engine_mode_init (HklPseudoAxisEngineMode *self,char const *name,HklPseudoAxisEngineModeFunc initialize,HklPseudoAxisEngineModeFunc get,HklPseudoAxisEngineModeFunc set,size_t n_func,HklFunction functions[],size_t n_p,HklParameter parameters[],size_t n_axes,char const *axes_names[]); void hkl_pseudo_axis_engine_mode_free (HklPseudoAxisEngineMode *self); HklPseudoAxisEngine * hkl_pseudo_axis_engine_new (char const *name,size_t n,...); void hkl_pseudo_axis_engine_free (HklPseudoAxisEngine *self); void hkl_pseudo_axis_engine_add_mode (HklPseudoAxisEngine *self,HklPseudoAxisEngineMode *mode); void hkl_pseudo_axis_engine_add_geometry (HklPseudoAxisEngine *self,double const x[]); void hkl_pseudo_axis_engine_select_mode (HklPseudoAxisEngine *self,size_t idx); int hkl_pseudo_axis_engine_initialize (HklPseudoAxisEngine *self,HklError **error); int hkl_pseudo_axis_engine_set (HklPseudoAxisEngine *self,HklError **error); int hkl_pseudo_axis_engine_get (HklPseudoAxisEngine *self,HklError **error); void hkl_pseudo_axis_engine_fprintf (FILE *f,HklPseudoAxisEngine const *self); HklPseudoAxisEngineList * hkl_pseudo_axis_engine_list_new (void); void hkl_pseudo_axis_engine_list_free (HklPseudoAxisEngineList *self); int hkl_pseudo_axis_engine_list_add (HklPseudoAxisEngineList *self,HklPseudoAxisEngine *engine); HklPseudoAxisEngine * hkl_pseudo_axis_engine_list_get_by_name (HklPseudoAxisEngineList *self,char const *name); HklPseudoAxis * hkl_pseudo_axis_engine_list_get_pseudo_axis_by_name (HklPseudoAxisEngineList *self,char const *name); void hkl_pseudo_axis_engine_list_clear (HklPseudoAxisEngineList *self); void hkl_pseudo_axis_engine_list_init (HklPseudoAxisEngineList *self,HklGeometry *geometry,HklDetector *detector,HklSample *sample); int hkl_pseudo_axis_engine_list_get (HklPseudoAxisEngineList *self); void hkl_pseudo_axis_engine_list_fprintf (FILE *f,HklPseudoAxisEngineList const *self);
typedef struct {
	char const *name;
	HklPseudoAxisEngineModeFunc initialize;
	HklPseudoAxisEngineModeFunc get;
	HklPseudoAxisEngineModeFunc set;
	HKL_LIST(HklFunction, functions);
	HKL_LIST(HklParameter, parameters);
	HKL_LIST(const char*, axes_names);
	HklGeometry *geometry_init;
	HklDetector *detector_init;
	HklSample *sample_init;
} HklPseudoAxisEngineMode;
typedef struct {
	char const *name;
	HklGeometry *geometry;
	HklDetector *detector;
	HklSample *sample;
	HKL_LIST(HklPseudoAxisEngineMode *, modes);
	HKL_LIST(HklAxis *, axes);
	HKL_LIST(HklPseudoAxis *, pseudoAxes);
	HklPseudoAxisEngineMode *mode;
	HklPseudoAxisEngineList *engines;
} HklPseudoAxisEngine;
typedef struct {
	HKL_LIST(HklPseudoAxisEngine *, engines);
	HklGeometryList *geometries;
	HklGeometry *geometry;
	HklDetector *detector;
	HklSample *sample;
} HklPseudoAxisEngineList;
int (*HklPseudoAxisEngineModeFunc) (HklPseudoAxisEngineMode *self,HklPseudoAxisEngine *engine,HklGeometry *geometry,HklDetector *detector,HklSample *sample,HklError **error);
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Returns : | 
int (*HklFunction) (const gsl_vector *x,void *params,gsl_vector *f);
| 
 | |
| 
 | |
| 
 | |
| Returns : | 
HklPseudoAxis * hkl_pseudo_axis_new (HklParameter const *parameter,HklPseudoAxisEngine *engine);
| 
 | |
| 
 | |
| Returns : | 
void hkl_pseudo_axis_init (HklPseudoAxis *self,HklParameter const *parameter,HklPseudoAxisEngine *engine);
| 
 | |
| 
 | |
| 
 | 
HklPseudoAxisEngineMode * hkl_pseudo_axis_engine_mode_new (char const *name,HklPseudoAxisEngineModeFunc initialize,HklPseudoAxisEngineModeFunc get,HklPseudoAxisEngineModeFunc set,size_t n,...);
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Returns : | 
int hkl_pseudo_axis_engine_mode_init (HklPseudoAxisEngineMode *self,char const *name,HklPseudoAxisEngineModeFunc initialize,HklPseudoAxisEngineModeFunc get,HklPseudoAxisEngineModeFunc set,size_t n_func,HklFunction functions[],size_t n_p,HklParameter parameters[],size_t n_axes,char const *axes_names[]);
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Returns : | 
void                hkl_pseudo_axis_engine_mode_free    (HklPseudoAxisEngineMode *self);
| 
 | 
HklPseudoAxisEngine * hkl_pseudo_axis_engine_new (char const *name,size_t n,...);
| 
 | |
| 
 | |
| 
 | |
| Returns : | 
void hkl_pseudo_axis_engine_add_mode (HklPseudoAxisEngine *self,HklPseudoAxisEngineMode *mode);
| 
 | |
| 
 | 
void hkl_pseudo_axis_engine_add_geometry (HklPseudoAxisEngine *self,double const x[]);
| 
 | |
| 
 | 
void hkl_pseudo_axis_engine_select_mode (HklPseudoAxisEngine *self,size_t idx);
| 
 | |
| 
 | 
int hkl_pseudo_axis_engine_initialize (HklPseudoAxisEngine *self,HklError **error);
| 
 | |
| 
 | |
| Returns : | 
int hkl_pseudo_axis_engine_set (HklPseudoAxisEngine *self,HklError **error);
| 
 | |
| 
 | |
| Returns : | 
int hkl_pseudo_axis_engine_get (HklPseudoAxisEngine *self,HklError **error);
| 
 | |
| 
 | |
| Returns : | 
void hkl_pseudo_axis_engine_fprintf (FILE *f,HklPseudoAxisEngine const *self);
| 
 | |
| 
 | 
HklPseudoAxisEngineList * hkl_pseudo_axis_engine_list_new
                                                        (void);
| Returns : | 
void                hkl_pseudo_axis_engine_list_free    (HklPseudoAxisEngineList *self);
| 
 | 
int hkl_pseudo_axis_engine_list_add (HklPseudoAxisEngineList *self,HklPseudoAxisEngine *engine);
| 
 | |
| 
 | |
| Returns : | 
HklPseudoAxisEngine * hkl_pseudo_axis_engine_list_get_by_name (HklPseudoAxisEngineList *self,char const *name);
| 
 | |
| 
 | |
| Returns : | 
HklPseudoAxis * hkl_pseudo_axis_engine_list_get_pseudo_axis_by_name (HklPseudoAxisEngineList *self,char const *name);
| 
 | |
| 
 | |
| Returns : | 
void                hkl_pseudo_axis_engine_list_clear   (HklPseudoAxisEngineList *self);
| 
 | 
void hkl_pseudo_axis_engine_list_init (HklPseudoAxisEngineList *self,HklGeometry *geometry,HklDetector *detector,HklSample *sample);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
int                 hkl_pseudo_axis_engine_list_get     (HklPseudoAxisEngineList *self);
| 
 | |
| Returns : | 
void hkl_pseudo_axis_engine_list_fprintf (FILE *f,HklPseudoAxisEngineList const *self);
| 
 | |
| 
 |