Changeset 5eb9154 in sasview for sansmodels/src/sans/models/c_models/CTriaxialEllipsoidModel.cpp
- Timestamp:
- Aug 31, 2009 5:25:44 PM (15 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 5be36bb
- Parents:
- 572beba
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/sans/models/c_models/CTriaxialEllipsoidModel.cpp
r870f131 r5eb9154 373 373 } 374 374 } 375 376 /** 377 * Function to call to evaluate model in cartesian coordinates 378 * @param args: input q or [qx, qy]] 379 * @return: function value 380 */ 381 static PyObject * runXY(CTriaxialEllipsoidModel *self, PyObject *args) { 382 double qx_value, qy_value; 375 /** 376 * Function to call to calculate_ER 377 * @return: effective radius value 378 */ 379 static PyObject * calculate_ER(CTriaxialEllipsoidModel *self) { 380 383 381 PyObject* pars; 384 382 int npars; … … 406 404 self->model->axis_psi.dispersion->accept_as_destination(visitor, self->model->axis_psi.dispersion, disp_dict); 407 405 406 407 return Py_BuildValue("d",(*(self->model)).calculate_ER()); 408 409 } 410 /** 411 * Function to call to evaluate model in cartesian coordinates 412 * @param args: input q or [qx, qy]] 413 * @return: function value 414 */ 415 static PyObject * runXY(CTriaxialEllipsoidModel *self, PyObject *args) { 416 double qx_value, qy_value; 417 PyObject* pars; 418 int npars; 419 420 // Get parameters 421 422 // Reader parameter dictionary 423 self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") ); 424 self->model->axis_psi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_psi") ); 425 self->model->axis_theta = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_theta") ); 426 self->model->semi_axisA = PyFloat_AsDouble( PyDict_GetItemString(self->params, "semi_axisA") ); 427 self->model->semi_axisB = PyFloat_AsDouble( PyDict_GetItemString(self->params, "semi_axisB") ); 428 self->model->semi_axisC = PyFloat_AsDouble( PyDict_GetItemString(self->params, "semi_axisC") ); 429 self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") ); 430 self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") ); 431 self->model->contrast = PyFloat_AsDouble( PyDict_GetItemString(self->params, "contrast") ); 432 // Read in dispersion parameters 433 PyObject* disp_dict; 434 DispersionVisitor* visitor = new DispersionVisitor(); 435 disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta"); 436 self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict); 437 disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi"); 438 self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict); 439 disp_dict = PyDict_GetItemString(self->dispersion, "axis_psi"); 440 self->model->axis_psi.dispersion->accept_as_destination(visitor, self->model->axis_psi.dispersion, disp_dict); 441 408 442 409 443 // Get input and determine whether we have to supply a 1D or 2D return value. … … 485 519 {"runXY", (PyCFunction)runXY , METH_VARARGS, 486 520 "Evaluate the model at a given Q or Qx, Qy"}, 521 {"calculate_ER", (PyCFunction)calculate_ER , METH_VARARGS, 522 "Evaluate the model at a given Q or Q, phi"}, 487 523 488 524 {"evalDistribution", (PyCFunction)evalDistribution , METH_VARARGS,
Note: See TracChangeset
for help on using the changeset viewer.