SETANGLES - set signal internal and external angles [internal, external] = setangles(mode, preInternal, preExternal) preInternal and preExternal drawn from file and cannot be 'OPTIMAL' [internal, external] = setangles(mode, preInternal, preExternal, nSim) preInternal and preExternal directly input into makelist and cannot be 'OPTIMAL' [internal, external] = setangles(mode, preInternal, preExternal, nSim, ... detId) preInternal and preExternal can be 'OPTIMAL' mode operating mode of makelist preInternal intermediate internal angles preExternal intermediate external angles nSim (optional) number of angles to generate detId (optional) detector identifier internal determined internal angles external determined external angles
0001 function [internal, external] = setangles(mode, preInternal, preExternal, ... 0002 varargin) 0003 0004 % SETANGLES - set signal internal and external angles 0005 % 0006 % [internal, external] = setangles(mode, preInternal, preExternal) 0007 % preInternal and preExternal drawn from file and cannot be 'OPTIMAL' 0008 % [internal, external] = setangles(mode, preInternal, preExternal, nSim) 0009 % preInternal and preExternal directly input into makelist and cannot 0010 % be 'OPTIMAL' 0011 % [internal, external] = setangles(mode, preInternal, preExternal, nSim, ... 0012 % detId) 0013 % preInternal and preExternal can be 'OPTIMAL' 0014 % 0015 % mode operating mode of makelist 0016 % preInternal intermediate internal angles 0017 % preExternal intermediate external angles 0018 % nSim (optional) number of angles to generate 0019 % detId (optional) detector identifier 0020 % 0021 % internal determined internal angles 0022 % external determined external angles 0023 0024 % $Id: setangles.m,v 1.2 2004/05/10 20:26:14 stuver Exp $ 0025 0026 % DETERMINE arguments for setinternal and setexternal based on varargin 0027 % GET internal and external from setinternal and setexternal 0028 0029 [internal, external] = deal([], []); 0030 0031 if length(varargin) == 0 0032 % preInternal and preExternal drawn from file and cannot be 'OPTIMAL' 0033 % Therefore, do not need nSim or detID 0034 internal = setinternal(mode, preInternal); 0035 external = setexternal(mode, preExternal); 0036 elseif length(varargin) == 1 0037 % preInternal and preExternal directly input into makelist and cannot 0038 % be 'OPTIMAL' 0039 % Therefore, do not need detID but do need nSim 0040 nSim = varargin{1}; 0041 internal = setinternal(mode, preInternal, nSim); 0042 if isempty(internal) 0043 error('makelist -> setangles: setinternal returned empty internal') 0044 end 0045 external = setexternal(mode, preExternal, nSim); 0046 if isempty(external) 0047 error('makelist -> setangles: setexternal returned empty external') 0048 end 0049 0050 elseif length(varargin) == 2 0051 % preInternal and preExternal can be 'OPTIMAL' 0052 % Therefore, detId is needed. nSim may or may not be; if not, assume 0053 % varargin{1} still exists 0054 nSim = varargin{1}; 0055 detId = varargin{2}; 0056 internal = setinternal(mode, preInternal, nSim); 0057 if isempty(internal) 0058 error('makelist -> setangles: setinternal returned empty internal') 0059 end 0060 external = setexternal(mode, preExternal, nSim, detId); 0061 if isempty(external) 0062 error('makelist -> setangles: setexternal returned empty external') 0063 end 0064 else 0065 error(['makelist -> setangles: input is (mode, preInternal, '... 0066 'preExternal) | (mode, preInternal, preExternal, nSim) | '... 0067 '(mode, preInternal, preExternal, nSim, detId)']) 0068 end 0069 0070 return