source: sasview/pr_inversion/c_extensions/invertor.h @ ab6098f

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since ab6098f was 896abb3, checked in by Mathieu Doucet <doucetm@…>, 17 years ago

Added docs

  • Property mode set to 100644
File size: 1.6 KB
RevLine 
[9e8dc22]1#if !defined(invertor_h)
2#define invertor_h
3
[896abb3]4/**
5 * Internal data structure for P(r) inversion
6 */
[9e8dc22]7typedef struct {
[896abb3]8        /// Maximum distance between any two points in the system
[9e8dc22]9    double d_max;
[896abb3]10    /// q data
[9e8dc22]11    double *x;
[896abb3]12    /// I(q) data
[9e8dc22]13    double *y;
[896abb3]14    /// dI(q) data
[9e8dc22]15    double *err;
[896abb3]16    /// Number of q points
[9e8dc22]17    int npoints;   
[896abb3]18    /// Number of I(q) points
[9e8dc22]19    int ny;   
[896abb3]20    /// Number of dI(q) points
[eca05c8]21    int nerr; 
[896abb3]22    /// Alpha value
[eca05c8]23    double alpha;
[896abb3]24    /// Minimum q to include in inversion
[f71287f4]25    double q_min;
[896abb3]26    /// Maximum q to include in inversion
[f71287f4]27    double q_max;
[eca05c8]28} Invertor_params; 
[9e8dc22]29
30void invertor_dealloc(Invertor_params *pars);
31
32void invertor_init(Invertor_params *pars);
33
34
35double pr_sphere(double R, double r);
36double ortho(double d_max, int n, double r);
37double ortho_transformed(double d_max, int n, double q);
38double ortho_derived(double d_max, int n, double r);
39double iq(double *c, double d_max, int n_c, double q);
40double pr(double *c, double d_max, int n_c, double r);
[eca05c8]41double dprdr(double *pars, double d_max, int n_c, double r);
[abad620]42double reg_term(double *pars, double d_max, int n_c, int nslice);
43double int_p2(double *pars, double d_max, int n_c, int nslice);
[eca05c8]44void pr_err(double *pars, double *err, double d_max, int n_c, 
45                double r, double *pr_value, double *pr_value_err);
[4f63160]46int npeaks(double *pars, double d_max, int n_c, int nslice);
[43c0a8e]47double positive_integral(double *pars, double d_max, int n_c, int nslice);
48double positive_errors(double *pars, double *err, double d_max, int n_c, int nslice);
[4f63160]49
[9e8dc22]50#endif
Note: See TracBrowser for help on using the repository browser.