ATSKEWQUAD(FAMNAME,LENGTH,Qs,PASSMETHOD) creates a skew quadrupole element with Class 'Multipole' FAMNAME family name LENGTH length Qs skew quad strength atskewquad(Fname, L, Qs, method) See also: ATDRIFT, ATQUADRUPOLE, ATSEXTUPOLE, ATSBEND, ATRBEND ATTHINMULTIPOLE, ATMARKER, ATCORRECTOR
0001 0002 function elem = atskewquad(fname,varargin) 0003 %ATSKEWQUAD(FAMNAME,LENGTH,Qs,PASSMETHOD) 0004 % creates a skew quadrupole element with Class 'Multipole' 0005 % FAMNAME family name 0006 % LENGTH length 0007 % Qs skew quad strength 0008 % atskewquad(Fname, L, Qs, method) 0009 % 0010 %See also: ATDRIFT, ATQUADRUPOLE, ATSEXTUPOLE, ATSBEND, ATRBEND 0011 % ATTHINMULTIPOLE, ATMARKER, ATCORRECTOR 0012 0013 [rsrc,L,Qs,method]=decodeatargs({0,[],'StrMPoleSymplectic4Pass'},varargin); 0014 [L,rsrc]=getoption(rsrc,'Length',L); 0015 [Qs,rsrc]=getoption(rsrc,'Qs',Qs); 0016 [method,rsrc]=getoption(rsrc,'PassMethod',method); 0017 [PolynomA,rsrc]=getoption(rsrc,'PolynomA',[0 0]); 0018 [cl,rsrc]=getoption(rsrc,'Class','Multipole'); 0019 if ~isempty(Qs), PolynomA(2) = Qs; end 0020 0021 elem=atbaselem(fname,method,'Class',cl,'Length',L,... 0022 'PolynomA',PolynomA,rsrc{:});