


z=solenoid('FAMILYNAME',Length [m],KS,'METHOD')
creates a new solenoid element with Class 'Solenoid'
The structure with field
FamName family name
Length length[m]
KS solenoid strength KS [rad/m]
PassMethod name of the function to use for tracking
function returns assigned address in the FAMLIST that uniquely identifies
the family
Additional structures being set up (initialized to default values within this routine):
NumIntSteps Number of integration steps
MaxOrder
R1 6 x 6 rotation matrix at the entrance
R2 6 x 6 rotation matrix at the entrance
T1 6 x 1 translation at entrance
T2 6 x 1 translation at exit

0001 function Elem=atsolenoid(fname,L,KS,method) 0002 0003 % z=solenoid('FAMILYNAME',Length [m],KS,'METHOD') 0004 % creates a new solenoid element with Class 'Solenoid' 0005 % The structure with field 0006 % FamName family name 0007 % Length length[m] 0008 % KS solenoid strength KS [rad/m] 0009 % PassMethod name of the function to use for tracking 0010 % 0011 % function returns assigned address in the FAMLIST that uniquely identifies 0012 % the family 0013 % 0014 % Additional structures being set up (initialized to default values within this routine): 0015 % NumIntSteps Number of integration steps 0016 % MaxOrder 0017 % R1 6 x 6 rotation matrix at the entrance 0018 % R2 6 x 6 rotation matrix at the entrance 0019 % T1 6 x 1 translation at entrance 0020 % T2 6 x 1 translation at exit 0021 0022 Elem.FamName = fname; % add check for existing identical family names 0023 Elem.Length = L; 0024 Elem.K = KS; 0025 Elem.MaxOrder = 3; 0026 Elem.NumIntSteps = 10; 0027 Elem.R1 = diag(ones(6,1)); 0028 Elem.R2 = diag(ones(6,1)); 0029 Elem.T1 = zeros(1,6); 0030 Elem.T2 = zeros(1,6); 0031 Elem.PassMethod=method; 0032 Elem.Class = 'Solenoid';