Ignore:
Timestamp:
Aug 4, 2009 4:17:28 PM (15 years ago)
Author:
Jae Cho <jhjcho@…>
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:
9188cc1
Parents:
96b59384
Message:

added 2D and corrected polydisp. parameters…

Location:
sansmodels/src/sans/models/c_models
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/c_models/COblateModel.cpp

    r27a0771 r8dc0b746  
    108108        self->model->minor_shell.dispersion->accept_as_source(visitor, self->model->minor_shell.dispersion, disp_dict); 
    109109        PyDict_SetItemString(self->dispersion, "minor_shell", disp_dict); 
    110         disp_dict = PyDict_New(); 
    111         self->model->axis_theta.dispersion->accept_as_source(visitor, self->model->axis_theta.dispersion, disp_dict); 
    112         PyDict_SetItemString(self->dispersion, "axis_theta", disp_dict); 
    113         disp_dict = PyDict_New(); 
    114         self->model->axis_phi.dispersion->accept_as_source(visitor, self->model->axis_phi.dispersion, disp_dict); 
    115         PyDict_SetItemString(self->dispersion, "axis_phi", disp_dict); 
    116110 
    117111 
     
    187181    disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell"); 
    188182    self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict); 
    189     disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta"); 
    190     self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict); 
    191     disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi"); 
    192     self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict); 
    193183 
    194184         
     
    263253    disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell"); 
    264254    self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict); 
    265     disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta"); 
    266     self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict); 
    267     disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi"); 
    268     self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict); 
    269255 
    270256         
     
    330316    } else    if (!strcmp(par_name, "minor_shell")) { 
    331317        self->model->minor_shell.dispersion = dispersion; 
    332     } else    if (!strcmp(par_name, "axis_theta")) { 
    333         self->model->axis_theta.dispersion = dispersion; 
    334     } else    if (!strcmp(par_name, "axis_phi")) { 
    335         self->model->axis_phi.dispersion = dispersion; 
    336318    } else { 
    337319            PyErr_SetString(COblateModelError, 
  • sansmodels/src/sans/models/c_models/CProlateModel.cpp

    r72a90bd r8dc0b746  
    8686        PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000)); 
    8787        PyDict_SetItemString(self->params,"minor_core",Py_BuildValue("d",50.000000)); 
    88         PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.000000)); 
    8988        PyDict_SetItemString(self->params,"sld_solvent",Py_BuildValue("d",0.000006)); 
    90         PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",1.000000)); 
    9189        PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.001000)); 
    9290        PyDict_SetItemString(self->params,"major_shell",Py_BuildValue("d",110.000000)); 
     
    108106        self->model->minor_shell.dispersion->accept_as_source(visitor, self->model->minor_shell.dispersion, disp_dict); 
    109107        PyDict_SetItemString(self->dispersion, "minor_shell", disp_dict); 
    110         disp_dict = PyDict_New(); 
    111         self->model->axis_theta.dispersion->accept_as_source(visitor, self->model->axis_theta.dispersion, disp_dict); 
    112         PyDict_SetItemString(self->dispersion, "axis_theta", disp_dict); 
    113         disp_dict = PyDict_New(); 
    114         self->model->axis_phi.dispersion->accept_as_source(visitor, self->model->axis_phi.dispersion, disp_dict); 
    115         PyDict_SetItemString(self->dispersion, "axis_phi", disp_dict); 
    116108 
    117109 
     
    169161    self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") ); 
    170162    self->model->minor_core = PyFloat_AsDouble( PyDict_GetItemString(self->params, "minor_core") ); 
    171     self->model->axis_theta = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_theta") ); 
    172163    self->model->sld_solvent = PyFloat_AsDouble( PyDict_GetItemString(self->params, "sld_solvent") ); 
    173     self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") ); 
    174164    self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") ); 
    175165    self->model->major_shell = PyFloat_AsDouble( PyDict_GetItemString(self->params, "major_shell") ); 
     
    187177    disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell"); 
    188178    self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict); 
    189     disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta"); 
    190     self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict); 
    191     disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi"); 
    192     self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict); 
    193179 
    194180         
     
    245231    self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") ); 
    246232    self->model->minor_core = PyFloat_AsDouble( PyDict_GetItemString(self->params, "minor_core") ); 
    247     self->model->axis_theta = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_theta") ); 
    248233    self->model->sld_solvent = PyFloat_AsDouble( PyDict_GetItemString(self->params, "sld_solvent") ); 
    249     self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") ); 
    250234    self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") ); 
    251235    self->model->major_shell = PyFloat_AsDouble( PyDict_GetItemString(self->params, "major_shell") ); 
     
    263247    disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell"); 
    264248    self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict); 
    265     disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta"); 
    266     self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict); 
    267     disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi"); 
    268     self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict); 
    269249 
    270250         
     
    330310    } else    if (!strcmp(par_name, "minor_shell")) { 
    331311        self->model->minor_shell.dispersion = dispersion; 
    332     } else    if (!strcmp(par_name, "axis_theta")) { 
    333         self->model->axis_theta.dispersion = dispersion; 
    334     } else    if (!strcmp(par_name, "axis_phi")) { 
    335         self->model->axis_phi.dispersion = dispersion; 
    336312    } else { 
    337313            PyErr_SetString(CProlateModelError, 
  • sansmodels/src/sans/models/c_models/prolate.cpp

    r27a0771 r8dc0b746  
    4545        sld_solvent = Parameter(6.3e-6); 
    4646        background = Parameter(0.0); 
    47         axis_theta  = Parameter(0.0, true); 
    48         axis_phi    = Parameter(0.0, true); 
    4947} 
    5048 
     
    6765        dp[5] = contrast(); 
    6866        dp[6] = sld_solvent(); 
    69         dp[7] = background(); 
    70          
     67        dp[7] = 0.0; 
     68 
    7169        // Get the dispersion points for the major core 
    7270        vector<WeightPoint> weights_major_core; 
     
    106104                                        dp[4] = weights_minor_shell[l].value; 
    107105 
    108                                         sum += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight  
     106                                        sum += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight 
    109107                                                * weights_minor_shell[l].weight * ProlateForm(dp, q); 
    110                                         norm += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight  
     108                                        norm += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight 
    111109                                                        * weights_minor_shell[l].weight; 
    112110                                } 
     
    123121 * @return: function value 
    124122 */ 
     123double ProlateModel :: operator()(double qx, double qy) { 
     124        double q = sqrt(qx*qx + qy*qy); 
     125 
     126        return (*this).operator()(q); 
     127} 
     128 
     129/** 
     130 * Function to evaluate 2D scattering function 
     131 * @param pars: parameters of the prolate 
     132 * @param q: q-value 
     133 * @param phi: angle phi 
     134 * @return: function value 
     135 */ 
     136double ProlateModel :: evaluate_rphi(double q, double phi) { 
     137        return (*this).operator()(q); 
     138} 
     139/* 
    125140double ProlateModel :: operator()(double qx, double qy) { 
    126141        ProlateParameters dp; 
     
    216231} 
    217232 
    218 /** 
    219  * Function to evaluate 2D scattering function 
    220  * @param pars: parameters of the prolate 
    221  * @param q: q-value 
    222  * @param phi: angle phi 
    223  * @return: function value 
    224  */ 
    225 double ProlateModel :: evaluate_rphi(double q, double phi) { 
    226         double qx = q*cos(phi); 
    227         double qy = q*sin(phi); 
    228         return (*this).operator()(qx, qy); 
    229 } 
     233*/ 
Note: See TracChangeset for help on using the changeset viewer.