Ignore:
Timestamp:
Oct 15, 2008 1:01:06 PM (16 years ago)
Author:
Mathieu Doucet <doucetm@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
00353b4
Parents:
ae60f86
Message:

Updated cloning

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/BaseComponent.py

    rae60f86 r8809e48  
    3838    def clone(self): 
    3939        """ Returns a new object identical to the current object """ 
    40          
    4140        obj = copy.deepcopy(self) 
     41        return self._clone(obj) 
     42     
     43    def _clone(self, obj): 
     44        """ 
     45            Internal utility function to copy the internal 
     46            data members to a fresh copy. 
     47        """ 
    4248        obj.params     = copy.deepcopy(self.params) 
    4349        obj.details    = copy.deepcopy(self.details) 
    4450        obj.dispersion = copy.deepcopy(self.dispersion) 
    45      
    4651        return obj 
    4752 
     
    7075             
    7176        raise ValueError, "Model does not contain parameter %s" % name 
    72          
    73  
    74     def _setParam(self, name, value): 
    75         """  
    76             Set the value of a model parameter 
    77          
    78             @param name: name of the parameter 
    79             @param value: value of the parameter 
    80         """ 
    81         # Look for dispersion parameters 
    82         toks = name.split('.') 
    83         if len(toks)==2 and toks[0] in self.dispersion: 
    84             # Setting a dispersion model parameter 
    85             if toks[1] in self.dispersion[toks[0]]:  
    86                 self.dispersion[toks[0]][toks[1]] = value 
    87                 return 
    88             else: 
    89                 raise ValueError, "Model does not contain parameter %s.%s" % (toks[0], toks[1]) 
    90          
    91         if name in self.params.keys(): 
    92             self.params[name] = value 
    93         else: 
    94             raise ValueError, "Model does not contain parameter %s" % name 
    95          
    96     def _getParam(self, name): 
    97         """  
    98             Set the value of a model parameter 
    99  
    100             @param name: name of the parameter 
    101         """ 
    102         # Look for dispersion parameters 
    103         toks = name.split('.') 
    104         if len(toks)==2 and toks[0] in self.dispersion: 
    105             # Setting a dispersion model parameter 
    106             if toks[1] in self.dispersion[toks[0]]:  
    107                 return self.dispersion[toks[0]][toks[1]]  
    108             else: 
    109                 raise ValueError, "Model does not contain parameter %s.%s" % (toks[0], toks[1]) 
    110  
    111         if name in self.params.keys(): 
    112             return self.params[name] 
    113         else: 
    114             raise ValueError, "Model does not contain parameter %s" % name 
    11577         
    11678    def getParam(self, name): 
Note: See TracChangeset for help on using the changeset viewer.