#!/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 gaussian.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 CGaussian import copy class Gaussian(CGaussian, BaseComponent): """ Class that evaluates a Gaussian model. This file was auto-generated from gaussian.h. Refer to that file and the structure it contains for details of the model. List of default parameters: scale = 1.0 sigma = 1.0 center = 0.0 """ def __init__(self): """ Initialization """ # Initialize BaseComponent first, then sphere BaseComponent.__init__(self) CGaussian.__init__(self) ## Name of the model self.name = "Gaussian" self.description= """f(x)=scale * 1/(sigma^2*2pi)e^(-(x-mu)^2/2sigma^2)""" ## Parameter details [units, min, max] self.details = {} self.details['scale'] = ['', None, None] self.details['sigma'] = ['', None, None] self.details['center'] = ['', None, None] def clone(self): """ Return a identical copy of self """ obj = Gaussian() 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 CGaussian.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 CGaussian.runXY(self, x) # End of file