File: api_sasview.h

package info (click to toggle)
ausaxs 1.1.8-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 72,592 kB
  • sloc: cpp: 49,853; ansic: 6,901; python: 730; makefile: 18
file content (59 lines) | stat: -rw-r--r-- 2,309 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// SPDX-License-Identifier: LGPL-3.0-or-later
// Author: Kristian Lytje

#pragma once

#include <api/api_helper.h>

/**
 * @brief Test the integration of the C++ code with the Python code.
 *        This will simply increment the value of the given pointer by 1.
 */
extern "C" API void test_integration(int* test_value);

/**
 * @brief Start an iterative fit.
 *
 * This will initialize the fit process, converting the given data and PDB coordinates into a
 * dataset and a molecule, respectively. The fit will be performed in steps, allowing SasView to control the fitting process.
*/
// extern "C" API void iterative_fit_start(
//     double* data_q, double* data_I, double* data_Ierr, int n_data,
//     double* pdb_x,  double* pdb_y,  double* pdb_z, 
//     const char** atom_names, const char** residue_names, const char** elements, 
//     int n_pdb, int* return_status
// );

/**
 * @brief Calculate the scattering intensity for the current parameters.
 */
// extern "C" API void iterative_fit_step(double* pars, double* return_I, int* return_status);

/**
 * @brief Finish the iterative fit process.
 *        This will return the final intensity, and write out the model to disk. 
 */
// extern "C" API void iterative_fit_finish(double* pars, double* return_I, int* return_status);

/**
 * @brief Fit the scattering intensity for a structure to the given data.
 *        The return status will be non-zero if an error occurred.
 *        The resulting I(q) values will be stored in the given array.
 */
// extern "C" API void fit_saxs(
//     double* _data_q, double* _data_I, double* _data_Ierr, int _n_data,
//     double* _pdb_x,  double* _pdb_y,  double* _pdb_z, const char** atom_names, 
//     const char** residue_names, const char** elements, int _n_pdb,
//     double* _return_I, int* _return_status
// );

/**
 * @brief Evaluate the I(q) for a given set of q-values and a set of coordinates.
 *        The coordinates are assumed to be in the form of a list of x, y, z, and w values.
 *        The return status will be non-zero if an error occurred.
 *        The resulting I(q) values will be stored in the given array.
 */
extern "C" API void debye_no_ff(
    double* _q, double* _x, double* _y, double* _z, double* _w, 
    int _nq, int _nc, double* _return_Iq, int* _return_status
);