1 | function MMLROOT = setmmldirectories(MachineName, SubMachineName, ModeName, OpsFileExtension,varargin) |
---|
2 | %SETMMLDIRECTORIES - Set the directory in the Matlab middle layer |
---|
3 | % setmmldirectories(MachineName, SubMachineName, ModeName, OpsFileExtension) |
---|
4 | |
---|
5 | % |
---|
6 | % Written by Greg Portmann |
---|
7 | % Modifed by Laurent S. Nadolski |
---|
8 | % DVPTFLAG added for work on hyperion |
---|
9 | |
---|
10 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
11 | % Directories which define the data and opsdata tree % |
---|
12 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
13 | |
---|
14 | OPSDIR = 'OpsData'; |
---|
15 | if (nargin > 4 && strcmpi(varargin{1}, 'DVPT')) |
---|
16 | OPSDIR = 'DvptData'; |
---|
17 | end |
---|
18 | |
---|
19 | AD = getad; |
---|
20 | |
---|
21 | % MML directories |
---|
22 | MMLROOT = getmmlroot; |
---|
23 | MMLDATAROOT = getmmldataroot; |
---|
24 | |
---|
25 | % DataRoot Location |
---|
26 | % Base on normal middle layer directory structure |
---|
27 | AD.Directory.DataRoot = fullfile(MMLDATAROOT, 'machine', MachineName, SubMachineName, 'Data', ModeName, filesep); |
---|
28 | |
---|
29 | % Operational directory and physdata file |
---|
30 | AD.Directory.OpsData = fullfile(MMLROOT, 'machine', MachineName, [SubMachineName, OPSDIR], ModeName, filesep); |
---|
31 | %AD.OpsData.PhysDataFile = [MMLROOT, 'machine', filesep, MachineName, filesep, SubMachineName, OPSDIR, filesep, 'physdata.mat']; |
---|
32 | AD.OpsData.PhysDataFile = fullfile(MMLROOT, 'machine', MachineName, [SubMachineName, OPSDIR], 'physdata.mat'); |
---|
33 | |
---|
34 | % Setpoints files |
---|
35 | AD.Directory.ConfigData = fullfile(MMLROOT, 'machine', MachineName, SubMachineName,'MachineConfig', filesep); |
---|
36 | |
---|
37 | %Data Archive Directories |
---|
38 | if ~strcmpi(SubMachineName, 'LT1') && ~strcmpi(SubMachineName, 'LT2') |
---|
39 | AD.Directory.BPMData = fullfile(AD.Directory.DataRoot, 'BPM', filesep); |
---|
40 | AD.Directory.TuneData = fullfile(AD.Directory.DataRoot, 'Tune', filesep); |
---|
41 | AD.Directory.ChroData = fullfile(AD.Directory.DataRoot, 'Chromaticity', filesep); |
---|
42 | AD.Directory.DispData = fullfile(AD.Directory.DataRoot, 'Dispersion', filesep); |
---|
43 | %AD.Directory.QMS = [AD.Directory.DataRoot, 'QMS', filesep]; |
---|
44 | |
---|
45 | %Response Matrix Directories |
---|
46 | AD.Directory.BPMResponse = fullfile(AD.Directory.DataRoot, 'Response', 'BPM', filesep); |
---|
47 | AD.Directory.TuneResponse = fullfile(AD.Directory.DataRoot, 'Response', 'Tune', filesep); |
---|
48 | AD.Directory.ChroResponse = fullfile(AD.Directory.DataRoot, 'Response', 'Chromaticity', filesep); |
---|
49 | AD.Directory.DispResponse = fullfile(AD.Directory.DataRoot, 'Response', 'Dispersion', filesep); |
---|
50 | AD.Directory.SkewResponse = fullfile(AD.Directory.DataRoot, 'Response', 'Skew', filesep); |
---|
51 | |
---|
52 | %Default Data File Prefix |
---|
53 | AD.Default.BPMArchiveFile = 'BPM'; % File in AD.Directory.BPM orbit data |
---|
54 | AD.Default.TuneArchiveFile = 'Tune'; % File in AD.Directory.Tune tune data |
---|
55 | AD.Default.ChroArchiveFile = 'Chro'; % File in AD.Directory.Chromaticity chromaticity data |
---|
56 | AD.Default.DispArchiveFile = 'Disp'; % File in AD.Directory.Dispersion dispersion data |
---|
57 | end |
---|
58 | |
---|
59 | AD.Default.CNFArchiveFile = 'CNF'; % File in AD.Directory.CNF configuration data |
---|
60 | |
---|
61 | if ~strcmpi(SubMachineName, 'LT1') && ~strcmpi(SubMachineName, 'LT2') |
---|
62 | %Default Response Matrix File Prefix |
---|
63 | AD.Default.BPMRespFile = 'BPMRespMat'; % File in AD.Directory.BPMResponse BPM response matrices |
---|
64 | AD.Default.TuneRespFile = 'TuneRespMat'; % File in AD.Directory.TuneResponse tune response matrices |
---|
65 | AD.Default.ChroRespFile = 'ChroRespMat'; % File in AD.Directory.ChroResponse chromaticity response matrices |
---|
66 | AD.Default.DispRespFile = 'DispRespMat'; % File in AD.Directory.DispResponse dispersion response matrices |
---|
67 | AD.Default.SkewRespFile = 'SkewRespMat'; % File in AD.Directory.SkewResponse skew quadrupole response matrices |
---|
68 | end |
---|
69 | |
---|
70 | %Operational Files |
---|
71 | AD.OpsData.LatticeFile = ['GoldenLattice', OpsFileExtension]; |
---|
72 | |
---|
73 | if ~strcmpi(SubMachineName, 'LT1') && ~strcmpi(SubMachineName, 'LT2') |
---|
74 | %Operational Files |
---|
75 | AD.OpsData.InjectionFile = ['InjectionConfig', OpsFileExtension]; |
---|
76 | AD.OpsData.BPMSigmaFile = ['GoldenBPMSigma', OpsFileExtension]; |
---|
77 | AD.OpsData.DispFile = ['GoldenDisp', OpsFileExtension]; |
---|
78 | AD.OpsData.BPMGainAndCouplingFile = ['GoldenBPMGainCoupling', OpsFileExtension]; |
---|
79 | |
---|
80 | %Operational Response Files |
---|
81 | AD.OpsData.BPMRespFile = ['GoldenBPMResp', OpsFileExtension]; |
---|
82 | AD.OpsData.BPMResp4FOFBFile = ['GoldenBPM4FOFBResp', OpsFileExtension]; |
---|
83 | AD.OpsData.TuneRespFile = ['GoldenTuneResp', OpsFileExtension]; |
---|
84 | AD.OpsData.ChroRespFile = ['GoldenChroResp', OpsFileExtension]; |
---|
85 | AD.OpsData.DispRespFile = ['GoldenDispResp', OpsFileExtension]; |
---|
86 | AD.OpsData.SkewRespFile = ['GoldenSkewResp', OpsFileExtension]; |
---|
87 | AD.OpsData.RespFiles = {... |
---|
88 | fullfile(AD.Directory.OpsData, AD.OpsData.BPMRespFile), ... |
---|
89 | fullfile(AD.Directory.OpsData, AD.OpsData.BPMResp4FOFBFile), ... |
---|
90 | fullfile(AD.Directory.OpsData, AD.OpsData.TuneRespFile), ... |
---|
91 | fullfile(AD.Directory.OpsData, AD.OpsData.ChroRespFile), ... |
---|
92 | fullfile(AD.Directory.OpsData, AD.OpsData.DispRespFile), ... |
---|
93 | fullfile(AD.Directory.OpsData, AD.OpsData.SkewRespFile)}; |
---|
94 | end |
---|
95 | % Save AD |
---|
96 | setad(AD); |
---|