source: MML/trunk/mml/switch2physics.m

Last change on this file was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 1.6 KB
Line 
1function ErrorFlag = switch2physics(Family)
2%SWITCH2PHYSICS - Switch family to physics units
3%
4%   ErrorFlag = switch2physics(Family)
5%
6%   Family - Family name string
7%            Matrix of family name strings
8%            Cell array of family name strings
9%            {Default: All families}
10%
11%   ErrorFlag - Number of errors that occurred
12%
13%   See Also switch2hardware, switch2hw
14
15%
16%   Written by Gregory J. Portmann
17
18
19ErrorFlag = 0;
20
21if nargin == 0
22    Family = getfamilylist;
23end
24if isempty(Family)
25    Family = getfamilylist;
26end
27
28
29if ischar(Family)
30    for i = 1:size(Family,1)
31        FamilyNameCell(i) = {deblank(Family(i,:))};
32    end
33elseif iscell(Family)
34    FamilyNameCell = Family;
35else
36    error('Familyname input must be empty, a string matrix, or a cell array of strings');
37end
38
39
40for i = 1:length(FamilyNameCell)
41    AOFamily = getfamilydata(FamilyNameCell{i});
42    try
43        AllFields = fieldnames(AOFamily);
44        for j = 1:length(AllFields)
45            if isfield(AOFamily.(AllFields{j}),'Units')
46                setfamilydata('Physics', AOFamily.FamilyName, AllFields{j}, 'Units');
47            end
48        end
49    catch
50        ErrorFlag = ErrorFlag + 1;
51        fprintf('   Error switching %s family to physics units, hence ignored (switch2physics)\n', FamilyNameCell{i});       
52    end
53end
54
55
56if ~ErrorFlag
57    if length(FamilyNameCell) == 1
58        fprintf('   Switched %s family to physics units (%s)\n', FamilyNameCell{1}, datestr(clock,0));
59    else
60        fprintf('   Switched %d families to physics units (%s)\n', length(FamilyNameCell)-ErrorFlag, datestr(clock,0));
61    end
62end
63
Note: See TracBrowser for help on using the repository browser.