Index: src/sans/models/CoreShellEllipsoidXTModel.py
===================================================================
--- src/sans/models/CoreShellEllipsoidXTModel.py	(revision 400155bab01bdb35b3cf83069f57cf9f47005bca)
+++ src/sans/models/CoreShellEllipsoidXTModel.py	(revision 400155bab01bdb35b3cf83069f57cf9f47005bca)
@@ -0,0 +1,218 @@
+##############################################################################
+# 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-2011, University of Tennessee
+##############################################################################
+
+""" 
+Provide functionality for a C extension model
+
+.. WARNING::
+
+   THIS FILE WAS GENERATED BY WRAPPERGENERATOR.PY
+   DO NOT MODIFY THIS FILE, MODIFY
+   src\sans\models\include\spheroidXT.h
+   AND RE-RUN THE GENERATOR SCRIPT
+"""
+
+from sans.models.BaseComponent import BaseComponent
+from sans.models.sans_extension.c_models import CCoreShellEllipsoidXTModel
+
+def create_CoreShellEllipsoidXTModel():
+    """
+       Create a model instance
+    """
+    obj = CoreShellEllipsoidXTModel()
+    # CCoreShellEllipsoidXTModel.__init__(obj) is called by
+    # the CoreShellEllipsoidXTModel constructor
+    return obj
+
+class CoreShellEllipsoidXTModel(CCoreShellEllipsoidXTModel, BaseComponent):
+    """ 
+    Class that evaluates a CoreShellEllipsoidXTModel model. 
+    This file was auto-generated from src\sans\models\include\spheroidXT.h.
+    Refer to that file and the structure it contains
+    for details of the model.
+    
+    List of default parameters:
+
+    * scale           = 0.05 
+    * equat_core      = 20.0 [A]
+    * X_core          = 3.0 
+    * T_shell         = 30.0 [A]
+    * XpolarShell     = 1.0 
+    * 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, multfactor=1):
+        """ Initialization """
+        self.__dict__ = {}
+        
+        # Initialize BaseComponent first, then sphere
+        BaseComponent.__init__(self)
+        #apply(CCoreShellEllipsoidXTModel.__init__, (self,)) 
+
+        CCoreShellEllipsoidXTModel.__init__(self)
+        self.is_multifunc = False
+		        
+        ## Name of the model
+        self.name = "CoreShellEllipsoidXTModel"
+        ## 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_core*X_core,
+		equat_shell = equatorial radius of outer surface = equat_core + T_shell,
+		polar_shell = polar radius (revolution axis) of outer surface =  equat_core*X_core + XpolarShell*T_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 - this new model will make this easier
+		and polydispersity integrals more logical (as previously the shell could disappear).
+        """
+       
+        ## Parameter details [units, min, max]
+        self.details = {}
+        self.details['scale'] = ['', None, None]
+        self.details['equat_core'] = ['[A]', None, None]
+        self.details['X_core'] = ['', None, None]
+        self.details['T_shell'] = ['[A]', None, None]
+        self.details['XpolarShell'] = ['', 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',
+                      'X_core.width',
+                      'T_shell.width',
+                      'Xpolarshell.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']
+
+        ## parameters with magnetism
+        self.magnetic_params = []
+
+        self.category = None
+        self.multiplicity_info = None
+        
+    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_CoreShellEllipsoidXTModel, tuple(), state, None, None)
+        
+    def clone(self):
+        """ Return a identical copy of self """
+        return self._clone(CoreShellEllipsoidXTModel())   
+       	
+    def run(self, x=0.0):
+        """ 
+        Evaluate the model
+        
+        :param x: input q, or [q,phi]
+        
+        :return: scattering function P(q)
+        
+        """
+        return CCoreShellEllipsoidXTModel.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 CCoreShellEllipsoidXTModel.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 CCoreShellEllipsoidXTModel.evalDistribution(self, x)
+        
+    def calculate_ER(self):
+        """ 
+        Calculate the effective radius for P(q)*S(q)
+        
+        :return: the value of the effective radius
+        
+        """       
+        return CCoreShellEllipsoidXTModel.calculate_ER(self)
+        
+    def calculate_VR(self):
+        """ 
+        Calculate the volf ratio for P(q)*S(q)
+        
+        :return: the value of the volf ratio
+        
+        """       
+        return CCoreShellEllipsoidXTModel.calculate_VR(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 CCoreShellEllipsoidXTModel.set_dispersion(self,
+               parameter, dispersion.cdisp)
+        
+   
+# End of file
+
