source: MML/trunk/mml/at/getcavity.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 1.2 KB
Line 
1function [CavityState, PassMethod, ATCavityIndex, RF, HarmNumber] = getcavity
2%GETCAVITY - Returns the RF cavity state ('On' / 'Off')
3%  [CavityState, PassMethod, ATCavityIndex, RF, HarmonicNumber] = getcavity
4%
5%  OUTPUTS
6%  1. CavityState
7%  2. PassMethod
8%  3. ATCavityIndex - AT Index of the RF cavities
9%  4. RF - RF frequency [Hz]
10%  5. HarmonicNumber - Harmonic number
11%
12%  See also setcavity, setradiation
13%
14%  Written by Greg Portmann
15
16
17global THERING
18
19ATCavityIndex = findcells(THERING, 'Frequency');
20
21CavityState = '';
22PassMethod = '';
23RF = [];
24HarmNumber = [];
25
26if isempty(ATCavityIndex)
27    %disp('   No cavities were found in the lattice');
28    return
29end
30
31ATCavityIndex =ATCavityIndex(:)';
32for ii = ATCavityIndex(:)'
33    if strcmpi(THERING{ii}.PassMethod, 'DriftPass') || strcmpi(THERING{ii}.PassMethod, 'IdentityPass')
34        CavityState = strvcat(CavityState,'Off');
35    else
36        CavityState = strvcat(CavityState,'On');
37    end
38    PassMethod = strvcat(PassMethod, THERING{ii}.PassMethod);
39    RF =  [RF; THERING{ii}.Frequency];
40   
41    if isfield(THERING{ii}, 'HarmNumber')
42        HarmNumber = THERING{ii}.HarmNumber;
43    end
44end
45
46ATCavityIndex = ATCavityIndex(:);
47
48
Note: See TracBrowser for help on using the repository browser.