Home > . > setangles.m

setangles

PURPOSE ^

SETANGLES - set signal internal and external angles

SYNOPSIS ^

function [internal, external] = setangles(mode, preInternal, preExternal,varargin)

DESCRIPTION ^

 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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Tue 05-Oct-2004 10:40:50 by m2html © 2003