geometry

geometry

Synopsis

enum                PartialityModel;
RefList *           find_intersections                  (struct image *image,
                                                         Crystal *cryst,
                                                         PartialityModel pmodel);
RefList *           select_intersections                (struct image *image,
                                                         Crystal *cryst);
void                update_partialities                 (Crystal *cryst,
                                                         PartialityModel pmodel);
void                update_partialities_2               (Crystal *cryst,
                                                         PartialityModel pmodel,
                                                         int *n_gained,
                                                         int *n_lost,
                                                         double *mean_p_change);
void                polarisation_correction             (RefList *list,
                                                         UnitCell *cell,
                                                         struct image *image);
#define             LORENTZ_SCALE

Description

Details

enum PartialityModel

typedef enum {
	PMODEL_SPHERE,
	PMODEL_UNITY,
	PMODEL_GAUSSIAN,
	PMODEL_THIN,
	PMODEL_SCSPHERE,
} PartialityModel;

A PartialityModel describes a geometrical model which can be used to calculate spot partialities and Lorentz correction factors.

PMODEL_SPHERE

Intersection of sphere with excited volume of reciprocal space.

PMODEL_UNITY

Set all all partialities and Lorentz factors to 1.

PMODEL_GAUSSIAN

Gaussian profiles in 3D

PMODEL_THIN

Thin Ewald sphere intersecting sphere

PMODEL_SCSPHERE

Sphere model with source coverage factor included

find_intersections ()

RefList *           find_intersections                  (struct image *image,
                                                         Crystal *cryst,
                                                         PartialityModel pmodel);

select_intersections ()

RefList *           select_intersections                (struct image *image,
                                                         Crystal *cryst);

update_partialities ()

void                update_partialities                 (Crystal *cryst,
                                                         PartialityModel pmodel);

update_partialities_2 ()

void                update_partialities_2               (Crystal *cryst,
                                                         PartialityModel pmodel,
                                                         int *n_gained,
                                                         int *n_lost,
                                                         double *mean_p_change);

polarisation_correction ()

void                polarisation_correction             (RefList *list,
                                                         UnitCell *cell,
                                                         struct image *image);

LORENTZ_SCALE

#define LORENTZ_SCALE (0.01e9)