hkl-sample

hkl-sample

Synopsis

                    HklSample;
                    HklSampleReflection;
                    HklSampleList;
enum                HklSampleType;
HklSample *         hkl_sample_new                      (char const *name,
                                                         HklSampleType type);
HklSample *         hkl_sample_new_copy                 (HklSample const *self);
void                hkl_sample_free                     (HklSample *self);
void                hkl_sample_set_name                 (HklSample *self,
                                                         char const *name);
int                 hkl_sample_set_lattice              (HklSample *self,
                                                         double a,
                                                         double b,
                                                         double c,
                                                         double alpha,
                                                         double beta,
                                                         double gamma);
int                 hkl_sample_set_U_from_euler         (HklSample *self,
                                                         double x,
                                                         double y,
                                                         double z);
void                hkl_sample_get_UB                   (HklSample *self,
                                                         HklMatrix *UB);
double              hkl_sample_set_UB                   (HklSample *self,
                                                         const HklMatrix *UB);
HklSampleReflection * hkl_sample_add_reflection         (HklSample *self,
                                                         HklGeometry *geometry,
                                                         HklDetector const *detector,
                                                         double h,
                                                         double k,
                                                         double l);
HklSampleReflection * hkl_sample_get_ith_reflection     (HklSample const *self,
                                                         size_t idx);
int                 hkl_sample_del_reflection           (HklSample *self,
                                                         size_t idx);
int                 hkl_sample_compute_UB_busing_levy   (HklSample *self,
                                                         size_t idx1,
                                                         size_t idx2);
double              hkl_sample_affine                   (HklSample *sample);
double              hkl_sample_get_reflection_mesured_angle
                                                        (HklSample const *self,
                                                         size_t idx1,
                                                         size_t idx2);
double              hkl_sample_get_reflection_theoretical_angle
                                                        (HklSample const *self,
                                                         size_t idx1,
                                                         size_t idx2);
void                hkl_sample_fprintf                  (FILE *f,
                                                         HklSample const *self);
void                hkl_sample_reflection_set_hkl       (HklSampleReflection *self,
                                                         double h,
                                                         double k,
                                                         double l);
void                hkl_sample_reflection_set_flag      (HklSampleReflection *self,
                                                         int flag);
void                hkl_sample_reflection_set_geometry  (HklSampleReflection *self,
                                                         HklGeometry *geometry);
HklSampleList *     hkl_sample_list_new                 (void);
void                hkl_sample_list_free                (HklSampleList *self);
HklSample *         hkl_sample_list_append              (HklSampleList *self,
                                                         HklSample *sample);
void                hkl_sample_list_clear               (HklSampleList *self);
void                hkl_sample_list_del                 (HklSampleList *self,
                                                         HklSample *sample);
size_t              hkl_sample_list_len                 (HklSampleList const *self);
HklSample *         hkl_sample_list_get_ith             (HklSampleList *self,
                                                         size_t idx);
HklSample *         hkl_sample_list_get_by_name         (HklSampleList *self,
                                                         char const *name);
size_t              hkl_sample_list_get_idx_from_name   (HklSampleList *self,
                                                         char const *name);
int                 hkl_sample_list_select_current      (HklSampleList *self,
                                                         char const *name);
void                hkl_sample_list_fprintf             (FILE *f,
                                                         HklSampleList const *self);

Description

Details

HklSample

typedef struct {
	char *name;
	HklSampleType type;
	HklLattice *lattice;
	HklMatrix U;
	HklMatrix UB;
	HklParameter *ux;
	HklParameter *uy;
	HklParameter *uz;
	HKL_LIST(HklSampleReflection *, reflections);
} HklSample;


HklSampleReflection

typedef struct {
	HklGeometry *geometry;
	HklDetector detector;
	HklVector hkl;
	HklVector _hkl;
	int flag;
} HklSampleReflection;


HklSampleList

typedef struct {
	HKL_LIST(HklSample *, samples);
	HklSample *current;
} HklSampleList;


enum HklSampleType

enum HklSampleType {
	HKL_SAMPLE_TYPE_MONOCRYSTAL
};


hkl_sample_new ()

HklSample *         hkl_sample_new                      (char const *name,
                                                         HklSampleType type);

name :

type :

Returns :


hkl_sample_new_copy ()

HklSample *         hkl_sample_new_copy                 (HklSample const *self);

self :

Returns :


hkl_sample_free ()

void                hkl_sample_free                     (HklSample *self);

self :


hkl_sample_set_name ()

void                hkl_sample_set_name                 (HklSample *self,
                                                         char const *name);

self :

name :


hkl_sample_set_lattice ()

int                 hkl_sample_set_lattice              (HklSample *self,
                                                         double a,
                                                         double b,
                                                         double c,
                                                         double alpha,
                                                         double beta,
                                                         double gamma);

self :

a :

b :

c :

alpha :

beta :

gamma :

Returns :


hkl_sample_set_U_from_euler ()

int                 hkl_sample_set_U_from_euler         (HklSample *self,
                                                         double x,
                                                         double y,
                                                         double z);

self :

x :

y :

z :

Returns :


hkl_sample_get_UB ()

void                hkl_sample_get_UB                   (HklSample *self,
                                                         HklMatrix *UB);

self :

UB :


hkl_sample_set_UB ()

double              hkl_sample_set_UB                   (HklSample *self,
                                                         const HklMatrix *UB);

self :

UB :

Returns :


hkl_sample_add_reflection ()

HklSampleReflection * hkl_sample_add_reflection         (HklSample *self,
                                                         HklGeometry *geometry,
                                                         HklDetector const *detector,
                                                         double h,
                                                         double k,
                                                         double l);

self :

geometry :

detector :

h :

k :

l :

Returns :


hkl_sample_get_ith_reflection ()

HklSampleReflection * hkl_sample_get_ith_reflection     (HklSample const *self,
                                                         size_t idx);

self :

idx :

Returns :


hkl_sample_del_reflection ()

int                 hkl_sample_del_reflection           (HklSample *self,
                                                         size_t idx);

self :

idx :

Returns :


hkl_sample_compute_UB_busing_levy ()

int                 hkl_sample_compute_UB_busing_levy   (HklSample *self,
                                                         size_t idx1,
                                                         size_t idx2);

self :

idx1 :

idx2 :

Returns :


hkl_sample_affine ()

double              hkl_sample_affine                   (HklSample *sample);

sample :

Returns :


hkl_sample_get_reflection_mesured_angle ()

double              hkl_sample_get_reflection_mesured_angle
                                                        (HklSample const *self,
                                                         size_t idx1,
                                                         size_t idx2);

self :

idx1 :

idx2 :

Returns :


hkl_sample_get_reflection_theoretical_angle ()

double              hkl_sample_get_reflection_theoretical_angle
                                                        (HklSample const *self,
                                                         size_t idx1,
                                                         size_t idx2);

self :

idx1 :

idx2 :

Returns :


hkl_sample_fprintf ()

void                hkl_sample_fprintf                  (FILE *f,
                                                         HklSample const *self);

f :

self :


hkl_sample_reflection_set_hkl ()

void                hkl_sample_reflection_set_hkl       (HklSampleReflection *self,
                                                         double h,
                                                         double k,
                                                         double l);

self :

h :

k :

l :


hkl_sample_reflection_set_flag ()

void                hkl_sample_reflection_set_flag      (HklSampleReflection *self,
                                                         int flag);

self :

flag :


hkl_sample_reflection_set_geometry ()

void                hkl_sample_reflection_set_geometry  (HklSampleReflection *self,
                                                         HklGeometry *geometry);

self :

geometry :


hkl_sample_list_new ()

HklSampleList *     hkl_sample_list_new                 (void);

Returns :


hkl_sample_list_free ()

void                hkl_sample_list_free                (HklSampleList *self);

self :


hkl_sample_list_append ()

HklSample *         hkl_sample_list_append              (HklSampleList *self,
                                                         HklSample *sample);

self :

sample :

Returns :


hkl_sample_list_clear ()

void                hkl_sample_list_clear               (HklSampleList *self);

self :


hkl_sample_list_del ()

void                hkl_sample_list_del                 (HklSampleList *self,
                                                         HklSample *sample);

self :

sample :


hkl_sample_list_len ()

size_t              hkl_sample_list_len                 (HklSampleList const *self);

self :

Returns :


hkl_sample_list_get_ith ()

HklSample *         hkl_sample_list_get_ith             (HklSampleList *self,
                                                         size_t idx);

self :

idx :

Returns :


hkl_sample_list_get_by_name ()

HklSample *         hkl_sample_list_get_by_name         (HklSampleList *self,
                                                         char const *name);

self :

name :

Returns :


hkl_sample_list_get_idx_from_name ()

size_t              hkl_sample_list_get_idx_from_name   (HklSampleList *self,
                                                         char const *name);

self :

name :

Returns :


hkl_sample_list_select_current ()

int                 hkl_sample_list_select_current      (HklSampleList *self,
                                                         char const *name);

self :

name :

Returns :


hkl_sample_list_fprintf ()

void                hkl_sample_list_fprintf             (FILE *f,
                                                         HklSampleList const *self);

f :

self :