Home > lattice > element_creation > atthinmultipole.m

atthinmultipole

PURPOSE ^

ATTHINMULTIPOLE(FAMNAME,POLYNOMA,POLYNOMB,PASSMETHOD)

SYNOPSIS ^

function elem=atthinmultipole(fname,varargin)

DESCRIPTION ^

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Thu 24-Aug-2017 18:47:33 by m2html © 2005