ATTHINMULTIPOLE(FAMNAME,POLYNOMA,POLYNOMB,PASSMETHOD) creates a thin multipole element FAMNAME family name POLYNOMA skew [dipole quad sext oct]; POLYNOMB normal [dipole quad sext oct]; PASSMETHOD tracking function. Defaults to 'ThinMPolePass' ATTHINMULTIPOLE(FAMNAME,POLYNOMA,POLYNOMB,PASSMETHOD,'FIELDNAME1',VALUE1,...) Each pair {'FIELDNAME',VALUE} is added to the element See also: ATDRIFT, ATQUADRUPOLE, ATSEXTUPOLE, ATSBEND, ATRBEND ATMULTIPOLE, ATMARKER, ATCORRECTOR
0001 function elem=atthinmultipole(fname,varargin) 0002 %ATTHINMULTIPOLE(FAMNAME,POLYNOMA,POLYNOMB,PASSMETHOD) 0003 % creates a thin multipole element 0004 % 0005 % FAMNAME family name 0006 % POLYNOMA skew [dipole quad sext oct]; 0007 % POLYNOMB normal [dipole quad sext oct]; 0008 % PASSMETHOD tracking function. Defaults to 'ThinMPolePass' 0009 % 0010 %ATTHINMULTIPOLE(FAMNAME,POLYNOMA,POLYNOMB,PASSMETHOD,'FIELDNAME1',VALUE1,...) 0011 % Each pair {'FIELDNAME',VALUE} is added to the element 0012 % 0013 %See also: ATDRIFT, ATQUADRUPOLE, ATSEXTUPOLE, ATSBEND, ATRBEND 0014 % ATMULTIPOLE, ATMARKER, ATCORRECTOR 0015 0016 [rsrc,PolynomA,PolynomB,method]=decodeatargs({0,0,'ThinMPolePass'},varargin); 0017 [PolynomA,rsrc]=getoption(rsrc,'PolynomA',PolynomA); 0018 [PolynomB,rsrc]=getoption(rsrc,'PolynomB',PolynomB); 0019 [method,rsrc]=getoption(rsrc,'PassMethod',method); 0020 [cl,rsrc]=getoption(rsrc,'Class','ThinMultipole'); 0021 elem=atbaselem(fname,method,'Class',cl,'Length',0,... 0022 'PolynomA',PolynomA,'PolynomB',PolynomB,rsrc{:}); 0023 end