Index: sansmodels/src/sans/models/BCCrystalModel.py
===================================================================
--- sansmodels/src/sans/models/BCCrystalModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,182 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/bcc.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CBCCrystalModel
-import copy    
-
-def create_BCCrystalModel():
-    obj = BCCrystalModel()
-    #CBCCrystalModel.__init__(obj) is called by BCCrystalModel constructor
-    return obj
-
-class BCCrystalModel(CBCCrystalModel, BaseComponent):
-    """ 
-    Class that evaluates a BCCrystalModel model. 
-    This file was auto-generated from ../c_extensions/bcc.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         dnn             = 220.0 [A]
-         d_factor        = 0.06 
-         radius          = 40.0 [A]
-         sldSph          = 3e-06 [1/A^(2)]
-         sldSolv         = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         theta           = 0.0 [deg]
-         phi             = 0.0 [deg]
-         psi             = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CBCCrystalModel.__init__, (self,)) 
-        CBCCrystalModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "BCCrystalModel"
-        ## Model description
-        self.description ="""P(q)=(scale/Vp)*V_lattice*P(q)*Z(q)+bkg where scale is the volume
-		fraction of sphere,
-		Vp = volume of the primary particle,
-		V_lattice = volume correction for
-		for the crystal structure,
-		P(q)= form factor of the sphere (normalized),
-		Z(q)= paracrystalline structure factor
-		for a face centered cubic structure.
-		[Body Centered Cubic ParaCrystal Model]
-		Parameters;
-		scale: volume fraction of spheres
-		bkg:background, R: radius of sphere
-		dnn: Nearest neighbor distance
-		d_factor: Paracrystal distortion factor
-		radius: radius of the spheres
-		sldSph: SLD of the sphere
-		sldSolv: SLD of the solvent
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['dnn'] = ['[A]', None, None]
-        self.details['d_factor'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['sldSph'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['theta'] = ['[deg]', None, None]
-        self.details['phi'] = ['[deg]', None, None]
-        self.details['psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'phi.width', 'psi.width', 'theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['phi', 'psi', 'theta', 'phi.width', 'psi.width', 'theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_BCCrystalModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(BCCrystalModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CBCCrystalModel.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 CBCCrystalModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CBCCrystalModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CBCCrystalModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CBCCrystalModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/BarBellModel.py
===================================================================
--- sansmodels/src/sans/models/BarBellModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,180 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/barbell.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CBarBellModel
-import copy    
-
-def create_BarBellModel():
-    obj = BarBellModel()
-    #CBarBellModel.__init__(obj) is called by BarBellModel constructor
-    return obj
-
-class BarBellModel(CBarBellModel, BaseComponent):
-    """ 
-    Class that evaluates a BarBellModel model. 
-    This file was auto-generated from ../c_extensions/barbell.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         rad_bar         = 20.0 [A]
-         len_bar         = 400.0 [A]
-         rad_bell        = 40.0 [A]
-         sld_barbell     = 1e-06 [1/A^(2)]
-         sld_solv        = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         theta           = 0.0 [deg]
-         phi             = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CBarBellModel.__init__, (self,)) 
-        CBarBellModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "BarBellModel"
-        ## Model description
-        self.description ="""Calculates the scattering from a barbell-shaped cylinder. That is
-		a sphereocylinder with spherical end caps
-		that have a radius larger than that of
-		the cylinder and the center of the end cap
-		radius lies outside of the cylinder.
-		Note: As the length of cylinder(bar) -->0,
-		it becomes a dumbbell.
-		And when rad_bar = rad_bell,
-		it is a spherocylinder.
-		It must be that rad_bar <(=) rad_bell.
-		[Parameters];
-		scale: volume fraction of spheres,
-		background:incoherent background,
-		rad_bar: radius of the cylindrical bar,
-		len_bar: length of the cylindrical bar,
-		rad_bell: radius of the spherical bell,
-		sld_barbell: SLD of the barbell,
-		sld_solv: SLD of the solvent."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['rad_bar'] = ['[A]', None, None]
-        self.details['len_bar'] = ['[A]', None, None]
-        self.details['rad_bell'] = ['[A]', None, None]
-        self.details['sld_barbell'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['theta'] = ['[deg]', None, None]
-        self.details['phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['rad_bar.width', 'len_bar', 'rad_bell', 'phi.width', 'theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['phi', 'theta', 'phi.width', 'theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_BarBellModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(BarBellModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CBarBellModel.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 CBarBellModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CBarBellModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CBarBellModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CBarBellModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/BinaryHSModel.py
===================================================================
--- sansmodels/src/sans/models/BinaryHSModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,168 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/binaryHS.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CBinaryHSModel
-import copy    
-
-def create_BinaryHSModel():
-    obj = BinaryHSModel()
-    #CBinaryHSModel.__init__(obj) is called by BinaryHSModel constructor
-    return obj
-
-class BinaryHSModel(CBinaryHSModel, BaseComponent):
-    """ 
-    Class that evaluates a BinaryHSModel model. 
-    This file was auto-generated from ../c_extensions/binaryHS.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         l_radius        = 100.0 [A]
-         s_radius        = 25.0 [A]
-         vol_frac_ls     = 0.1 
-         vol_frac_ss     = 0.2 
-         ls_sld          = 3.5e-06 [1/A^(2)]
-         ss_sld          = 5e-07 [1/A^(2)]
-         solvent_sld     = 6.36e-06 [1/A^(2)]
-         background      = 0.001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CBinaryHSModel.__init__, (self,)) 
-        CBinaryHSModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "BinaryHSModel"
-        ## Model description
-        self.description =""" Model parameters: l_radius : large radius of binary hard sphere
-		s_radius : small radius of binary hard sphere
-		vol_frac_ls : volume fraction of large spheres
-		vol_frac_ss : volume fraction of small spheres
-		ls_sld: large sphere  scattering length density
-		ss_sld: small sphere scattering length density
-		solvent_sld: solvent scattering length density
-		background: incoherent background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['l_radius'] = ['[A]', None, None]
-        self.details['s_radius'] = ['[A]', None, None]
-        self.details['vol_frac_ls'] = ['', None, None]
-        self.details['vol_frac_ss'] = ['', None, None]
-        self.details['ls_sld'] = ['[1/A^(2)]', None, None]
-        self.details['ss_sld'] = ['[1/A^(2)]', None, None]
-        self.details['solvent_sld'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['l_radius.width', 's_radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_BinaryHSModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(BinaryHSModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CBinaryHSModel.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 CBinaryHSModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CBinaryHSModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CBinaryHSModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CBinaryHSModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CSParallelepipedModel.py
===================================================================
--- sansmodels/src/sans/models/CSParallelepipedModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,190 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/csparallelepiped.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCSParallelepipedModel
-import copy    
-
-def create_CSParallelepipedModel():
-    obj = CSParallelepipedModel()
-    #CCSParallelepipedModel.__init__(obj) is called by CSParallelepipedModel constructor
-    return obj
-
-class CSParallelepipedModel(CCSParallelepipedModel, BaseComponent):
-    """ 
-    Class that evaluates a CSParallelepipedModel model. 
-    This file was auto-generated from ../c_extensions/csparallelepiped.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         shortA          = 35.0 [A]
-         midB            = 75.0 [A]
-         longC           = 400.0 [A]
-         rimA            = 10.0 [A]
-         rimB            = 10.0 [A]
-         rimC            = 10.0 [A]
-         sld_rimA        = 2e-06 [1/A^(2)]
-         sld_rimB        = 4e-06 [1/A^(2)]
-         sld_rimC        = 2e-06 [1/A^(2)]
-         sld_pcore       = 1e-06 [1/A^(2)]
-         sld_solv        = 6e-06 [1/A^(2)]
-         background      = 0.06 [1/cm]
-         parallel_theta  = 0.0 [deg]
-         parallel_phi    = 0.0 [deg]
-         parallel_psi    = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCSParallelepipedModel.__init__, (self,)) 
-        CCSParallelepipedModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CSParallelepipedModel"
-        ## Model description
-        self.description =""" Form factor for a rectangular Shell. Below are the Parameters.
-		scale: scale factor
-		shortA: length of short edge  [A]
-		midB: length of another short edge [A]
-		longC: length of long edge  of the parallelepiped [A]
-		rimA: length of short edge  [A]
-		rimB: length of another short edge [A]
-		rimC: length of long edge  of the parallelepiped [A]
-		sld_rimA: sld of rimA [1/A^(2)]
-		sld_rimB: sld of rimB [1/A^(2)]
-		sld_rimC: sld of rimC [1/A^(2)]
-		sld_core: Pipe_sld [1/A^(2)]
-		sld_solv: solvent_sld [1/A^(2)]
-		background: incoherent Background [1/cm]"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['shortA'] = ['[A]', None, None]
-        self.details['midB'] = ['[A]', None, None]
-        self.details['longC'] = ['[A]', None, None]
-        self.details['rimA'] = ['[A]', None, None]
-        self.details['rimB'] = ['[A]', None, None]
-        self.details['rimC'] = ['[A]', None, None]
-        self.details['sld_rimA'] = ['[1/A^(2)]', None, None]
-        self.details['sld_rimB'] = ['[1/A^(2)]', None, None]
-        self.details['sld_rimC'] = ['[1/A^(2)]', None, None]
-        self.details['sld_pcore'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['parallel_theta'] = ['[deg]', None, None]
-        self.details['parallel_phi'] = ['[deg]', None, None]
-        self.details['parallel_psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['shortA.width', 'midB.width', 'longC.width', 'parallel_phi.width', 'parallel_psi.width', 'parallel_theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['parallel_phi', 'parallel_psi', 'parallel_theta', 'parallel_phi.width', 'parallel_psi.width', 'parallel_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CSParallelepipedModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CSParallelepipedModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCSParallelepipedModel.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 CCSParallelepipedModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCSParallelepipedModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCSParallelepipedModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCSParallelepipedModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CappedCylinderModel.py
===================================================================
--- sansmodels/src/sans/models/CappedCylinderModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,178 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/capcyl.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCappedCylinderModel
-import copy    
-
-def create_CappedCylinderModel():
-    obj = CappedCylinderModel()
-    #CCappedCylinderModel.__init__(obj) is called by CappedCylinderModel constructor
-    return obj
-
-class CappedCylinderModel(CCappedCylinderModel, BaseComponent):
-    """ 
-    Class that evaluates a CappedCylinderModel model. 
-    This file was auto-generated from ../c_extensions/capcyl.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         rad_cyl         = 20.0 [A]
-         len_cyl         = 400.0 [A]
-         rad_cap         = 40.0 [A]
-         sld_capcyl      = 1e-06 [1/A^(2)]
-         sld_solv        = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         theta           = 0.0 [deg]
-         phi             = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCappedCylinderModel.__init__, (self,)) 
-        CCappedCylinderModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CappedCylinderModel"
-        ## Model description
-        self.description ="""Calculates the scattering from a cylinder with spherical section end-caps.
-		That is, a sphereocylinder
-		with end caps that have a radius larger than
-		that of the cylinder and the center of the
-		end cap radius lies within the cylinder.
-		Note: As the length of cylinder -->0,
-		it becomes a ConvexLens.
-		It must be that rad_cyl <(=) rad_cap.
-		[Parameters];
-		scale: volume fraction of spheres,
-		background:incoherent background,
-		rad_cyl: radius of the cylinder,
-		len_cyl: length of the cylinder,
-		rad_cap: radius of the semi-spherical cap,
-		sld_capcyl: SLD of the capped cylinder,
-		sld_solv: SLD of the solvent."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['rad_cyl'] = ['[A]', None, None]
-        self.details['len_cyl'] = ['[A]', None, None]
-        self.details['rad_cap'] = ['[A]', None, None]
-        self.details['sld_capcyl'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['theta'] = ['[deg]', None, None]
-        self.details['phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['rad_cyl.width', 'len_cyl', 'rad_cap', 'phi.width', 'theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['phi', 'theta', 'phi.width', 'theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CappedCylinderModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CappedCylinderModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCappedCylinderModel.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 CCappedCylinderModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCappedCylinderModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCappedCylinderModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCappedCylinderModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CoreFourShellModel.py
===================================================================
--- sansmodels/src/sans/models/CoreFourShellModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,178 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/corefourshell.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCoreFourShellModel
-import copy    
-
-def create_CoreFourShellModel():
-    obj = CoreFourShellModel()
-    #CCoreFourShellModel.__init__(obj) is called by CoreFourShellModel constructor
-    return obj
-
-class CoreFourShellModel(CCoreFourShellModel, BaseComponent):
-    """ 
-    Class that evaluates a CoreFourShellModel model. 
-    This file was auto-generated from ../c_extensions/corefourshell.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         rad_core0       = 60.0 [A]
-         sld_core0       = 6.4e-06 [1/A^(2)]
-         thick_shell1    = 10.0 [A]
-         sld_shell1      = 1e-06 [1/A^(2)]
-         thick_shell2    = 10.0 [A]
-         sld_shell2      = 2e-06 [1/A^(2)]
-         thick_shell3    = 10.0 [A]
-         sld_shell3      = 3e-06 [1/A^(2)]
-         thick_shell4    = 10.0 [A]
-         sld_shell4      = 4e-06 [1/A^(2)]
-         sld_solv        = 6.4e-06 [1/A^(2)]
-         background      = 0.001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCoreFourShellModel.__init__, (self,)) 
-        CCoreFourShellModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CoreFourShellModel"
-        ## Model description
-        self.description =""" Calculates the scattering intensity from a core-4 shell structure.
-		scale = scale factor * volume fraction
-		rad_core0: the radius of the core
-		sld_core0: the SLD of the core
-		thick_shelli: the thickness of the i'th shell from the core
-		sld_shelli: the SLD of the i'th shell from the core
-		sld_solv: the SLD of the solvent
-		background: incoherent background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['rad_core0'] = ['[A]', None, None]
-        self.details['sld_core0'] = ['[1/A^(2)]', None, None]
-        self.details['thick_shell1'] = ['[A]', None, None]
-        self.details['sld_shell1'] = ['[1/A^(2)]', None, None]
-        self.details['thick_shell2'] = ['[A]', None, None]
-        self.details['sld_shell2'] = ['[1/A^(2)]', None, None]
-        self.details['thick_shell3'] = ['[A]', None, None]
-        self.details['sld_shell3'] = ['[1/A^(2)]', None, None]
-        self.details['thick_shell4'] = ['[A]', None, None]
-        self.details['sld_shell4'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['thick_shell4.width', 'thick_shell1.width', 'thick_shell2.width', 'thick_shell3.width', 'rad_core0.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CoreFourShellModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CoreFourShellModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCoreFourShellModel.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 CCoreFourShellModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCoreFourShellModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCoreFourShellModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCoreFourShellModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CoreShellCylinderModel.py
===================================================================
--- sansmodels/src/sans/models/CoreShellCylinderModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,188 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/core_shell_cylinder.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCoreShellCylinderModel
-import copy    
-
-def create_CoreShellCylinderModel():
-    obj = CoreShellCylinderModel()
-    #CCoreShellCylinderModel.__init__(obj) is called by CoreShellCylinderModel constructor
-    return obj
-
-class CoreShellCylinderModel(CCoreShellCylinderModel, BaseComponent):
-    """ 
-    Class that evaluates a CoreShellCylinderModel model. 
-    This file was auto-generated from ../c_extensions/core_shell_cylinder.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         radius          = 20.0 [A]
-         thickness       = 10.0 [A]
-         length          = 400.0 [A]
-         core_sld        = 1e-06 [1/A^(2)]
-         shell_sld       = 4e-06 [1/A^(2)]
-         solvent_sld     = 1e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         axis_theta      = 90.0 [deg]
-         axis_phi        = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCoreShellCylinderModel.__init__, (self,)) 
-        CCoreShellCylinderModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CoreShellCylinderModel"
-        ## Model description
-        self.description ="""P(q,alpha)= scale/Vs*f(q)^(2) + bkg,  where: f(q)= 2(core_sld
-		- solvant_sld)* Vc*sin[qLcos(alpha/2)]
-		/[qLcos(alpha/2)]*J1(qRsin(alpha))
-		/[qRsin(alpha)]+2(shell_sld-solvent_sld)
-		*Vs*sin[q(L+T)cos(alpha/2)][[q(L+T)
-		*cos(alpha/2)]*J1(q(R+T)sin(alpha))
-		/q(R+T)sin(alpha)]
-		
-		alpha:is the angle between the axis of
-		the cylinder and the q-vector
-		Vs: the volume of the outer shell
-		Vc: the volume of the core
-		L: the length of the core
-		shell_sld: the scattering length density
-		of the shell
-		solvent_sld: the scattering length density
-		of the solvent
-		bkg: the background
-		T: the thickness
-		R+T: is the outer radius
-		L+2T: The total length of the outershell
-		J1: the first order Bessel function
-		theta: axis_theta of the cylinder
-		phi: the axis_phi of the cylinder..."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['thickness'] = ['[A]', None, None]
-        self.details['length'] = ['[A]', None, None]
-        self.details['core_sld'] = ['[1/A^(2)]', None, None]
-        self.details['shell_sld'] = ['[1/A^(2)]', None, None]
-        self.details['solvent_sld'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['axis_theta'] = ['[deg]', None, None]
-        self.details['axis_phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['axis_phi.width', 'axis_theta.width', 'length.width', 'radius.width', 'thickness.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['axis_phi', 'axis_theta', 'axis_phi.width', 'axis_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CoreShellCylinderModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CoreShellCylinderModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCoreShellCylinderModel.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 CCoreShellCylinderModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCoreShellCylinderModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCoreShellCylinderModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCoreShellCylinderModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CoreShellEllipsoidModel.py
===================================================================
--- sansmodels/src/sans/models/CoreShellEllipsoidModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,186 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/spheroid.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCoreShellEllipsoidModel
-import copy    
-
-def create_CoreShellEllipsoidModel():
-    obj = CoreShellEllipsoidModel()
-    #CCoreShellEllipsoidModel.__init__(obj) is called by CoreShellEllipsoidModel constructor
-    return obj
-
-class CoreShellEllipsoidModel(CCoreShellEllipsoidModel, BaseComponent):
-    """ 
-    Class that evaluates a CoreShellEllipsoidModel model. 
-    This file was auto-generated from ../c_extensions/spheroid.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         equat_core      = 200.0 [A]
-         polar_core      = 20.0 [A]
-         equat_shell     = 250.0 [A]
-         polar_shell     = 30.0 [A]
-         sld_core        = 2e-06 [1/A^(2)]
-         sld_shell       = 1e-06 [1/A^(2)]
-         sld_solvent     = 6.3e-06 [1/A^(2)]
-         background      = 0.001 [1/cm]
-         axis_theta      = 0.0 [deg]
-         axis_phi        = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCoreShellEllipsoidModel.__init__, (self,)) 
-        CCoreShellEllipsoidModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CoreShellEllipsoidModel"
-        ## Model description
-        self.description ="""[SpheroidCoreShellModel] Calculates the form factor for an spheroid
-		ellipsoid particle with a core_shell structure.
-		The form factor is averaged over all possible
-		orientations of the ellipsoid such that P(q)
-		= scale*<f^2>/Vol + bkg, where f is the
-		single particle scattering amplitude.
-		[Parameters]:
-		equat_core = equatorial radius of core,
-		polar_core = polar radius of core,
-		equat_shell = equatorial radius of shell,
-		polar_shell = polar radius (revolution axis) of shell,
-		sld_core = SLD_core
-		sld_shell = SLD_shell
-		sld_solvent = SLD_solvent
-		background = Incoherent bkg
-		scale =scale
-		Note:It is the users' responsibility to ensure
-		that shell radii are larger than core radii.
-		oblate: polar radius < equatorial radius
-		prolate :  polar radius > equatorial radius"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['equat_core'] = ['[A]', None, None]
-        self.details['polar_core'] = ['[A]', None, None]
-        self.details['equat_shell'] = ['[A]', None, None]
-        self.details['polar_shell'] = ['[A]', None, None]
-        self.details['sld_core'] = ['[1/A^(2)]', None, None]
-        self.details['sld_shell'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solvent'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['axis_theta'] = ['[deg]', None, None]
-        self.details['axis_phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['equat_core.width', 'polar_core.width', 'equat_shell.width', 'polar_shell.width', 'axis_phi.width', 'axis_theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['axis_phi', 'axis_theta', 'axis_phi.width', 'axis_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CoreShellEllipsoidModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CoreShellEllipsoidModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCoreShellEllipsoidModel.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 CCoreShellEllipsoidModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCoreShellEllipsoidModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCoreShellEllipsoidModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCoreShellEllipsoidModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CoreShellModel.py
===================================================================
--- sansmodels/src/sans/models/CoreShellModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,168 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/core_shell.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCoreShellModel
-import copy    
-
-def create_CoreShellModel():
-    obj = CoreShellModel()
-    #CCoreShellModel.__init__(obj) is called by CoreShellModel constructor
-    return obj
-
-class CoreShellModel(CCoreShellModel, BaseComponent):
-    """ 
-    Class that evaluates a CoreShellModel model. 
-    This file was auto-generated from ../c_extensions/core_shell.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         radius          = 60.0 [A]
-         thickness       = 10.0 [A]
-         core_sld        = 1e-06 [1/A^(2)]
-         shell_sld       = 2e-06 [1/A^(2)]
-         solvent_sld     = 3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCoreShellModel.__init__, (self,)) 
-        CCoreShellModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CoreShellModel"
-        ## Model description
-        self.description ="""Form factor for a monodisperse spherical particle with particle
-		with a core-shell structure:
-		
-		The form factor is normalized by the
-		total particle volume.
-		
-		radius: core radius, thickness: shell thickness
-		
-		Ref: Guinier, A. and G. Fournet,
-		John Wiley and Sons, New York, 1955."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['thickness'] = ['[A]', None, None]
-        self.details['core_sld'] = ['[1/A^(2)]', None, None]
-        self.details['shell_sld'] = ['[1/A^(2)]', None, None]
-        self.details['solvent_sld'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['thickness.width', 'radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CoreShellModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CoreShellModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCoreShellModel.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 CCoreShellModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCoreShellModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCoreShellModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCoreShellModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/CylinderModel.py
===================================================================
--- sansmodels/src/sans/models/CylinderModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,173 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/cylinder.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CCylinderModel
-import copy    
-
-def create_CylinderModel():
-    obj = CylinderModel()
-    #CCylinderModel.__init__(obj) is called by CylinderModel constructor
-    return obj
-
-class CylinderModel(CCylinderModel, BaseComponent):
-    """ 
-    Class that evaluates a CylinderModel model. 
-    This file was auto-generated from ../c_extensions/cylinder.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         radius          = 20.0 [A]
-         length          = 400.0 [A]
-         sldCyl          = 4e-06 [1/A^(2)]
-         sldSolv         = 1e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         cyl_theta       = 60.0 [deg]
-         cyl_phi         = 60.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CCylinderModel.__init__, (self,)) 
-        CCylinderModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "CylinderModel"
-        ## Model description
-        self.description =""" f(q)= 2*(sldCyl - sldSolv)*V*sin(qLcos(alpha/2))
-		/[qLcos(alpha/2)]*J1(qRsin(alpha/2))/[qRsin(alpha)]
-		
-		P(q,alpha)= scale/V*f(q)^(2)+bkg
-		V: Volume of the cylinder
-		R: Radius of the cylinder
-		L: Length of the cylinder
-		J1: The bessel function
-		alpha: angle betweenthe axis of the
-		cylinder and the q-vector for 1D
-		:the ouput is P(q)=scale/V*integral
-		from pi/2 to zero of...
-		f(q)^(2)*sin(alpha)*dalpha+ bkg"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['length'] = ['[A]', None, None]
-        self.details['sldCyl'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['cyl_theta'] = ['[deg]', None, None]
-        self.details['cyl_phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['cyl_phi.width', 'cyl_theta.width', 'length.width', 'radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['cyl_phi', 'cyl_theta', 'cyl_phi.width', 'cyl_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_CylinderModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(CylinderModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CCylinderModel.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 CCylinderModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CCylinderModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CCylinderModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CCylinderModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/DiamCylFunc.py
===================================================================
--- sansmodels/src/sans/models/DiamCylFunc.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,152 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/DiamCyl.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CDiamCylFunc
-import copy    
-
-def create_DiamCylFunc():
-    obj = DiamCylFunc()
-    #CDiamCylFunc.__init__(obj) is called by DiamCylFunc constructor
-    return obj
-
-class DiamCylFunc(CDiamCylFunc, BaseComponent):
-    """ 
-    Class that evaluates a DiamCylFunc model. 
-    This file was auto-generated from ../c_extensions/DiamCyl.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         radius          = 20.0 A
-         length          = 400.0 A
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CDiamCylFunc.__init__, (self,)) 
-        CDiamCylFunc.__init__(self)
-        
-        ## Name of the model
-        self.name = "DiamCylFunc"
-        ## Model description
-        self.description ="""To calculate the 2nd virial coefficient for
-		the non-spherical object, then find the
-		radius of sphere that has this value of
-		virial coefficient."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['radius'] = ['A', None, None]
-        self.details['length'] = ['A', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'length.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_DiamCylFunc,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(DiamCylFunc())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CDiamCylFunc.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 CDiamCylFunc.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CDiamCylFunc.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CDiamCylFunc.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CDiamCylFunc.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/DiamEllipFunc.py
===================================================================
--- sansmodels/src/sans/models/DiamEllipFunc.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,156 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/DiamEllip.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CDiamEllipFunc
-import copy    
-
-def create_DiamEllipFunc():
-    obj = DiamEllipFunc()
-    #CDiamEllipFunc.__init__(obj) is called by DiamEllipFunc constructor
-    return obj
-
-class DiamEllipFunc(CDiamEllipFunc, BaseComponent):
-    """ 
-    Class that evaluates a DiamEllipFunc model. 
-    This file was auto-generated from ../c_extensions/DiamEllip.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         radius_a        = 20.0 A
-         radius_b        = 400.0 A
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CDiamEllipFunc.__init__, (self,)) 
-        CDiamEllipFunc.__init__(self)
-        
-        ## Name of the model
-        self.name = "DiamEllipFunc"
-        ## Model description
-        self.description ="""To calculate the 2nd virial coefficient for
-		the non-spherical object, then find the
-		radius of sphere that has this value of
-		virial coefficient:
-		radius_a = polar radius,
-		radius_b = equatorial radius;
-		radius_a > radius_b: Prolate spheroid,
-		radius_a < radius_b: Oblate spheroid."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['radius_a'] = ['A', None, None]
-        self.details['radius_b'] = ['A', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius_a.width', 'radius_b.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_DiamEllipFunc,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(DiamEllipFunc())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CDiamEllipFunc.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 CDiamEllipFunc.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CDiamEllipFunc.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CDiamEllipFunc.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CDiamEllipFunc.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/EllipsoidModel.py
===================================================================
--- sansmodels/src/sans/models/EllipsoidModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,177 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/ellipsoid.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CEllipsoidModel
-import copy    
-
-def create_EllipsoidModel():
-    obj = EllipsoidModel()
-    #CEllipsoidModel.__init__(obj) is called by EllipsoidModel constructor
-    return obj
-
-class EllipsoidModel(CEllipsoidModel, BaseComponent):
-    """ 
-    Class that evaluates a EllipsoidModel model. 
-    This file was auto-generated from ../c_extensions/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]
-         sldEll          = 4e-06 [1/A^(2)]
-         sldSolv         = 1e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         axis_theta      = 90.0 [deg]
-         axis_phi        = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CEllipsoidModel.__init__, (self,)) 
-        CEllipsoidModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "EllipsoidModel"
-        ## Model description
-        self.description =""""P(q.alpha)= scale*f(q)^(2)+ bkg, where f(q)= 3*(sld_ell
-		- sld_solvent)*V*[sin(q*r(Ra,Rb,alpha))
-		-q*r*cos(qr(Ra,Rb,alpha))]
-		/[qr(Ra,Rb,alpha)]^(3)"
-		
-		r(Ra,Rb,alpha)= [Rb^(2)*(sin(alpha))^(2)
-		+ Ra^(2)*(cos(alpha))^(2)]^(1/2)
-		
-		scatter_sld: SLD of the scatter
-		solvent_sld: SLD of the solvent
-		sldEll: SLD of ellipsoid
-		sldSolv: SLD of solvent
-		V: volune of the Eliipsoid
-		Ra: radius along the rotation axis
-		of the Ellipsoid
-		Rb: radius perpendicular to the
-		rotation axis of the ellipsoid"""
-       
-        ## 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['sldEll'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['axis_theta'] = ['[deg]', None, None]
-        self.details['axis_phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['axis_phi.width', 'axis_theta.width', 'radius_a.width', 'radius_b.width', 'length.width', 'r_minor.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['axis_phi.width', 'axis_theta.width', 'axis_phi', 'axis_theta']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_EllipsoidModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(EllipsoidModel())   
-       	
-   
-    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)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CEllipsoidModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CEllipsoidModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CEllipsoidModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/EllipticalCylinderModel.py
===================================================================
--- sansmodels/src/sans/models/EllipticalCylinderModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,170 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/elliptical_cylinder.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CEllipticalCylinderModel
-import copy    
-
-def create_EllipticalCylinderModel():
-    obj = EllipticalCylinderModel()
-    #CEllipticalCylinderModel.__init__(obj) is called by EllipticalCylinderModel constructor
-    return obj
-
-class EllipticalCylinderModel(CEllipticalCylinderModel, BaseComponent):
-    """ 
-    Class that evaluates a EllipticalCylinderModel model. 
-    This file was auto-generated from ../c_extensions/elliptical_cylinder.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         r_minor         = 20.0 [A]
-         r_ratio         = 1.5 
-         length          = 400.0 [A]
-         sldCyl          = 4e-06 [1/A^(2)]
-         sldSolv         = 1e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         cyl_theta       = 90.0 [deg]
-         cyl_phi         = 0.0 [deg]
-         cyl_psi         = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CEllipticalCylinderModel.__init__, (self,)) 
-        CEllipticalCylinderModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "EllipticalCylinderModel"
-        ## Model description
-        self.description =""" Model parameters: r_minor = the radius of minor axis of the cross section
-		r_ratio = the ratio of (r_major /r_minor >= 1)
-		length = the length of the cylinder
-		sldCyl = SLD of the cylinder
-		sldSolv = SLD of solvent -
-		background = incoherent background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['r_minor'] = ['[A]', None, None]
-        self.details['r_ratio'] = ['', None, None]
-        self.details['length'] = ['[A]', None, None]
-        self.details['sldCyl'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['cyl_theta'] = ['[deg]', None, None]
-        self.details['cyl_phi'] = ['[deg]', None, None]
-        self.details['cyl_psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['cyl_phi.width', 'cyl_theta.width', 'cyl_psi.width', 'length.width', 'r_minor.width', 'r_ratio.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['cyl_phi', 'cyl_theta', 'cyl_psi', 'cyl_phi.width', 'cyl_theta.width', 'cyl_psi.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_EllipticalCylinderModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(EllipticalCylinderModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CEllipticalCylinderModel.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 CEllipticalCylinderModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CEllipticalCylinderModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CEllipticalCylinderModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CEllipticalCylinderModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/FCCrystalModel.py
===================================================================
--- sansmodels/src/sans/models/FCCrystalModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,182 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/fcc.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CFCCrystalModel
-import copy    
-
-def create_FCCrystalModel():
-    obj = FCCrystalModel()
-    #CFCCrystalModel.__init__(obj) is called by FCCrystalModel constructor
-    return obj
-
-class FCCrystalModel(CFCCrystalModel, BaseComponent):
-    """ 
-    Class that evaluates a FCCrystalModel model. 
-    This file was auto-generated from ../c_extensions/fcc.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         dnn             = 220.0 [A]
-         d_factor        = 0.06 
-         radius          = 40.0 [A]
-         sldSph          = 3e-06 [1/A^(2)]
-         sldSolv         = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         theta           = 0.0 [deg]
-         phi             = 0.0 [deg]
-         psi             = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CFCCrystalModel.__init__, (self,)) 
-        CFCCrystalModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "FCCrystalModel"
-        ## Model description
-        self.description ="""P(q)=(scale/Vp)*V_lattice*P(q)*Z(q)+bkg where scale is the volume
-		fraction of sphere,
-		Vp = volume of the primary particle,
-		V_lattice = volume correction for
-		for the crystal structure,
-		P(q)= form factor of the sphere (normalized),
-		Z(q)= paracrystalline structure factor
-		for a face centered cubic structure.
-		[Face Centered Cubic ParaCrystal Model]
-		Parameters;
-		scale: volume fraction of spheres
-		bkg:background, R: radius of sphere
-		dnn: Nearest neighbor distance
-		d_factor: Paracrystal distortion factor
-		radius: radius of the spheres
-		sldSph: SLD of the sphere
-		sldSolv: SLD of the solvent
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['dnn'] = ['[A]', None, None]
-        self.details['d_factor'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['sldSph'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['theta'] = ['[deg]', None, None]
-        self.details['phi'] = ['[deg]', None, None]
-        self.details['psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'phi.width', 'psi.width', 'theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['phi', 'psi', 'theta', 'phi.width', 'psi.width', 'theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_FCCrystalModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(FCCrystalModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CFCCrystalModel.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 CFCCrystalModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CFCCrystalModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CFCCrystalModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CFCCrystalModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/FlexCylEllipXModel.py
===================================================================
--- sansmodels/src/sans/models/FlexCylEllipXModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,164 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/flexcyl_ellipX.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CFlexCylEllipXModel
-import copy    
-
-def create_FlexCylEllipXModel():
-    obj = FlexCylEllipXModel()
-    #CFlexCylEllipXModel.__init__(obj) is called by FlexCylEllipXModel constructor
-    return obj
-
-class FlexCylEllipXModel(CFlexCylEllipXModel, BaseComponent):
-    """ 
-    Class that evaluates a FlexCylEllipXModel model. 
-    This file was auto-generated from ../c_extensions/flexcyl_ellipX.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         length          = 1000.0 [A]
-         kuhn_length     = 100.0 [A]
-         radius          = 20.0 [A]
-         axis_ratio      = 1.5 
-         sldCyl          = 1e-06 [1/A^(2)]
-         sldSolv         = 6.3e-06 [1/A^(2)]
-         background      = 0.0001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CFlexCylEllipXModel.__init__, (self,)) 
-        CFlexCylEllipXModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "FlexCylEllipXModel"
-        ## Model description
-        self.description =""" Note : scale and contrast=sldCyl-sldSolv are both multiplicative factors in the
-		model and are perfectly correlated. One or
-		both of these parameters must be held fixed
-		during model fitting."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['length'] = ['[A]', None, None]
-        self.details['kuhn_length'] = ['[A]', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['axis_ratio'] = ['', None, None]
-        self.details['sldCyl'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['length.width', 'kuhn_length.width', 'radius.width', 'axis_ratio.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_FlexCylEllipXModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(FlexCylEllipXModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CFlexCylEllipXModel.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 CFlexCylEllipXModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CFlexCylEllipXModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CFlexCylEllipXModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CFlexCylEllipXModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/FlexibleCylinderModel.py
===================================================================
--- sansmodels/src/sans/models/FlexibleCylinderModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,162 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/flexible_cylinder.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CFlexibleCylinderModel
-import copy    
-
-def create_FlexibleCylinderModel():
-    obj = FlexibleCylinderModel()
-    #CFlexibleCylinderModel.__init__(obj) is called by FlexibleCylinderModel constructor
-    return obj
-
-class FlexibleCylinderModel(CFlexibleCylinderModel, BaseComponent):
-    """ 
-    Class that evaluates a FlexibleCylinderModel model. 
-    This file was auto-generated from ../c_extensions/flexible_cylinder.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         length          = 1000.0 [A]
-         kuhn_length     = 100.0 [A]
-         radius          = 20.0 [A]
-         sldCyl          = 1e-06 [1/A^(2)]
-         sldSolv         = 6.3e-06 [1/A^(2)]
-         background      = 0.0001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CFlexibleCylinderModel.__init__, (self,)) 
-        CFlexibleCylinderModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "FlexibleCylinderModel"
-        ## Model description
-        self.description =""" Note : scale and contrast=sldCyl-sldSolv are both multiplicative factors in the
-		model and are perfectly correlated. One or
-		both of these parameters must be held fixed
-		during model fitting."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['length'] = ['[A]', None, None]
-        self.details['kuhn_length'] = ['[A]', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['sldCyl'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['length.width', 'kuhn_length.width', 'radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_FlexibleCylinderModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(FlexibleCylinderModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CFlexibleCylinderModel.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 CFlexibleCylinderModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CFlexibleCylinderModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CFlexibleCylinderModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CFlexibleCylinderModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/FractalModel.py
===================================================================
--- sansmodels/src/sans/models/FractalModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,169 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/fractal.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CFractalModel
-import copy    
-
-def create_FractalModel():
-    obj = FractalModel()
-    #CFractalModel.__init__(obj) is called by FractalModel constructor
-    return obj
-
-class FractalModel(CFractalModel, BaseComponent):
-    """ 
-    Class that evaluates a FractalModel model. 
-    This file was auto-generated from ../c_extensions/fractal.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 0.05 
-         radius          = 5.0 [A]
-         fractal_dim     = 2.0 
-         cor_length      = 100.0 [A]
-         sldBlock        = 2e-06 [1/A^(2)]
-         sldSolv         = 6.35e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CFractalModel.__init__, (self,)) 
-        CFractalModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "FractalModel"
-        ## Model description
-        self.description =""" The scattering intensity  I(x) = P(|x|)*S(|x|) + background, where
-		p(x)= scale * V * delta^(2)* F(x*radius)^(2)
-		F(x) = 3*[sin(x)-x cos(x)]/x**3
-		where delta = sldBlock -sldSolv.
-		scale        =  scale factor * Volume fraction
-		radius       =  Block radius
-		fractal_dim  =  Fractal dimension
-		cor_length  =  Correlation Length
-		sldBlock    =  SDL block
-		sldSolv  =  SDL solvent
-		background   =  background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['fractal_dim'] = ['', None, None]
-        self.details['cor_length'] = ['[A]', None, None]
-        self.details['sldBlock'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_FractalModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(FractalModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CFractalModel.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 CFractalModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CFractalModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CFractalModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CFractalModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/FuzzySphereModel.py
===================================================================
--- sansmodels/src/sans/models/FuzzySphereModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,166 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/fuzzysphere.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CFuzzySphereModel
-import copy    
-
-def create_FuzzySphereModel():
-    obj = FuzzySphereModel()
-    #CFuzzySphereModel.__init__(obj) is called by FuzzySphereModel constructor
-    return obj
-
-class FuzzySphereModel(CFuzzySphereModel, BaseComponent):
-    """ 
-    Class that evaluates a FuzzySphereModel model. 
-    This file was auto-generated from ../c_extensions/fuzzysphere.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 0.01 
-         radius          = 60.0 [A]
-         fuzziness       = 10.0 [A]
-         sldSph          = 1e-06 [1/A^(2)]
-         sldSolv         = 3e-06 [1/A^(2)]
-         background      = 0.001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CFuzzySphereModel.__init__, (self,)) 
-        CFuzzySphereModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "FuzzySphereModel"
-        ## Model description
-        self.description ="""
-		scale: scale factor times volume fraction,
-		or just volume fraction for absolute scale data
-		radius: radius of the solid sphere
-		fuzziness = the STD of the height of fuzzy interfacial
-		thickness (ie., so-called interfacial roughness)
-		sldSph: the SLD of the sphere
-		sldSolv: the SLD of the solvent
-		background: incoherent background
-		Note: By definition, this function works only when fuzziness << radius."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['fuzziness'] = ['[A]', None, None]
-        self.details['sldSph'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'fuzziness.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_FuzzySphereModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(FuzzySphereModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CFuzzySphereModel.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 CFuzzySphereModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CFuzzySphereModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CFuzzySphereModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CFuzzySphereModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/Gaussian.py
===================================================================
--- sansmodels/src/sans/models/Gaussian.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,151 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/gaussian.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CGaussian
-import copy    
-
-def create_Gaussian():
-    obj = Gaussian()
-    #CGaussian.__init__(obj) is called by Gaussian constructor
-    return obj
-
-class Gaussian(CGaussian, BaseComponent):
-    """ 
-    Class that evaluates a Gaussian model. 
-    This file was auto-generated from ../c_extensions/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)
-        #apply(CGaussian.__init__, (self,)) 
-        CGaussian.__init__(self)
-        
-        ## Name of the model
-        self.name = "Gaussian"
-        ## Model description
-        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]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_Gaussian,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(Gaussian())   
-       	
-   
-    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)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CGaussian.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CGaussian.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CGaussian.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/HardsphereStructure.py
===================================================================
--- sansmodels/src/sans/models/HardsphereStructure.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,160 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/Hardsphere.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CHardsphereStructure
-import copy    
-
-def create_HardsphereStructure():
-    obj = HardsphereStructure()
-    #CHardsphereStructure.__init__(obj) is called by HardsphereStructure constructor
-    return obj
-
-class HardsphereStructure(CHardsphereStructure, BaseComponent):
-    """ 
-    Class that evaluates a HardsphereStructure model. 
-    This file was auto-generated from ../c_extensions/Hardsphere.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         effect_radius   = 50.0 [A]
-         volfraction     = 0.2 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CHardsphereStructure.__init__, (self,)) 
-        CHardsphereStructure.__init__(self)
-        
-        ## Name of the model
-        self.name = "HardsphereStructure"
-        ## Model description
-        self.description ="""Structure factor for interacting particles:                   .
-		
-		The interparticle potential is
-		
-		U(r)= inf   , r < 2R
-		= 0     , r >= 2R
-		
-		R: effective radius of the Hardsphere particle
-		V:The volume fraction
-		
-		Ref: Percus., J. K.,etc., J. Phy.
-		Rev. 1958, 110, 1."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['effect_radius'] = ['[A]', None, None]
-        self.details['volfraction'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=['effect_radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_HardsphereStructure,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(HardsphereStructure())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CHardsphereStructure.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 CHardsphereStructure.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CHardsphereStructure.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CHardsphereStructure.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CHardsphereStructure.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/HayterMSAStructure.py
===================================================================
--- sansmodels/src/sans/models/HayterMSAStructure.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,170 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/HayterMSA.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CHayterMSAStructure
-import copy    
-
-def create_HayterMSAStructure():
-    obj = HayterMSAStructure()
-    #CHayterMSAStructure.__init__(obj) is called by HayterMSAStructure constructor
-    return obj
-
-class HayterMSAStructure(CHayterMSAStructure, BaseComponent):
-    """ 
-    Class that evaluates a HayterMSAStructure model. 
-    This file was auto-generated from ../c_extensions/HayterMSA.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         effect_radius   = 20.75 [A]
-         charge          = 19.0 
-         volfraction     = 0.0192 
-         temperature     = 318.16 [K]
-         saltconc        = 0.0 [M]
-         dielectconst    = 71.08 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CHayterMSAStructure.__init__, (self,)) 
-        CHayterMSAStructure.__init__(self)
-        
-        ## Name of the model
-        self.name = "HayterMSAStructure"
-        ## Model description
-        self.description ="""To calculate the structure factor (the Fourier transform of the
-		pair correlation function g(r)) for a system of
-		charged, spheroidal objects in a dielectric
-		medium.
-		When combined with an appropriate form
-		factor, this allows for inclusion of
-		the interparticle interference effects
-		due to screened coulomb repulsion between
-		charged particles.
-		(Note: charge > 0 required.)
-		
-		Ref: JP Hansen and JB Hayter, Molecular
-		Physics 46, 651-656 (1982).
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['effect_radius'] = ['[A]', None, None]
-        self.details['charge'] = ['', None, None]
-        self.details['volfraction'] = ['', None, None]
-        self.details['temperature'] = ['[K]', None, None]
-        self.details['saltconc'] = ['[M]', None, None]
-        self.details['dielectconst'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=['effect_radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_HayterMSAStructure,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(HayterMSAStructure())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CHayterMSAStructure.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 CHayterMSAStructure.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CHayterMSAStructure.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CHayterMSAStructure.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CHayterMSAStructure.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/HollowCylinderModel.py
===================================================================
--- sansmodels/src/sans/models/HollowCylinderModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,169 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/hollow_cylinder.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CHollowCylinderModel
-import copy    
-
-def create_HollowCylinderModel():
-    obj = HollowCylinderModel()
-    #CHollowCylinderModel.__init__(obj) is called by HollowCylinderModel constructor
-    return obj
-
-class HollowCylinderModel(CHollowCylinderModel, BaseComponent):
-    """ 
-    Class that evaluates a HollowCylinderModel model. 
-    This file was auto-generated from ../c_extensions/hollow_cylinder.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         core_radius     = 20.0 [A]
-         radius          = 30.0 [A]
-         length          = 400.0 [A]
-         sldCyl          = 6.3e-06 [1/A^(2)]
-         sldSolv         = 1e-06 [1/A^(2)]
-         background      = 0.01 [1/cm]
-         axis_theta      = 90.0 [deg]
-         axis_phi        = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CHollowCylinderModel.__init__, (self,)) 
-        CHollowCylinderModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "HollowCylinderModel"
-        ## Model description
-        self.description =""" P(q) = scale*<f*f>/Vol + bkg, where f is the scattering amplitude.
-		core_radius = the radius of core
-		radius = the radius of shell
-		length = the total length of the cylinder
-		sldCyl = SLD of the shell
-		sldSolv = SLD of the solvent
-		background = incoherent background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['core_radius'] = ['[A]', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['length'] = ['[A]', None, None]
-        self.details['sldCyl'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['axis_theta'] = ['[deg]', None, None]
-        self.details['axis_phi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['axis_phi.width', 'axis_theta.width', 'length.width', 'core_radius.width', 'radius']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['axis_phi', 'axis_theta', 'axis_phi.width', 'axis_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_HollowCylinderModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(HollowCylinderModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CHollowCylinderModel.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 CHollowCylinderModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CHollowCylinderModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CHollowCylinderModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CHollowCylinderModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/LamellarFFHGModel.py
===================================================================
--- sansmodels/src/sans/models/LamellarFFHGModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,166 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/lamellarFF_HG.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLamellarFFHGModel
-import copy    
-
-def create_LamellarFFHGModel():
-    obj = LamellarFFHGModel()
-    #CLamellarFFHGModel.__init__(obj) is called by LamellarFFHGModel constructor
-    return obj
-
-class LamellarFFHGModel(CLamellarFFHGModel, BaseComponent):
-    """ 
-    Class that evaluates a LamellarFFHGModel model. 
-    This file was auto-generated from ../c_extensions/lamellarFF_HG.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         t_length        = 15.0 [A]
-         h_thickness     = 10.0 [A]
-         sld_tail        = 4e-07 [1/A^(2)]
-         sld_head        = 3e-06 [1/A^(2)]
-         sld_solvent     = 6e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CLamellarFFHGModel.__init__, (self,)) 
-        CLamellarFFHGModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "LamellarFFHGModel"
-        ## Model description
-        self.description =""" Parameters: t_length = tail length, h_thickness = head thickness,
-		scale = Scale factor,
-		background = incoherent Background
-		sld_tail = tail scattering length density ,
-		sld_solvent = solvent scattering length density.
-		NOTE: The total bilayer thickness
-		= 2(h_thickness+ t_length).
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['t_length'] = ['[A]', None, None]
-        self.details['h_thickness'] = ['[A]', None, None]
-        self.details['sld_tail'] = ['[1/A^(2)]', None, None]
-        self.details['sld_head'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solvent'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['t_length.width', 'h_thickness.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_LamellarFFHGModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(LamellarFFHGModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLamellarFFHGModel.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 CLamellarFFHGModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLamellarFFHGModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLamellarFFHGModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLamellarFFHGModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/LamellarModel.py
===================================================================
--- sansmodels/src/sans/models/LamellarModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,163 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/lamellar.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLamellarModel
-import copy    
-
-def create_LamellarModel():
-    obj = LamellarModel()
-    #CLamellarModel.__init__(obj) is called by LamellarModel constructor
-    return obj
-
-class LamellarModel(CLamellarModel, BaseComponent):
-    """ 
-    Class that evaluates a LamellarModel model. 
-    This file was auto-generated from ../c_extensions/lamellar.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         bi_thick        = 50.0 [A]
-         sld_bi          = 1e-06 [1/A^(2)]
-         sld_sol         = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CLamellarModel.__init__, (self,)) 
-        CLamellarModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "LamellarModel"
-        ## Model description
-        self.description ="""[Dilute Lamellar Form Factor](from a lyotropic lamellar phase)
-		I(q)= 2*pi*P(q)/(delta *q^(2)), where
-		P(q)=2*(contrast/q)^(2)*(1-cos(q*delta))^(2))
-		bi_thick = bilayer thickness
-		sld_bi = SLD of bilayer
-		sld_sol = SLD of solvent
-		background = Incoherent background
-		scale = scale factor
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['bi_thick'] = ['[A]', None, None]
-        self.details['sld_bi'] = ['[1/A^(2)]', None, None]
-        self.details['sld_sol'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_LamellarModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(LamellarModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLamellarModel.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 CLamellarModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLamellarModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLamellarModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLamellarModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/LamellarPCrystalModel.py
===================================================================
--- sansmodels/src/sans/models/LamellarPCrystalModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,171 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/lamellarPC.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLamellarPCrystalModel
-import copy    
-
-def create_LamellarPCrystalModel():
-    obj = LamellarPCrystalModel()
-    #CLamellarPCrystalModel.__init__(obj) is called by LamellarPCrystalModel constructor
-    return obj
-
-class LamellarPCrystalModel(CLamellarPCrystalModel, BaseComponent):
-    """ 
-    Class that evaluates a LamellarPCrystalModel model. 
-    This file was auto-generated from ../c_extensions/lamellarPC.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         thickness       = 33.0 [A]
-         Nlayers         = 20.0 
-         spacing         = 250.0 [A]
-         pd_spacing      = 0.0 
-         sld_layer       = 1e-06 [1/A^(2)]
-         sld_solvent     = 6.34e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CLamellarPCrystalModel.__init__, (self,)) 
-        CLamellarPCrystalModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "LamellarPCrystalModel"
-        ## Model description
-        self.description ="""[Lamellar ParaCrystal Model] Parameter Definitions: scale = scale factor,
-		background = incoherent background
-		thickness = lamellar thickness,
-		sld_layer = layer scattering length density ,
-		sld_solvent = solvent scattering length density.
-		Nlayers = no. of lamellar layers
-		spacing = spacing between layers
-		pd_spacing = polydispersity of spacing
-		Note: This model can be used for large
-		multilamellar vesicles.
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['thickness'] = ['[A]', None, None]
-        self.details['Nlayers'] = ['', None, None]
-        self.details['spacing'] = ['[A]', None, None]
-        self.details['pd_spacing'] = ['', None, None]
-        self.details['sld_layer'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solvent'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['thickness.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_LamellarPCrystalModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(LamellarPCrystalModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLamellarPCrystalModel.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 CLamellarPCrystalModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLamellarPCrystalModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLamellarPCrystalModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLamellarPCrystalModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/LamellarPSHGModel.py
===================================================================
--- sansmodels/src/sans/models/LamellarPSHGModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,183 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/lamellarPS_HG.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLamellarPSHGModel
-import copy    
-
-def create_LamellarPSHGModel():
-    obj = LamellarPSHGModel()
-    #CLamellarPSHGModel.__init__(obj) is called by LamellarPSHGModel constructor
-    return obj
-
-class LamellarPSHGModel(CLamellarPSHGModel, BaseComponent):
-    """ 
-    Class that evaluates a LamellarPSHGModel model. 
-    This file was auto-generated from ../c_extensions/lamellarPS_HG.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         spacing         = 40.0 [A]
-         deltaT          = 10.0 [A]
-         deltaH          = 2.0 [A]
-         sld_tail        = 4e-07 [1/A^(2)]
-         sld_head        = 2e-06 [1/A^(2)]
-         sld_solvent     = 6e-06 [1/A^(2)]
-         n_plates        = 30.0 
-         caille          = 0.001 
-         background      = 0.001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CLamellarPSHGModel.__init__, (self,)) 
-        CLamellarPSHGModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "LamellarPSHGModel"
-        ## Model description
-        self.description ="""[Concentrated Lamellar (head+tail) Form Factor]: Calculates the
-		intensity from a lyotropic lamellar phase.
-		The intensity (form factor and structure factor)
-		calculated is for lamellae of two-layer scattering
-		length density that are randomly distributed in
-		solution (a powder average). The scattering
-		length density of the tail region, headgroup
-		region, and solvent are taken to be different.
-		The model can also be applied to large,
-		multi-lamellar vesicles.
-		No resolution smeared version is included
-		in the structure factor of this model.
-		*Parameters: spacing = repeat spacing,
-		deltaT = tail length,
-		deltaH = headgroup thickness,
-		n_plates = # of Lamellar plates
-		caille = Caille parameter (<0.8 or <1)
-		background = incoherent bgd
-		scale = scale factor ..."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['spacing'] = ['[A]', None, None]
-        self.details['deltaT'] = ['[A]', None, None]
-        self.details['deltaH'] = ['[A]', None, None]
-        self.details['sld_tail'] = ['[1/A^(2)]', None, None]
-        self.details['sld_head'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solvent'] = ['[1/A^(2)]', None, None]
-        self.details['n_plates'] = ['', None, None]
-        self.details['caille'] = ['', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['deltaT.width', 'deltaH.width', 'spacing.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_LamellarPSHGModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(LamellarPSHGModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLamellarPSHGModel.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 CLamellarPSHGModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLamellarPSHGModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLamellarPSHGModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLamellarPSHGModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/LamellarPSModel.py
===================================================================
--- sansmodels/src/sans/models/LamellarPSModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,179 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/lamellarPS.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLamellarPSModel
-import copy    
-
-def create_LamellarPSModel():
-    obj = LamellarPSModel()
-    #CLamellarPSModel.__init__(obj) is called by LamellarPSModel constructor
-    return obj
-
-class LamellarPSModel(CLamellarPSModel, BaseComponent):
-    """ 
-    Class that evaluates a LamellarPSModel model. 
-    This file was auto-generated from ../c_extensions/lamellarPS.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         spacing         = 400.0 [A]
-         delta           = 30.0 [A]
-         sld_bi          = 6.3e-06 [1/A^(2)]
-         sld_sol         = 1e-06 [1/A^(2)]
-         n_plates        = 20.0 
-         caille          = 0.1 
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CLamellarPSModel.__init__, (self,)) 
-        CLamellarPSModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "LamellarPSModel"
-        ## Model description
-        self.description ="""[Concentrated Lamellar Form Factor] Calculates the scattered
-		intensity from a lyotropic lamellar phase.
-		The intensity (form factor and structure
-		factor)calculated is for lamellae of
-		uniform scattering length density that
-		are randomly distributed in solution
-		(a powder average). The lamellae thickness
-		is polydisperse. The model can also
-		be applied to large, multi-lamellar vesicles.
-		No resolution smeared version is included
-		in the structure factor of this model.
-		*Parameters: spacing = repeat spacing,
-		delta = bilayer thickness,
-		sld_bi = SLD_bilayer
-		sld_sol = SLD_solvent
-		n_plate = # of Lamellar plates
-		caille = Caille parameter (<0.8 or <1)
-		background = incoherent bgd
-		scale = scale factor"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['spacing'] = ['[A]', None, None]
-        self.details['delta'] = ['[A]', None, None]
-        self.details['sld_bi'] = ['[1/A^(2)]', None, None]
-        self.details['sld_sol'] = ['[1/A^(2)]', None, None]
-        self.details['n_plates'] = ['', None, None]
-        self.details['caille'] = ['', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['delta.width', 'spacing.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_LamellarPSModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(LamellarPSModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLamellarPSModel.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 CLamellarPSModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLamellarPSModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLamellarPSModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLamellarPSModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/LogNormal.py
===================================================================
--- sansmodels/src/sans/models/LogNormal.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,151 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/logNormal.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLogNormal
-import copy    
-
-def create_LogNormal():
-    obj = LogNormal()
-    #CLogNormal.__init__(obj) is called by LogNormal constructor
-    return obj
-
-class LogNormal(CLogNormal, BaseComponent):
-    """ 
-    Class that evaluates a LogNormal model. 
-    This file was auto-generated from ../c_extensions/logNormal.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)
-        #apply(CLogNormal.__init__, (self,)) 
-        CLogNormal.__init__(self)
-        
-        ## Name of the model
-        self.name = "LogNormal"
-        ## Model description
-        self.description ="""f(x)=scale * 1/(sigma*math.sqrt(2pi))e^(-1/2*((math.log(x)-mu)/sigma)^2)"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['sigma'] = ['', None, None]
-        self.details['center'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_LogNormal,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(LogNormal())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLogNormal.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 CLogNormal.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLogNormal.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLogNormal.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLogNormal.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/Lorentzian.py
===================================================================
--- sansmodels/src/sans/models/Lorentzian.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,151 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/lorentzian.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CLorentzian
-import copy    
-
-def create_Lorentzian():
-    obj = Lorentzian()
-    #CLorentzian.__init__(obj) is called by Lorentzian constructor
-    return obj
-
-class Lorentzian(CLorentzian, BaseComponent):
-    """ 
-    Class that evaluates a Lorentzian model. 
-    This file was auto-generated from ../c_extensions/lorentzian.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         gamma           = 1.0 
-         center          = 0.0 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CLorentzian.__init__, (self,)) 
-        CLorentzian.__init__(self)
-        
-        ## Name of the model
-        self.name = "Lorentzian"
-        ## Model description
-        self.description ="""f(x)=scale * 1/pi 0.5gamma / [ (x-x_0)^2 + (0.5gamma)^2 ]"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['gamma'] = ['', None, None]
-        self.details['center'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_Lorentzian,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(Lorentzian())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CLorentzian.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 CLorentzian.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CLorentzian.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CLorentzian.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CLorentzian.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/MultiShellModel.py
===================================================================
--- sansmodels/src/sans/models/MultiShellModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,169 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/multishell.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CMultiShellModel
-import copy    
-
-def create_MultiShellModel():
-    obj = MultiShellModel()
-    #CMultiShellModel.__init__(obj) is called by MultiShellModel constructor
-    return obj
-
-class MultiShellModel(CMultiShellModel, BaseComponent):
-    """ 
-    Class that evaluates a MultiShellModel model. 
-    This file was auto-generated from ../c_extensions/multishell.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         core_radius     = 60.0 [A]
-         s_thickness     = 10.0 [A]
-         w_thickness     = 10.0 [A]
-         core_sld        = 6.4e-06 [1/A^(2)]
-         shell_sld       = 4e-07 [1/A^(2)]
-         n_pairs         = 2.0 
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CMultiShellModel.__init__, (self,)) 
-        CMultiShellModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "MultiShellModel"
-        ## Model description
-        self.description =""" MultiShell (Sphere) Model (or Multilamellar Vesicles): Model parameters;
-		scale : scale factor
-		core_radius : Core radius of the multishell
-		s_thickness: shell thickness
-		w_thickness: water thickness
-		core_sld: core scattering length density
-		shell_sld: shell scattering length density
-		n_pairs:number of pairs of water/shell
-		background: incoherent background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['core_radius'] = ['[A]', None, None]
-        self.details['s_thickness'] = ['[A]', None, None]
-        self.details['w_thickness'] = ['[A]', None, None]
-        self.details['core_sld'] = ['[1/A^(2)]', None, None]
-        self.details['shell_sld'] = ['[1/A^(2)]', None, None]
-        self.details['n_pairs'] = ['', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['core_radius.width', 's_thickness.width', 'w_thickness.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_MultiShellModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(MultiShellModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CMultiShellModel.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 CMultiShellModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CMultiShellModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CMultiShellModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CMultiShellModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/OnionModel.py
===================================================================
--- sansmodels/src/sans/models/OnionModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,279 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/onion.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import COnionModel
-import copy    
-
-def create_OnionModel():
-    obj = OnionModel()
-    #COnionModel.__init__(obj) is called by OnionModel constructor
-    return obj
-
-class OnionModel(COnionModel, BaseComponent):
-    """ 
-    Class that evaluates a OnionModel model. 
-    This file was auto-generated from ../c_extensions/onion.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         n_shells        = 1.0 
-         scale           = 1.0 
-         rad_core0       = 200.0 [A]
-         sld_core0       = 1e-06 [1/A^(2)]
-         sld_solv        = 6.4e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         sld_out_shell1  = 2e-06 [1/A^(2)]
-         sld_out_shell2  = 2.5e-06 [1/A^(2)]
-         sld_out_shell3  = 3e-06 [1/A^(2)]
-         sld_out_shell4  = 3.5e-06 [1/A^(2)]
-         sld_out_shell5  = 4e-06 [1/A^(2)]
-         sld_out_shell6  = 4.5e-06 [1/A^(2)]
-         sld_out_shell7  = 5e-06 [1/A^(2)]
-         sld_out_shell8  = 5.5e-06 [1/A^(2)]
-         sld_out_shell9  = 6e-06 [1/A^(2)]
-         sld_out_shell10 = 6.2e-06 [1/A^(2)]
-         sld_in_shell1   = 1.7e-06 [1/A^(2)]
-         sld_in_shell2   = 2.2e-06 [1/A^(2)]
-         sld_in_shell3   = 2.7e-06 [1/A^(2)]
-         sld_in_shell4   = 3.2e-06 [1/A^(2)]
-         sld_in_shell5   = 3.7e-06 [1/A^(2)]
-         sld_in_shell6   = 4.2e-06 [1/A^(2)]
-         sld_in_shell7   = 4.7e-06 [1/A^(2)]
-         sld_in_shell8   = 5.2e-06 [1/A^(2)]
-         sld_in_shell9   = 5.7e-06 [1/A^(2)]
-         sld_in_shell10  = 6e-06 [1/A^(2)]
-         A_shell1        = 1.0 
-         A_shell2        = 1.0 
-         A_shell3        = 1.0 
-         A_shell4        = 1.0 
-         A_shell5        = 1.0 
-         A_shell6        = 1.0 
-         A_shell7        = 1.0 
-         A_shell8        = 1.0 
-         A_shell9        = 1.0 
-         A_shell10       = 1.0 
-         thick_shell1    = 50.0 [A]
-         thick_shell2    = 50.0 [A]
-         thick_shell3    = 50.0 [A]
-         thick_shell4    = 50.0 [A]
-         thick_shell5    = 50.0 [A]
-         thick_shell6    = 50.0 [A]
-         thick_shell7    = 50.0 [A]
-         thick_shell8    = 50.0 [A]
-         thick_shell9    = 50.0 [A]
-         thick_shell10   = 50.0 [A]
-         func_shell1     = 2.0 
-         func_shell2     = 2.0 
-         func_shell3     = 2.0 
-         func_shell4     = 2.0 
-         func_shell5     = 2.0 
-         func_shell6     = 2.0 
-         func_shell7     = 2.0 
-         func_shell8     = 2.0 
-         func_shell9     = 2.0 
-         func_shell10    = 2.0 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(COnionModel.__init__, (self,)) 
-        COnionModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "OnionModel"
-        ## Model description
-        self.description ="""Form factor of mutishells normalized by the volume. Here each shell is described
-		by an exponential function;
-		I)
-		For A_shell != 0,
-		f(r) = B*exp(A_shell*(r-r_in)/thick_shell)+C
-		where
-		B=(sld_out-sld_in)/(exp(A_shell)-1)
-		C=sld_in-B.
-		Note that in the above case,
-		the function becomes a linear function
-		as A_shell --> 0+ or 0-.
-		II)
-		For the exact point of A_shell == 0,
-		f(r) = sld_in ,i.e., it crosses over flat function
-		Note that the 'sld_out' becaomes NULL in this case.
-		
-		background:background,
-		rad_core0: radius of sphere(core)
-		thick_shell#:the thickness of the shell#
-		sld_core0: the SLD of the sphere
-		sld_solv: the SLD of the solvent
-		sld_shell: the SLD of the shell#
-		A_shell#: the coefficient in the exponential function"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['n_shells'] = ['', None, None]
-        self.details['scale'] = ['', None, None]
-        self.details['rad_core0'] = ['[A]', None, None]
-        self.details['sld_core0'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['sld_out_shell1'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell2'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell3'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell4'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell5'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell6'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell7'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell8'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell9'] = ['[1/A^(2)]', None, None]
-        self.details['sld_out_shell10'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell1'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell2'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell3'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell4'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell5'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell6'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell7'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell8'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell9'] = ['[1/A^(2)]', None, None]
-        self.details['sld_in_shell10'] = ['[1/A^(2)]', None, None]
-        self.details['A_shell1'] = ['', None, None]
-        self.details['A_shell2'] = ['', None, None]
-        self.details['A_shell3'] = ['', None, None]
-        self.details['A_shell4'] = ['', None, None]
-        self.details['A_shell5'] = ['', None, None]
-        self.details['A_shell6'] = ['', None, None]
-        self.details['A_shell7'] = ['', None, None]
-        self.details['A_shell8'] = ['', None, None]
-        self.details['A_shell9'] = ['', None, None]
-        self.details['A_shell10'] = ['', None, None]
-        self.details['thick_shell1'] = ['[A]', None, None]
-        self.details['thick_shell2'] = ['[A]', None, None]
-        self.details['thick_shell3'] = ['[A]', None, None]
-        self.details['thick_shell4'] = ['[A]', None, None]
-        self.details['thick_shell5'] = ['[A]', None, None]
-        self.details['thick_shell6'] = ['[A]', None, None]
-        self.details['thick_shell7'] = ['[A]', None, None]
-        self.details['thick_shell8'] = ['[A]', None, None]
-        self.details['thick_shell9'] = ['[A]', None, None]
-        self.details['thick_shell10'] = ['[A]', None, None]
-        self.details['func_shell1'] = ['', None, None]
-        self.details['func_shell2'] = ['', None, None]
-        self.details['func_shell3'] = ['', None, None]
-        self.details['func_shell4'] = ['', None, None]
-        self.details['func_shell5'] = ['', None, None]
-        self.details['func_shell6'] = ['', None, None]
-        self.details['func_shell7'] = ['', None, None]
-        self.details['func_shell8'] = ['', None, None]
-        self.details['func_shell9'] = ['', None, None]
-        self.details['func_shell10'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=['rad_core0.width', 'thick_shell1.width', 'thick_shell2.width', 'thick_shell3.width', 'thick_shell4.width', 'thick_shell5.width', 'thick_shell6.width', 'thick_shell7.width', 'thick_shell8.width', 'thick_shell9.width', 'thick_shell10.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_OnionModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(OnionModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return COnionModel.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 COnionModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return COnionModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return COnionModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return COnionModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/ParallelepipedModel.py
===================================================================
--- sansmodels/src/sans/models/ParallelepipedModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,173 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/parallelepiped.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CParallelepipedModel
-import copy    
-
-def create_ParallelepipedModel():
-    obj = ParallelepipedModel()
-    #CParallelepipedModel.__init__(obj) is called by ParallelepipedModel constructor
-    return obj
-
-class ParallelepipedModel(CParallelepipedModel, BaseComponent):
-    """ 
-    Class that evaluates a ParallelepipedModel model. 
-    This file was auto-generated from ../c_extensions/parallelepiped.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         short_a         = 35.0 [A]
-         short_b         = 75.0 [A]
-         long_c          = 400.0 [A]
-         sldPipe         = 6.3e-06 [1/A^(2)]
-         sldSolv         = 1e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         parallel_theta  = 0.0 [deg]
-         parallel_phi    = 0.0 [deg]
-         parallel_psi    = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CParallelepipedModel.__init__, (self,)) 
-        CParallelepipedModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "ParallelepipedModel"
-        ## Model description
-        self.description =""" Form factor for a rectangular solid with uniform scattering length density.
-		
-		scale:Scale factor
-		short_a: length of short edge  [A]
-		short_b: length of another short edge [A]
-		long_c: length of long edge  of the parallelepiped [A]
-		sldPipe: Pipe_sld
-		sldSolv: solvent_sld
-		background:Incoherent Background [1/cm]"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['short_a'] = ['[A]', None, None]
-        self.details['short_b'] = ['[A]', None, None]
-        self.details['long_c'] = ['[A]', None, None]
-        self.details['sldPipe'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['parallel_theta'] = ['[deg]', None, None]
-        self.details['parallel_phi'] = ['[deg]', None, None]
-        self.details['parallel_psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['short_a.width', 'short_b.width', 'long_c.width', 'parallel_phi.width', 'parallel_psi.width', 'parallel_theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['parallel_phi', 'parallel_psi', 'parallel_theta', 'parallel_phi.width', 'parallel_psi.width', 'parallel_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_ParallelepipedModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(ParallelepipedModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CParallelepipedModel.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 CParallelepipedModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CParallelepipedModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CParallelepipedModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CParallelepipedModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/PearlNecklaceModel.py
===================================================================
--- sansmodels/src/sans/models/PearlNecklaceModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,174 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/pearlnecklace.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CPearlNecklaceModel
-import copy    
-
-def create_PearlNecklaceModel():
-    obj = PearlNecklaceModel()
-    #CPearlNecklaceModel.__init__(obj) is called by PearlNecklaceModel constructor
-    return obj
-
-class PearlNecklaceModel(CPearlNecklaceModel, BaseComponent):
-    """ 
-    Class that evaluates a PearlNecklaceModel model. 
-    This file was auto-generated from ../c_extensions/pearlnecklace.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         radius          = 80.0 [A]
-         edge_separation = 350.0 [A]
-         thick_string    = 2.5 [A]
-         num_pearls      = 3.0 
-         sld_pearl       = 1e-06 [1/A^(2)]
-         sld_string      = 1e-06 [1/A^(2)]
-         sld_solv        = 6.3e-06 [1/A^(2)]
-         background      = 0.0 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CPearlNecklaceModel.__init__, (self,)) 
-        CPearlNecklaceModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "PearlNecklaceModel"
-        ## Model description
-        self.description ="""Calculate form factor for Pearl Necklace Model
-		[Macromol. Symp. 2004, 211, 25-42]
-		Parameters:
-		background:background
-		scale: scale factor
-		sld_pearl: the SLD of the pearl spheres
-		sld_string: the SLD of the strings
-		sld_solv: the SLD of the solvent
-		num_pearls: number of the pearls
-		radius: the radius of a pearl
-		edge_separation: the length of string segment; surface to surface
-		thick_string: thickness (ie, diameter) of the string"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['edge_separation'] = ['[A]', None, None]
-        self.details['thick_string'] = ['[A]', None, None]
-        self.details['num_pearls'] = ['', None, None]
-        self.details['sld_pearl'] = ['[1/A^(2)]', None, None]
-        self.details['sld_string'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'edge_separation.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_PearlNecklaceModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(PearlNecklaceModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CPearlNecklaceModel.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 CPearlNecklaceModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CPearlNecklaceModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CPearlNecklaceModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CPearlNecklaceModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/Poly_GaussCoil.py
===================================================================
--- sansmodels/src/sans/models/Poly_GaussCoil.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,160 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/polygausscoil.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CPoly_GaussCoil
-import copy    
-
-def create_Poly_GaussCoil():
-    obj = Poly_GaussCoil()
-    #CPoly_GaussCoil.__init__(obj) is called by Poly_GaussCoil constructor
-    return obj
-
-class Poly_GaussCoil(CPoly_GaussCoil, BaseComponent):
-    """ 
-    Class that evaluates a Poly_GaussCoil model. 
-    This file was auto-generated from ../c_extensions/polygausscoil.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         rg              = 60.0 [A]
-         poly_m          = 2.0 [Mw/Mn]
-         background      = 0.001 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CPoly_GaussCoil.__init__, (self,)) 
-        CPoly_GaussCoil.__init__(self)
-        
-        ## Name of the model
-        self.name = "Poly_GaussCoil"
-        ## Model description
-        self.description ="""I(q)=(scale)*2*[(1+U*x)^(-1/U)+x-1]/[(1+U)*x^2] + background
-		where x = [rg^2*q^2]
-		and the polydispersity is
-		U = [M_w/M_n]-1.
-		scale = scale factor * volume fraction
-		rg = radius of gyration
-		poly_m = polydispersity of molecular weight
-		background = incoherent background"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['rg'] = ['[A]', None, None]
-        self.details['poly_m'] = ['[Mw/Mn]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_Poly_GaussCoil,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(Poly_GaussCoil())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CPoly_GaussCoil.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 CPoly_GaussCoil.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CPoly_GaussCoil.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CPoly_GaussCoil.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CPoly_GaussCoil.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/RPAModel.py
===================================================================
--- sansmodels/src/sans/models/RPAModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,219 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/rpa.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CRPAModel
-import copy    
-
-def create_RPAModel():
-    obj = RPAModel()
-    #CRPAModel.__init__(obj) is called by RPAModel constructor
-    return obj
-
-class RPAModel(CRPAModel, BaseComponent):
-    """ 
-    Class that evaluates a RPAModel model. 
-    This file was auto-generated from ../c_extensions/rpa.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         lcase_n         = 0.0 
-         ba              = 5.0 
-         bb              = 5.0 
-         bc              = 5.0 
-         bd              = 5.0 
-         Kab             = -0.0004 
-         Kac             = -0.0004 
-         Kad             = -0.0004 
-         Kbc             = -0.0004 
-         Kbd             = -0.0004 
-         Kcd             = -0.0004 
-         scale           = 1.0 
-         background      = 0.0 [1/cm]
-         Na              = 1000.0 
-         Phia            = 0.25 
-         va              = 100.0 
-         La              = 1e-12 
-         Nb              = 1000.0 
-         Phib            = 0.25 
-         vb              = 100.0 
-         Lb              = 1e-12 
-         Nc              = 1000.0 
-         Phic            = 0.25 
-         vc              = 100.0 
-         Lc              = 1e-12 
-         Nd              = 1000.0 
-         Phid            = 0.25 
-         vd              = 100.0 
-         Ld              = 0.0 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CRPAModel.__init__, (self,)) 
-        CRPAModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "RPAModel"
-        ## Model description
-        self.description ="""  THIS FORMALISM APPLIES TO MULTICOMPONENT POLYMER MIXTURES IN THE
-		HOMOGENEOUS (MIXED) PHASE REGION ONLY.;
-		CASE 0: C/D BINARY MIXTURE OF HOMOPOLYMERS
-		CASE 1: C-D DIBLOCK COPOLYMER
-		CASE 2: B/C/D TERNARY MIXTURE OF HOMOPOLYMERS
-		CASE 3: B/C-D MIXTURE OF HOMOPOLYMER B AND
-		DIBLOCK COPOLYMER C-D
-		CASE 4: B-C-D TRIBLOCK COPOLYMER
-		CASE 5: A/B/C/D QUATERNARY MIXTURE OF HOMOPOLYMERS
-		CASE 6: A/B/C-D MIXTURE OF TWO HOMOPOLYMERS A/B
-		AND A DIBLOCK C-D
-		CASE 7: A/B-C-D MIXTURE OF A HOMOPOLYMER A AND A
-		TRIBLOCK B-C-D
-		CASE 8: A-B/C-D MIXTURE OF TWO DIBLOCK COPOLYMERS
-		A-B AND C-D
-		CASE 9: A-B-C-D FOUR-BLOCK COPOLYMER
-		See details in the model function help"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['lcase_n'] = ['', None, None]
-        self.details['ba'] = ['', None, None]
-        self.details['bb'] = ['', None, None]
-        self.details['bc'] = ['', None, None]
-        self.details['bd'] = ['', None, None]
-        self.details['Kab'] = ['', None, None]
-        self.details['Kac'] = ['', None, None]
-        self.details['Kad'] = ['', None, None]
-        self.details['Kbc'] = ['', None, None]
-        self.details['Kbd'] = ['', None, None]
-        self.details['Kcd'] = ['', None, None]
-        self.details['scale'] = ['', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['Na'] = ['', None, None]
-        self.details['Phia'] = ['', None, None]
-        self.details['va'] = ['', None, None]
-        self.details['La'] = ['', None, None]
-        self.details['Nb'] = ['', None, None]
-        self.details['Phib'] = ['', None, None]
-        self.details['vb'] = ['', None, None]
-        self.details['Lb'] = ['', None, None]
-        self.details['Nc'] = ['', None, None]
-        self.details['Phic'] = ['', None, None]
-        self.details['vc'] = ['', None, None]
-        self.details['Lc'] = ['', None, None]
-        self.details['Nd'] = ['', None, None]
-        self.details['Phid'] = ['', None, None]
-        self.details['vd'] = ['', None, None]
-        self.details['Ld'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = ['lcase_n', 'Na', 'Phia', 'va', 'La', 'Nb', 'Phib', 'vb', 'Lb', 'Nc', 'Phic', 'vc', 'Lc', 'Nd', 'Phid', 'vd', 'Ld']
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_RPAModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(RPAModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CRPAModel.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 CRPAModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CRPAModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CRPAModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CRPAModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/ReflAdvModel.py
===================================================================
--- sansmodels/src/sans/models/ReflAdvModel.py	(revision 0b082f3de70162b384089745e139588fda206422)
+++ 	(revision )
@@ -1,304 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/refl_adv.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CReflAdvModel
-import copy    
-
-def create_ReflAdvModel():
-    obj = ReflAdvModel()
-    #CReflAdvModel.__init__(obj) is called by ReflAdvModel constructor
-    return obj
-
-class ReflAdvModel(CReflAdvModel, BaseComponent):
-    """ 
-    Class that evaluates a ReflAdvModel model. 
-    This file was auto-generated from ../c_extensions/refl_adv.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         n_layers        = 1.0 
-         scale           = 1.0 
-         thick_inter0    = 50.0 [A]
-         func_inter0     = 0.0 
-         sld_bottom0     = 2.07e-06 [1/A^(2)]
-         sld_medium      = 1e-06 [1/A^(2)]
-         background      = 0.0 
-         sld_flat1       = 4e-06 [1/A^(2)]
-         sld_flat2       = 3.5e-06 [1/A^(2)]
-         sld_flat3       = 4e-06 [1/A^(2)]
-         sld_flat4       = 3.5e-06 [1/A^(2)]
-         sld_flat5       = 4e-06 [1/A^(2)]
-         sld_flat6       = 3.5e-06 [1/A^(2)]
-         sld_flat7       = 4e-06 [1/A^(2)]
-         sld_flat8       = 3.5e-06 [1/A^(2)]
-         sld_flat9       = 4e-06 [1/A^(2)]
-         sld_flat10      = 3.5e-06 [1/A^(2)]
-         thick_inter1    = 50.0 [A]
-         thick_inter2    = 50.0 [A]
-         thick_inter3    = 50.0 [A]
-         thick_inter4    = 50.0 [A]
-         thick_inter5    = 50.0 [A]
-         thick_inter6    = 50.0 [A]
-         thick_inter7    = 50.0 [A]
-         thick_inter8    = 50.0 [A]
-         thick_inter9    = 50.0 [A]
-         thick_inter10   = 50.0 [A]
-         thick_flat1     = 100.0 [A]
-         thick_flat2     = 100.0 [A]
-         thick_flat3     = 100.0 [A]
-         thick_flat4     = 100.0 [A]
-         thick_flat5     = 100.0 [A]
-         thick_flat6     = 100.0 [A]
-         thick_flat7     = 100.0 [A]
-         thick_flat8     = 100.0 [A]
-         thick_flat9     = 100.0 [A]
-         thick_flat10    = 100.0 [A]
-         func_inter1     = 0.0 
-         func_inter2     = 0.0 
-         func_inter3     = 0.0 
-         func_inter4     = 0.0 
-         func_inter5     = 0.0 
-         func_inter6     = 0.0 
-         func_inter7     = 0.0 
-         func_inter8     = 0.0 
-         func_inter9     = 0.0 
-         func_inter10    = 0.0 
-         sldIM_flat1     = 0.0 [1/A^(2)]
-         sldIM_flat2     = 0.0 [1/A^(2)]
-         sldIM_flat3     = 0.0 [1/A^(2)]
-         sldIM_flat4     = 0.0 [1/A^(2)]
-         sldIM_flat5     = 0.0 [1/A^(2)]
-         sldIM_flat6     = 0.0 [1/A^(2)]
-         sldIM_flat7     = 0.0 [1/A^(2)]
-         sldIM_flat8     = 0.0 [1/A^(2)]
-         sldIM_flat9     = 0.0 [1/A^(2)]
-         sldIM_flat10    = 0.0 [1/A^(2)]
-         nu_inter1       = 2.5 
-         nu_inter2       = 2.5 
-         nu_inter3       = 2.5 
-         nu_inter4       = 2.5 
-         nu_inter5       = 2.5 
-         nu_inter6       = 2.5 
-         nu_inter7       = 2.5 
-         nu_inter8       = 2.5 
-         nu_inter9       = 2.5 
-         nu_inter10      = 2.5 
-         sldIM_sub0      = 0.0 
-         sldIM_medium    = 0.0 
-         npts_inter      = 21.0 
-         nu_inter0       = 2.5 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CReflAdvModel.__init__, (self,)) 
-        CReflAdvModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "ReflAdvModel"
-        ## Model description
-        self.description ="""Calculate neutron reflectivity using the Parratt iterative formula
-		Parameters:
-		background:background
-		scale: scale factor
-		sld_bottom0: the SLD of the substrate
-		sld_medium: the SLD of the incident medium
-		or superstrate
-		sld_flatN: the SLD of the flat region of
-		the N'th layer
-		thick_flatN: the thickness of the flat
-		region of the N'th layer
-		func_interN: the function used to describe
-		the interface of the N'th layer
-		nu_interN: the coefficient for the func_interN
-		thick_interN: the thickness of the interface
-		of the N'th layer
-		Note: the layer number starts to increase
-		from the bottom (substrate) to the top."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['n_layers'] = ['', None, None]
-        self.details['scale'] = ['', None, None]
-        self.details['thick_inter0'] = ['[A]', None, None]
-        self.details['func_inter0'] = ['', None, None]
-        self.details['sld_bottom0'] = ['[1/A^(2)]', None, None]
-        self.details['sld_medium'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['', None, None]
-        self.details['sld_flat1'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat2'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat3'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat4'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat5'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat6'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat7'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat8'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat9'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat10'] = ['[1/A^(2)]', None, None]
-        self.details['thick_inter1'] = ['[A]', None, None]
-        self.details['thick_inter2'] = ['[A]', None, None]
-        self.details['thick_inter3'] = ['[A]', None, None]
-        self.details['thick_inter4'] = ['[A]', None, None]
-        self.details['thick_inter5'] = ['[A]', None, None]
-        self.details['thick_inter6'] = ['[A]', None, None]
-        self.details['thick_inter7'] = ['[A]', None, None]
-        self.details['thick_inter8'] = ['[A]', None, None]
-        self.details['thick_inter9'] = ['[A]', None, None]
-        self.details['thick_inter10'] = ['[A]', None, None]
-        self.details['thick_flat1'] = ['[A]', None, None]
-        self.details['thick_flat2'] = ['[A]', None, None]
-        self.details['thick_flat3'] = ['[A]', None, None]
-        self.details['thick_flat4'] = ['[A]', None, None]
-        self.details['thick_flat5'] = ['[A]', None, None]
-        self.details['thick_flat6'] = ['[A]', None, None]
-        self.details['thick_flat7'] = ['[A]', None, None]
-        self.details['thick_flat8'] = ['[A]', None, None]
-        self.details['thick_flat9'] = ['[A]', None, None]
-        self.details['thick_flat10'] = ['[A]', None, None]
-        self.details['func_inter1'] = ['', None, None]
-        self.details['func_inter2'] = ['', None, None]
-        self.details['func_inter3'] = ['', None, None]
-        self.details['func_inter4'] = ['', None, None]
-        self.details['func_inter5'] = ['', None, None]
-        self.details['func_inter6'] = ['', None, None]
-        self.details['func_inter7'] = ['', None, None]
-        self.details['func_inter8'] = ['', None, None]
-        self.details['func_inter9'] = ['', None, None]
-        self.details['func_inter10'] = ['', None, None]
-        self.details['sldIM_flat1'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat2'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat3'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat4'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat5'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat6'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat7'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat8'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat9'] = ['[1/A^(2)]', None, None]
-        self.details['sldIM_flat10'] = ['[1/A^(2)]', None, None]
-        self.details['nu_inter1'] = ['', None, None]
-        self.details['nu_inter2'] = ['', None, None]
-        self.details['nu_inter3'] = ['', None, None]
-        self.details['nu_inter4'] = ['', None, None]
-        self.details['nu_inter5'] = ['', None, None]
-        self.details['nu_inter6'] = ['', None, None]
-        self.details['nu_inter7'] = ['', None, None]
-        self.details['nu_inter8'] = ['', None, None]
-        self.details['nu_inter9'] = ['', None, None]
-        self.details['nu_inter10'] = ['', None, None]
-        self.details['sldIM_sub0'] = ['', None, None]
-        self.details['sldIM_medium'] = ['', None, None]
-        self.details['npts_inter'] = ['', None, None]
-        self.details['nu_inter0'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = ['n_layers', 'func_inter0', 'func_inter1', 'func_inter2', 'func_inter3', 'func_inter4', 'func_inter5', 'func_inter5', 'func_inter7', 'func_inter8', 'func_inter9', 'func_inter10']
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_ReflAdvModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(ReflAdvModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CReflAdvModel.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 CReflAdvModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CReflAdvModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CReflAdvModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CReflAdvModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/ReflModel.py
===================================================================
--- sansmodels/src/sans/models/ReflModel.py	(revision 0b082f3de70162b384089745e139588fda206422)
+++ 	(revision )
@@ -1,255 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/refl.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CReflModel
-import copy    
-
-def create_ReflModel():
-    obj = ReflModel()
-    #CReflModel.__init__(obj) is called by ReflModel constructor
-    return obj
-
-class ReflModel(CReflModel, BaseComponent):
-    """ 
-    Class that evaluates a ReflModel model. 
-    This file was auto-generated from ../c_extensions/refl.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         n_layers        = 1.0 
-         scale           = 1.0 
-         thick_inter0    = 1.0 [A]
-         func_inter0     = 0.0 
-         sld_bottom0     = 2.07e-06 [1/A^(2)]
-         sld_medium      = 1e-06 [1/A^(2)]
-         background      = 0.0 
-         sld_flat1       = 4e-06 [1/A^(2)]
-         sld_flat2       = 3.5e-06 [1/A^(2)]
-         sld_flat3       = 4e-06 [1/A^(2)]
-         sld_flat4       = 3.5e-06 [1/A^(2)]
-         sld_flat5       = 4e-06 [1/A^(2)]
-         sld_flat6       = 3.5e-06 [1/A^(2)]
-         sld_flat7       = 4e-06 [1/A^(2)]
-         sld_flat8       = 3.5e-06 [1/A^(2)]
-         sld_flat9       = 4e-06 [1/A^(2)]
-         sld_flat10      = 3.5e-06 [1/A^(2)]
-         thick_inter1    = 1.0 [A]
-         thick_inter2    = 1.0 [A]
-         thick_inter3    = 1.0 [A]
-         thick_inter4    = 1.0 [A]
-         thick_inter5    = 1.0 [A]
-         thick_inter6    = 1.0 [A]
-         thick_inter7    = 1.0 [A]
-         thick_inter8    = 1.0 [A]
-         thick_inter9    = 1.0 [A]
-         thick_inter10   = 1.0 [A]
-         thick_flat1     = 10.0 [A]
-         thick_flat2     = 100.0 [A]
-         thick_flat3     = 100.0 [A]
-         thick_flat4     = 100.0 [A]
-         thick_flat5     = 100.0 [A]
-         thick_flat6     = 100.0 [A]
-         thick_flat7     = 100.0 [A]
-         thick_flat8     = 100.0 [A]
-         thick_flat9     = 100.0 [A]
-         thick_flat10    = 100.0 [A]
-         func_inter1     = 0.0 
-         func_inter2     = 0.0 
-         func_inter3     = 0.0 
-         func_inter4     = 0.0 
-         func_inter5     = 0.0 
-         func_inter6     = 0.0 
-         func_inter7     = 0.0 
-         func_inter8     = 0.0 
-         func_inter9     = 0.0 
-         func_inter10    = 0.0 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CReflModel.__init__, (self,)) 
-        CReflModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "ReflModel"
-        ## Model description
-        self.description ="""Calculate neutron reflectivity using the Parratt iterative formula
-		Parameters:
-		background:background
-		scale: scale factor
-		sld_bottom0: the SLD of the substrate
-		sld_medium: the SLD of the incident medium
-		or superstrate
-		sld_flatN: the SLD of the flat region of
-		the N'th layer
-		thick_flatN: the thickness of the flat
-		region of the N'th layer
-		func_interN: the function used to describe
-		the interface of the N'th layer
-		thick_interN: the thickness of the interface
-		of the N'th layer
-		Note: the layer number starts to increase
-		from the bottom (substrate) to the top."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['n_layers'] = ['', None, None]
-        self.details['scale'] = ['', None, None]
-        self.details['thick_inter0'] = ['[A]', None, None]
-        self.details['func_inter0'] = ['', None, None]
-        self.details['sld_bottom0'] = ['[1/A^(2)]', None, None]
-        self.details['sld_medium'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['', None, None]
-        self.details['sld_flat1'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat2'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat3'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat4'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat5'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat6'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat7'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat8'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat9'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat10'] = ['[1/A^(2)]', None, None]
-        self.details['thick_inter1'] = ['[A]', None, None]
-        self.details['thick_inter2'] = ['[A]', None, None]
-        self.details['thick_inter3'] = ['[A]', None, None]
-        self.details['thick_inter4'] = ['[A]', None, None]
-        self.details['thick_inter5'] = ['[A]', None, None]
-        self.details['thick_inter6'] = ['[A]', None, None]
-        self.details['thick_inter7'] = ['[A]', None, None]
-        self.details['thick_inter8'] = ['[A]', None, None]
-        self.details['thick_inter9'] = ['[A]', None, None]
-        self.details['thick_inter10'] = ['[A]', None, None]
-        self.details['thick_flat1'] = ['[A]', None, None]
-        self.details['thick_flat2'] = ['[A]', None, None]
-        self.details['thick_flat3'] = ['[A]', None, None]
-        self.details['thick_flat4'] = ['[A]', None, None]
-        self.details['thick_flat5'] = ['[A]', None, None]
-        self.details['thick_flat6'] = ['[A]', None, None]
-        self.details['thick_flat7'] = ['[A]', None, None]
-        self.details['thick_flat8'] = ['[A]', None, None]
-        self.details['thick_flat9'] = ['[A]', None, None]
-        self.details['thick_flat10'] = ['[A]', None, None]
-        self.details['func_inter1'] = ['', None, None]
-        self.details['func_inter2'] = ['', None, None]
-        self.details['func_inter3'] = ['', None, None]
-        self.details['func_inter4'] = ['', None, None]
-        self.details['func_inter5'] = ['', None, None]
-        self.details['func_inter6'] = ['', None, None]
-        self.details['func_inter7'] = ['', None, None]
-        self.details['func_inter8'] = ['', None, None]
-        self.details['func_inter9'] = ['', None, None]
-        self.details['func_inter10'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = ['n_layers', 'func_inter0', 'func_inter1', 'func_inter2', 'func_inter3', 'func_inter4', 'func_inter5', 'func_inter5', 'func_inter7', 'func_inter8', 'func_inter9', 'func_inter10']
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_ReflModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(ReflModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CReflModel.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 CReflModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CReflModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CReflModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CReflModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/SCCrystalModel.py
===================================================================
--- sansmodels/src/sans/models/SCCrystalModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,182 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/sc.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CSCCrystalModel
-import copy    
-
-def create_SCCrystalModel():
-    obj = SCCrystalModel()
-    #CSCCrystalModel.__init__(obj) is called by SCCrystalModel constructor
-    return obj
-
-class SCCrystalModel(CSCCrystalModel, BaseComponent):
-    """ 
-    Class that evaluates a SCCrystalModel model. 
-    This file was auto-generated from ../c_extensions/sc.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         dnn             = 220.0 [A]
-         d_factor        = 0.06 
-         radius          = 40.0 [A]
-         sldSph          = 3e-06 [1/A^(2)]
-         sldSolv         = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         theta           = 0.0 [deg]
-         phi             = 0.0 [deg]
-         psi             = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CSCCrystalModel.__init__, (self,)) 
-        CSCCrystalModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "SCCrystalModel"
-        ## Model description
-        self.description ="""P(q)=(scale/Vp)*V_lattice*P(q)*Z(q)+bkg where scale is the volume
-		fraction of sphere,
-		Vp = volume of the primary particle,
-		V_lattice = volume correction for
-		for the crystal structure,
-		P(q)= form factor of the sphere (normalized),
-		Z(q)= paracrystalline structure factor
-		for a simple cubic structure.
-		[Simple Cubic ParaCrystal Model]
-		Parameters;
-		scale: volume fraction of spheres
-		bkg:background, R: radius of sphere
-		dnn: Nearest neighbor distance
-		d_factor: Paracrystal distortion factor
-		radius: radius of the spheres
-		sldSph: SLD of the sphere
-		sldSolv: SLD of the solvent
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['dnn'] = ['[A]', None, None]
-        self.details['d_factor'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['sldSph'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['theta'] = ['[deg]', None, None]
-        self.details['phi'] = ['[deg]', None, None]
-        self.details['psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'phi.width', 'psi.width', 'theta.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['phi', 'psi', 'theta', 'phi.width', 'psi.width', 'theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_SCCrystalModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(SCCrystalModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CSCCrystalModel.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 CSCCrystalModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CSCCrystalModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CSCCrystalModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CSCCrystalModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/SLDCalFunc.py
===================================================================
--- sansmodels/src/sans/models/SLDCalFunc.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,157 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/sld_cal.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CSLDCalFunc
-import copy    
-
-def create_SLDCalFunc():
-    obj = SLDCalFunc()
-    #CSLDCalFunc.__init__(obj) is called by SLDCalFunc constructor
-    return obj
-
-class SLDCalFunc(CSLDCalFunc, BaseComponent):
-    """ 
-    Class that evaluates a SLDCalFunc model. 
-    This file was auto-generated from ../c_extensions/sld_cal.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         fun_type        = 0.0 
-         npts_inter      = 21.0 
-         shell_num       = 0.0 
-         nu_inter        = 2.5 
-         sld_left        = 0.0 [1/A^(2)]
-         sld_right       = 0.0 [1/A^(2)]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CSLDCalFunc.__init__, (self,)) 
-        CSLDCalFunc.__init__(self)
-        
-        ## Name of the model
-        self.name = "SLDCalFunc"
-        ## Model description
-        self.description ="""To calculate sld values"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['fun_type'] = ['', None, None]
-        self.details['npts_inter'] = ['', None, None]
-        self.details['shell_num'] = ['', None, None]
-        self.details['nu_inter'] = ['', None, None]
-        self.details['sld_left'] = ['[1/A^(2)]', None, None]
-        self.details['sld_right'] = ['[1/A^(2)]', None, None]
-
-        ## fittable parameters
-        self.fixed=['</text>']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_SLDCalFunc,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(SLDCalFunc())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CSLDCalFunc.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 CSLDCalFunc.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CSLDCalFunc.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CSLDCalFunc.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CSLDCalFunc.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/Schulz.py
===================================================================
--- sansmodels/src/sans/models/Schulz.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,153 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/schulz.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CSchulz
-import copy    
-
-def create_Schulz():
-    obj = Schulz()
-    #CSchulz.__init__(obj) is called by Schulz constructor
-    return obj
-
-class Schulz(CSchulz, BaseComponent):
-    """ 
-    Class that evaluates a Schulz model. 
-    This file was auto-generated from ../c_extensions/schulz.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)
-        #apply(CSchulz.__init__, (self,)) 
-        CSchulz.__init__(self)
-        
-        ## Name of the model
-        self.name = "Schulz"
-        ## Model description
-        self.description =""" f(x)=scale * math.pow(z+1, z+1)*math.pow((R), z)*
-		math.exp(-R*(z+1))/(center*gamma(z+1)
-		z= math.pow[(1/(sigma/center),2]-1"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['sigma'] = ['', None, None]
-        self.details['center'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=[]
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_Schulz,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(Schulz())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CSchulz.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 CSchulz.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CSchulz.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CSchulz.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CSchulz.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/SphereModel.py
===================================================================
--- sansmodels/src/sans/models/SphereModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,162 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/sphere.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CSphereModel
-import copy    
-
-def create_SphereModel():
-    obj = SphereModel()
-    #CSphereModel.__init__(obj) is called by SphereModel constructor
-    return obj
-
-class SphereModel(CSphereModel, BaseComponent):
-    """ 
-    Class that evaluates a SphereModel model. 
-    This file was auto-generated from ../c_extensions/sphere.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         radius          = 60.0 [A]
-         sldSph          = 2e-06 [1/A^(2)]
-         sldSolv         = 1e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CSphereModel.__init__, (self,)) 
-        CSphereModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "SphereModel"
-        ## Model description
-        self.description ="""P(q)=(scale/V)*[3V(sldSph-sldSolv)*(sin(qR)-qRcos(qR))
-		/(qR)^3]^(2)+bkg
-		
-		bkg:background, R: radius of sphere
-		V:The volume of the scatter
-		sldSph: the SLD of the sphere
-		sldSolv: the SLD of the solvent
-		"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['sldSph'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_SphereModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(SphereModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CSphereModel.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 CSphereModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CSphereModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CSphereModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CSphereModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/SphereSLDModel.py
===================================================================
--- sansmodels/src/sans/models/SphereSLDModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,282 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/spheresld.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CSphereSLDModel
-import copy    
-
-def create_SphereSLDModel():
-    obj = SphereSLDModel()
-    #CSphereSLDModel.__init__(obj) is called by SphereSLDModel constructor
-    return obj
-
-class SphereSLDModel(CSphereSLDModel, BaseComponent):
-    """ 
-    Class that evaluates a SphereSLDModel model. 
-    This file was auto-generated from ../c_extensions/spheresld.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         n_shells        = 1.0 
-         scale           = 1.0 
-         thick_inter0    = 50.0 [A]
-         func_inter0     = 0.0 
-         sld_core0       = 2.07e-06 [1/A^(2)]
-         sld_solv        = 1e-06 [1/A^(2)]
-         background      = 0.0 
-         sld_flat1       = 4e-06 [1/A^(2)]
-         sld_flat2       = 3.5e-06 [1/A^(2)]
-         sld_flat3       = 4e-06 [1/A^(2)]
-         sld_flat4       = 3.5e-06 [1/A^(2)]
-         sld_flat5       = 4e-06 [1/A^(2)]
-         sld_flat6       = 3.5e-06 [1/A^(2)]
-         sld_flat7       = 4e-06 [1/A^(2)]
-         sld_flat8       = 3.5e-06 [1/A^(2)]
-         sld_flat9       = 4e-06 [1/A^(2)]
-         sld_flat10      = 3.5e-06 [1/A^(2)]
-         thick_inter1    = 50.0 [A]
-         thick_inter2    = 50.0 [A]
-         thick_inter3    = 50.0 [A]
-         thick_inter4    = 50.0 [A]
-         thick_inter5    = 50.0 [A]
-         thick_inter6    = 50.0 [A]
-         thick_inter7    = 50.0 [A]
-         thick_inter8    = 50.0 [A]
-         thick_inter9    = 50.0 [A]
-         thick_inter10   = 50.0 [A]
-         thick_flat1     = 100.0 [A]
-         thick_flat2     = 100.0 [A]
-         thick_flat3     = 100.0 [A]
-         thick_flat4     = 100.0 [A]
-         thick_flat5     = 100.0 [A]
-         thick_flat6     = 100.0 [A]
-         thick_flat7     = 100.0 [A]
-         thick_flat8     = 100.0 [A]
-         thick_flat9     = 100.0 [A]
-         thick_flat10    = 100.0 [A]
-         func_inter1     = 0.0 
-         func_inter2     = 0.0 
-         func_inter3     = 0.0 
-         func_inter4     = 0.0 
-         func_inter5     = 0.0 
-         func_inter6     = 0.0 
-         func_inter7     = 0.0 
-         func_inter8     = 0.0 
-         func_inter9     = 0.0 
-         func_inter10    = 0.0 
-         nu_inter1       = 2.5 
-         nu_inter2       = 2.5 
-         nu_inter3       = 2.5 
-         nu_inter4       = 2.5 
-         nu_inter5       = 2.5 
-         nu_inter6       = 2.5 
-         nu_inter7       = 2.5 
-         nu_inter8       = 2.5 
-         nu_inter9       = 2.5 
-         nu_inter10      = 2.5 
-         npts_inter      = 35.0 
-         nu_inter0       = 2.5 
-         rad_core0       = 50.0 [A]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CSphereSLDModel.__init__, (self,)) 
-        CSphereSLDModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "SphereSLDModel"
-        ## Model description
-        self.description ="""Calculate neutron reflectivity using the Parratt iterative formula
-		Parameters:
-		background:background
-		scale: scale factor
-		sld_core0: the SLD of the substrate
-		sld_solv: the SLD of the incident medium
-		or superstrate
-		sld_flatN: the SLD of the flat region of
-		the N'th layer
-		thick_flatN: the thickness of the flat
-		region of the N'th layer
-		func_interN: the function used to describe
-		the interface of the N'th layer
-		nu_interN: the coefficient for the func_interN
-		thick_interN: the thickness of the interface
-		of the N'th layer
-		Note: the layer number starts to increase
-		from the bottom (substrate) to the top."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['n_shells'] = ['', None, None]
-        self.details['scale'] = ['', None, None]
-        self.details['thick_inter0'] = ['[A]', None, None]
-        self.details['func_inter0'] = ['', None, None]
-        self.details['sld_core0'] = ['[1/A^(2)]', None, None]
-        self.details['sld_solv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['', None, None]
-        self.details['sld_flat1'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat2'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat3'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat4'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat5'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat6'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat7'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat8'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat9'] = ['[1/A^(2)]', None, None]
-        self.details['sld_flat10'] = ['[1/A^(2)]', None, None]
-        self.details['thick_inter1'] = ['[A]', None, None]
-        self.details['thick_inter2'] = ['[A]', None, None]
-        self.details['thick_inter3'] = ['[A]', None, None]
-        self.details['thick_inter4'] = ['[A]', None, None]
-        self.details['thick_inter5'] = ['[A]', None, None]
-        self.details['thick_inter6'] = ['[A]', None, None]
-        self.details['thick_inter7'] = ['[A]', None, None]
-        self.details['thick_inter8'] = ['[A]', None, None]
-        self.details['thick_inter9'] = ['[A]', None, None]
-        self.details['thick_inter10'] = ['[A]', None, None]
-        self.details['thick_flat1'] = ['[A]', None, None]
-        self.details['thick_flat2'] = ['[A]', None, None]
-        self.details['thick_flat3'] = ['[A]', None, None]
-        self.details['thick_flat4'] = ['[A]', None, None]
-        self.details['thick_flat5'] = ['[A]', None, None]
-        self.details['thick_flat6'] = ['[A]', None, None]
-        self.details['thick_flat7'] = ['[A]', None, None]
-        self.details['thick_flat8'] = ['[A]', None, None]
-        self.details['thick_flat9'] = ['[A]', None, None]
-        self.details['thick_flat10'] = ['[A]', None, None]
-        self.details['func_inter1'] = ['', None, None]
-        self.details['func_inter2'] = ['', None, None]
-        self.details['func_inter3'] = ['', None, None]
-        self.details['func_inter4'] = ['', None, None]
-        self.details['func_inter5'] = ['', None, None]
-        self.details['func_inter6'] = ['', None, None]
-        self.details['func_inter7'] = ['', None, None]
-        self.details['func_inter8'] = ['', None, None]
-        self.details['func_inter9'] = ['', None, None]
-        self.details['func_inter10'] = ['', None, None]
-        self.details['nu_inter1'] = ['', None, None]
-        self.details['nu_inter2'] = ['', None, None]
-        self.details['nu_inter3'] = ['', None, None]
-        self.details['nu_inter4'] = ['', None, None]
-        self.details['nu_inter5'] = ['', None, None]
-        self.details['nu_inter6'] = ['', None, None]
-        self.details['nu_inter7'] = ['', None, None]
-        self.details['nu_inter8'] = ['', None, None]
-        self.details['nu_inter9'] = ['', None, None]
-        self.details['nu_inter10'] = ['', None, None]
-        self.details['npts_inter'] = ['', None, None]
-        self.details['nu_inter0'] = ['', None, None]
-        self.details['rad_core0'] = ['[A]', None, None]
-
-        ## fittable parameters
-        self.fixed=['rad_core0.width', 'thick_inter0.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = ['n_shells', 'func_inter0', 'func_inter1', 'func_inter2', 'func_inter3', 'func_inter4', 'func_inter5', 'func_inter5', 'func_inter7', 'func_inter8', 'func_inter9', 'func_inter10']
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_SphereSLDModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(SphereSLDModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CSphereSLDModel.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 CSphereSLDModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CSphereSLDModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CSphereSLDModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CSphereSLDModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/SquareWellStructure.py
===================================================================
--- sansmodels/src/sans/models/SquareWellStructure.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,168 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/SquareWell.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CSquareWellStructure
-import copy    
-
-def create_SquareWellStructure():
-    obj = SquareWellStructure()
-    #CSquareWellStructure.__init__(obj) is called by SquareWellStructure constructor
-    return obj
-
-class SquareWellStructure(CSquareWellStructure, BaseComponent):
-    """ 
-    Class that evaluates a SquareWellStructure model. 
-    This file was auto-generated from ../c_extensions/SquareWell.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         effect_radius   = 50.0 [A]
-         volfraction     = 0.04 
-         welldepth       = 1.5 [kT]
-         wellwidth       = 1.2 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CSquareWellStructure.__init__, (self,)) 
-        CSquareWellStructure.__init__(self)
-        
-        ## Name of the model
-        self.name = "SquareWellStructure"
-        ## Model description
-        self.description =""" Structure Factor for interacting particles:             .
-		
-		The interaction potential is
-		
-		U(r)= inf   , r < 2R
-		= -d    , 2R <= r <=2Rw
-		= 0     , r >= 2Rw
-		
-		R: effective radius (A)of the particle
-		v: volume fraction
-		d: well depth
-		w: well width; multiples of the
-		particle diameter
-		
-		Ref: Sharma, R. V.; Sharma,
-		K. C., Physica, 1977, 89A, 213."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['effect_radius'] = ['[A]', None, None]
-        self.details['volfraction'] = ['', None, None]
-        self.details['welldepth'] = ['[kT]', None, None]
-        self.details['wellwidth'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=['effect_radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_SquareWellStructure,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(SquareWellStructure())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CSquareWellStructure.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 CSquareWellStructure.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CSquareWellStructure.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CSquareWellStructure.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CSquareWellStructure.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/StackedDisksModel.py
===================================================================
--- sansmodels/src/sans/models/StackedDisksModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,177 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/stacked_disks.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CStackedDisksModel
-import copy    
-
-def create_StackedDisksModel():
-    obj = StackedDisksModel()
-    #CStackedDisksModel.__init__(obj) is called by StackedDisksModel constructor
-    return obj
-
-class StackedDisksModel(CStackedDisksModel, BaseComponent):
-    """ 
-    Class that evaluates a StackedDisksModel model. 
-    This file was auto-generated from ../c_extensions/stacked_disks.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 0.01 
-         radius          = 3000.0 [A]
-         core_thick      = 10.0 [A]
-         layer_thick     = 15.0 [A]
-         core_sld        = 4e-06 [1/A^(2)]
-         layer_sld       = -4e-07 [1/A^(2)]
-         solvent_sld     = 5e-06 [1/A^(2)]
-         n_stacking      = 1.0 
-         sigma_d         = 0.0 
-         background      = 0.001 [1/cm]
-         axis_theta      = 0.0 [rad]
-         axis_phi        = 0.0 [rad]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CStackedDisksModel.__init__, (self,)) 
-        CStackedDisksModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "StackedDisksModel"
-        ## Model description
-        self.description =""" One layer of disk consists of a core, a top layer, and a bottom layer.
-		radius =  the radius of the disk
-		core_thick = thickness of the core
-		layer_thick = thickness of a layer
-		core_sld = the SLD of the core
-		layer_sld = the SLD of the layers
-		n_stacking = the number of the disks
-		sigma_d =  Gaussian STD of d-spacing
-		solvent_sld = the SLD of the solvent"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['core_thick'] = ['[A]', None, None]
-        self.details['layer_thick'] = ['[A]', None, None]
-        self.details['core_sld'] = ['[1/A^(2)]', None, None]
-        self.details['layer_sld'] = ['[1/A^(2)]', None, None]
-        self.details['solvent_sld'] = ['[1/A^(2)]', None, None]
-        self.details['n_stacking'] = ['', None, None]
-        self.details['sigma_d'] = ['', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['axis_theta'] = ['[rad]', None, None]
-        self.details['axis_phi'] = ['[rad]', None, None]
-
-        ## fittable parameters
-        self.fixed=['core_thick.width', 'layer_thick.width', 'radius.width', 'axis_theta.width', 'axis_phi.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['axis_phi', 'axis_theta', 'axis_phi.width', 'axis_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_StackedDisksModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(StackedDisksModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CStackedDisksModel.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 CStackedDisksModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CStackedDisksModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CStackedDisksModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CStackedDisksModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/StickyHSStructure.py
===================================================================
--- sansmodels/src/sans/models/StickyHSStructure.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,168 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/StickyHS.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CStickyHSStructure
-import copy    
-
-def create_StickyHSStructure():
-    obj = StickyHSStructure()
-    #CStickyHSStructure.__init__(obj) is called by StickyHSStructure constructor
-    return obj
-
-class StickyHSStructure(CStickyHSStructure, BaseComponent):
-    """ 
-    Class that evaluates a StickyHSStructure model. 
-    This file was auto-generated from ../c_extensions/StickyHS.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         effect_radius   = 50.0 [A]
-         volfraction     = 0.1 
-         perturb         = 0.05 
-         stickiness      = 0.2 
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CStickyHSStructure.__init__, (self,)) 
-        CStickyHSStructure.__init__(self)
-        
-        ## Name of the model
-        self.name = "StickyHSStructure"
-        ## Model description
-        self.description =""" Structure Factor for interacting particles:                               .
-		
-		The interaction potential is
-		
-		U(r)= inf , r < 2R
-		= -Uo  , 2R < r < 2R + w
-		= 0   , r >= 2R +w
-		
-		R: effective radius of the hardsphere
-		stickiness = [exp(Uo/kT)]/(12*perturb)
-		perturb = w/(w+ 2R) , 0.01 =< w <= 0.1
-		w: The width of the square well ,w > 0
-		v: The volume fraction , v > 0
-		
-		Ref: Menon, S. V. G.,et.al., J. Chem.
-		Phys., 1991, 95(12), 9186-9190."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['effect_radius'] = ['[A]', None, None]
-        self.details['volfraction'] = ['', None, None]
-        self.details['perturb'] = ['', None, None]
-        self.details['stickiness'] = ['', None, None]
-
-        ## fittable parameters
-        self.fixed=['effect_radius.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_StickyHSStructure,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(StickyHSStructure())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CStickyHSStructure.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 CStickyHSStructure.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CStickyHSStructure.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CStickyHSStructure.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CStickyHSStructure.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/TriaxialEllipsoidModel.py
===================================================================
--- sansmodels/src/sans/models/TriaxialEllipsoidModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,167 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/triaxial_ellipsoid.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CTriaxialEllipsoidModel
-import copy    
-
-def create_TriaxialEllipsoidModel():
-    obj = TriaxialEllipsoidModel()
-    #CTriaxialEllipsoidModel.__init__(obj) is called by TriaxialEllipsoidModel constructor
-    return obj
-
-class TriaxialEllipsoidModel(CTriaxialEllipsoidModel, BaseComponent):
-    """ 
-    Class that evaluates a TriaxialEllipsoidModel model. 
-    This file was auto-generated from ../c_extensions/triaxial_ellipsoid.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         semi_axisA      = 35.0 [A]
-         semi_axisB      = 100.0 [A]
-         semi_axisC      = 400.0 [A]
-         sldEll          = 1e-06 [1/A^(2)]
-         sldSolv         = 6.3e-06 [1/A^(2)]
-         background      = 0.0 [1/cm]
-         axis_theta      = 57.325 [deg]
-         axis_phi        = 57.325 [deg]
-         axis_psi        = 0.0 [deg]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CTriaxialEllipsoidModel.__init__, (self,)) 
-        CTriaxialEllipsoidModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "TriaxialEllipsoidModel"
-        ## Model description
-        self.description ="""Note: During fitting ensure that the inequality A<B<C is not
-		violated. Otherwise the calculation will
-		not be correct."""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['semi_axisA'] = ['[A]', None, None]
-        self.details['semi_axisB'] = ['[A]', None, None]
-        self.details['semi_axisC'] = ['[A]', None, None]
-        self.details['sldEll'] = ['[1/A^(2)]', None, None]
-        self.details['sldSolv'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-        self.details['axis_theta'] = ['[deg]', None, None]
-        self.details['axis_phi'] = ['[deg]', None, None]
-        self.details['axis_psi'] = ['[deg]', None, None]
-
-        ## fittable parameters
-        self.fixed=['axis_psi.width', 'axis_phi.width', 'axis_theta.width', 'semi_axisA.width', 'semi_axisB.width', 'semi_axisC.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = ['axis_psi', 'axis_phi', 'axis_theta', 'axis_psi.width', 'axis_phi.width', 'axis_theta.width']
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_TriaxialEllipsoidModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(TriaxialEllipsoidModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CTriaxialEllipsoidModel.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 CTriaxialEllipsoidModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CTriaxialEllipsoidModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CTriaxialEllipsoidModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CTriaxialEllipsoidModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
Index: sansmodels/src/sans/models/VesicleModel.py
===================================================================
--- sansmodels/src/sans/models/VesicleModel.py	(revision b1c329583252a790cb87cdc57a1ff238b357d5ba)
+++ 	(revision )
@@ -1,162 +1,0 @@
-#!/usr/bin/env python
-
-##############################################################################
-#	This software was developed by the University of Tennessee as part of the
-#	Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
-#	project funded by the US National Science Foundation.
-#
-#	If you use DANSE applications to do scientific research that leads to
-#	publication, we ask that you acknowledge the use of the software with the
-#	following sentence:
-#
-#	"This work benefited from DANSE software developed under NSF award DMR-0520547."
-#
-#	copyright 2008, University of Tennessee
-##############################################################################
-
-
-""" 
-Provide functionality for a C extension model
-
-:WARNING: THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
-         DO NOT MODIFY THIS FILE, MODIFY ../c_extensions/vesicle.h
-         AND RE-RUN THE GENERATOR SCRIPT
-
-"""
-
-from sans.models.BaseComponent import BaseComponent
-from sans.models.sans_extension.c_models import CVesicleModel
-import copy    
-
-def create_VesicleModel():
-    obj = VesicleModel()
-    #CVesicleModel.__init__(obj) is called by VesicleModel constructor
-    return obj
-
-class VesicleModel(CVesicleModel, BaseComponent):
-    """ 
-    Class that evaluates a VesicleModel model. 
-    This file was auto-generated from ../c_extensions/vesicle.h.
-    Refer to that file and the structure it contains
-    for details of the model.
-    List of default parameters:
-         scale           = 1.0 
-         radius          = 100.0 [A]
-         thickness       = 30.0 [A]
-         core_sld        = 6.36e-06 [1/A^(2)]
-         shell_sld       = 5e-07 [1/A^(2)]
-         background      = 0.0 [1/cm]
-
-    """
-        
-    def __init__(self):
-        """ Initialization """
-        
-        # Initialize BaseComponent first, then sphere
-        BaseComponent.__init__(self)
-        #apply(CVesicleModel.__init__, (self,)) 
-        CVesicleModel.__init__(self)
-        
-        ## Name of the model
-        self.name = "VesicleModel"
-        ## Model description
-        self.description ="""Model parameters:    radius : the core radius of the vesicle
-		thickness: the shell thickness
-		core_sld: the core SLD
-		shell_sld: the shell SLD
-		background: incoherent background
-		scale : scale factor"""
-       
-        ## Parameter details [units, min, max]
-        self.details = {}
-        self.details['scale'] = ['', None, None]
-        self.details['radius'] = ['[A]', None, None]
-        self.details['thickness'] = ['[A]', None, None]
-        self.details['core_sld'] = ['[1/A^(2)]', None, None]
-        self.details['shell_sld'] = ['[1/A^(2)]', None, None]
-        self.details['background'] = ['[1/cm]', None, None]
-
-        ## fittable parameters
-        self.fixed=['radius.width', 'thickness.width']
-        
-        ## non-fittable parameters
-        self.non_fittable = []
-        
-        ## parameters with orientation
-        self.orientation_params = []
-
-    def __setstate__(self, state):
-        """
-        restore the state of a model from pickle
-        """
-        self.__dict__, self.params, self.dispersion = state
-        
-    def __reduce_ex__(self, proto):
-        """
-        Overwrite the __reduce_ex__ of PyTypeObject *type call in the init of 
-        c model.
-        """
-        state = (self.__dict__, self.params, self.dispersion)
-        return (create_VesicleModel,tuple(), state, None, None)
-        
-    def clone(self):
-        """ Return a identical copy of self """
-        return self._clone(VesicleModel())   
-       	
-   
-    def run(self, x=0.0):
-        """ 
-        Evaluate the model
-        
-        :param x: input q, or [q,phi]
-        
-        :return: scattering function P(q)
-        
-        """
-        
-        return CVesicleModel.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 CVesicleModel.runXY(self, x)
-        
-    def evalDistribution(self, x=[]):
-        """ 
-        Evaluate the model in cartesian coordinates
-        
-        :param x: input q[], or [qx[], qy[]]
-        
-        :return: scattering function P(q[])
-        
-        """
-        return CVesicleModel.evalDistribution(self, x)
-        
-    def calculate_ER(self):
-        """ 
-        Calculate the effective radius for P(q)*S(q)
-        
-        :return: the value of the effective radius
-        
-        """       
-        return CVesicleModel.calculate_ER(self)
-        
-    def set_dispersion(self, parameter, dispersion):
-        """
-        Set the dispersion object for a model parameter
-        
-        :param parameter: name of the parameter [string]
-        :param dispersion: dispersion object of type DispersionModel
-        
-        """
-        return CVesicleModel.set_dispersion(self, parameter, dispersion.cdisp)
-        
-   
-# End of file
