Changeset 5068697 in sasview for sansmodels/src/sans/models/c_models


Ignore:
Timestamp:
Jun 26, 2009 3:49:03 PM (15 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
27a0771
Parents:
f41b4c3
Message:

add 1d models

Location:
sansmodels/src/sans/models/c_models
Files:
7 added
2 edited

Legend:

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

    r8a48713 r5068697  
    2121void addCEllipsoidModel(PyObject *module); 
    2222void addCEllipticalCylinderModel(PyObject *module); 
     23void addCTriaxialEllipsoidModel(PyObject *module); 
     24void addCFlexibleCylinderModel(PyObject *module); 
     25void addCStackedDisksModel(PyObject *module); 
    2326 
    2427extern "C" { 
     
    161164        addCDiamCylFunc(m); 
    162165        addCEllipticalCylinderModel(m); 
     166        addCTriaxialEllipsoidModel(m); 
     167        addCFlexibleCylinderModel(m); 
     168        addCStackedDisksModel(m); 
    163169        addDisperser(m); 
    164170        addCGaussian(m); 
  • sansmodels/src/sans/models/c_models/models.hh

    r8a48713 r5068697  
    267267}; 
    268268 
     269class TriaxialEllipsoidModel{ 
     270public: 
     271        // Model parameters 
     272        Parameter scale; 
     273        Parameter semi_axisA; 
     274        Parameter semi_axisB; 
     275        Parameter semi_axisC; 
     276        Parameter contrast; 
     277        Parameter background; 
     278        Parameter axis_theta; 
     279        Parameter axis_phi; 
     280         
     281        // Constructor 
     282        TriaxialEllipsoidModel(); 
     283 
     284        // Operators to get I(Q) 
     285        double operator()(double q); 
     286        double operator()(double qx, double qy); 
     287        double evaluate_rphi(double q, double phi); 
     288}; 
     289 
     290class FlexibleCylinderModel{ 
     291public: 
     292        // Model parameters 
     293        Parameter scale; 
     294        Parameter length; 
     295        Parameter kuhn_length; 
     296        Parameter radius; 
     297        Parameter contrast; 
     298        Parameter background; 
     299        Parameter axis_theta; 
     300        Parameter axis_phi; 
     301         
     302        // Constructor 
     303        FlexibleCylinderModel(); 
     304 
     305        // Operators to get I(Q) 
     306        double operator()(double q); 
     307        double operator()(double qx, double qy); 
     308        double evaluate_rphi(double q, double phi); 
     309}; 
     310 
     311class StackedDisksModel{ 
     312public: 
     313        // Model parameters 
     314        Parameter scale; 
     315        Parameter length; 
     316        Parameter radius; 
     317        Parameter thickness; 
     318        Parameter core_sld; 
     319        Parameter layer_sld; 
     320        Parameter solvent_sld; 
     321        Parameter nlayers; 
     322        Parameter spacing; 
     323        Parameter background; 
     324        Parameter axis_theta; 
     325        Parameter axis_phi; 
     326         
     327        // Constructor 
     328        StackedDisksModel(); 
     329 
     330        // Operators to get I(Q) 
     331        double operator()(double q); 
     332        double operator()(double qx, double qy); 
     333        double evaluate_rphi(double q, double phi); 
     334}; 
    269335#endif 
Note: See TracChangeset for help on using the changeset viewer.