#!/usr/bin/env python """ Provide functionality for a C extension model WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY DO NOT MODIFY THIS FILE, MODIFY ellipsoid.h AND RE-RUN THE GENERATOR SCRIPT @author: Mathieu Doucet / UTK @contact: mathieu.doucet@nist.gov """ from sans.models.BaseComponent import BaseComponent from sans_extension.c_models import CEllipsoidModel import copy class EllipsoidModel(CEllipsoidModel, BaseComponent): """ Class that evaluates a EllipsoidModel model. This file was auto-generated from ellipsoid.h. Refer to that file and the structure it contains for details of the model. List of default parameters: scale = 1.0 radius_a = 20.0 A radius_b = 400.0 A contrast = 3e-006 A-2 background = 0.0 cm-1 axis_theta = 1.57 rad axis_phi = 0.0 rad """ def __init__(self): """ Initialization """ # Initialize BaseComponent first, then sphere BaseComponent.__init__(self) CEllipsoidModel.__init__(self) ## Name of the model self.name = "EllipsoidModel" ## Parameter details [units, min, max] self.details = {} self.details['scale'] = ['', None, None] self.details['radius_a'] = ['A', None, None] self.details['radius_b'] = ['A', None, None] self.details['contrast'] = ['A-2', None, None] self.details['background'] = ['cm-1', None, None] self.details['axis_theta'] = ['rad', None, None] self.details['axis_phi'] = ['rad', None, None] def clone(self): """ Return a identical copy of self """ obj = EllipsoidModel() obj.params = copy.deepcopy(self.params) return obj def run(self, x = 0.0): """ Evaluate the model @param x: input q, or [q,phi] @return: scattering function P(q) """ return CEllipsoidModel.run(self, x) def runXY(self, x = 0.0): """ Evaluate the model in cartesian coordinates @param x: input q, or [qx, qy] @return: scattering function P(q) """ return CEllipsoidModel.runXY(self, x) # End of file