ATM66(FAMNAME,M66,Tijk,PASSMETHOD) atM66 creates an element that applies an arbitrary matrix m66 FAMNAME family name M66 transfer matrix, defaults to Identity(6)] Tijk 2nd order transfer matrix, defaults to zeros(6,6,6)] PASSMETHOD tracking function, defaults to 'MatrixTijkPass' ATM66(FAMNAME,ATSTRUCT,PASSMETHOD) atM66 will generate the matrix by calling FINDM66(ATSTRUCT) ATSTRUCT AT structure
0001 function elem=atM66Tijk(fname,varargin) 0002 %ATM66(FAMNAME,M66,Tijk,PASSMETHOD) 0003 % atM66 creates an element that applies an arbitrary matrix m66 0004 % 0005 %FAMNAME family name 0006 %M66 transfer matrix, defaults to Identity(6)] 0007 %Tijk 2nd order transfer matrix, defaults to zeros(6,6,6)] 0008 %PASSMETHOD tracking function, defaults to 'MatrixTijkPass' 0009 % 0010 %ATM66(FAMNAME,ATSTRUCT,PASSMETHOD) 0011 % atM66 will generate the matrix by calling FINDM66(ATSTRUCT) 0012 % 0013 %ATSTRUCT AT structure 0014 0015 [rsrc,m66,tijk,method]=decodeatargs({eye(6),zeros(6,6,6),'MatrixTijkPass'},varargin); 0016 [method,rsrc]=getoption(rsrc,'PassMethod',method); 0017 [cl,rsrc]=getoption(rsrc,'Class','MatrixTijkPass'); 0018 if isstruct(m66) 0019 m66=findm66(m66); 0020 end 0021 elem=atbaselem(fname,method,'Class',cl,'M66',m66,'Tijk',reshape(tijk,6,6,6),rsrc{:});