Home > mml > switch2physics.m

switch2physics

PURPOSE ^

SWITCH2PHYSICS - Switch family to physics units

SYNOPSIS ^

function ErrorFlag = switch2physics(Family)

DESCRIPTION ^

SWITCH2PHYSICS - Switch family to physics units

   ErrorFlag = switch2physics(Family)

   Family - Family name string 
            Matrix of family name strings
            Cell array of family name strings
            {Default: All families}

   ErrorFlag - Number of errors that occurred

   See Also switch2hardware, switch2hw

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function ErrorFlag = switch2physics(Family)
0002 %SWITCH2PHYSICS - Switch family to physics units
0003 %
0004 %   ErrorFlag = switch2physics(Family)
0005 %
0006 %   Family - Family name string
0007 %            Matrix of family name strings
0008 %            Cell array of family name strings
0009 %            {Default: All families}
0010 %
0011 %   ErrorFlag - Number of errors that occurred
0012 %
0013 %   See Also switch2hardware, switch2hw
0014 
0015 %
0016 %   Written by Gregory J. Portmann
0017 
0018 
0019 ErrorFlag = 0;
0020 
0021 if nargin == 0
0022     Family = getfamilylist;
0023 end
0024 if isempty(Family)
0025     Family = getfamilylist;
0026 end
0027 
0028 
0029 if ischar(Family)
0030     for i = 1:size(Family,1)
0031         FamilyNameCell(i) = {deblank(Family(i,:))};
0032     end
0033 elseif iscell(Family)
0034     FamilyNameCell = Family;
0035 else
0036     error('Familyname input must be empty, a string matrix, or a cell array of strings');
0037 end
0038 
0039 
0040 for i = 1:length(FamilyNameCell)
0041     AOFamily = getfamilydata(FamilyNameCell{i});
0042     try
0043         AllFields = fieldnames(AOFamily);
0044         for j = 1:length(AllFields)
0045             if isfield(AOFamily.(AllFields{j}),'Units')
0046                 setfamilydata('Physics', AOFamily.FamilyName, AllFields{j}, 'Units');
0047             end
0048         end
0049     catch
0050         ErrorFlag = ErrorFlag + 1;
0051         fprintf('   Error switching %s family to physics units, hence ignored (switch2physics)\n', FamilyNameCell{i});        
0052     end
0053 end
0054 
0055 
0056 if ~ErrorFlag
0057     if length(FamilyNameCell) == 1
0058         fprintf('   Switched %s family to physics units (%s)\n', FamilyNameCell{1}, datestr(clock,0));
0059     else
0060         fprintf('   Switched %d families to physics units (%s)\n', length(FamilyNameCell)-ErrorFlag, datestr(clock,0));
0061     end
0062 end
0063

Generated on Mon 21-May-2007 15:29:18 by m2html © 2003