source: MML/trunk/machine/SOLEIL/StorageRing/insertions/IDStarter/idMeasElecBeam_HU640.m @ 4

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

Initial import--MML version from SOLEIL@2013

File size: 2.1 KB
Line 
1function outStructElecBeam = idMeasElecBeam(inStructElecBeam, inclPerturbMeas, fileNameCore)
2
3% Pause duration between eventual measurements of the dispersion functions and
4% chromatisities:
5pauseTime_s = 5;
6
7% H orbit
8inStructElecBeam.X = getx;
9% V orbit
10inStructElecBeam.Z = getz;
11% Stored electron beam current
12inStructElecBeam.current = getdcct;
13% Tunes
14inStructElecBeam.tune = gettune;
15
16if inclPerturbMeas ~= 0
17        % Measure dispersion functions. ATTENTION, it perturbes e-beam !
18        [dx dz] = measdisp('Physics');
19        inStructElecBeam.dx = dx;
20        inStructElecBeam.dz = dz;
21    inStructElecBeam,
22    pause(pauseTime_s);
23
24        % Measure chromaticities. ATTENTION, it perturbes e-beam !
25        inStructElecBeam.ksi = measchro('Physics');
26end
27
28inStructElecBeam.date = datestr(now); % convert date to string
29
30outStructElecBeam = inStructElecBeam;
31
32% Save the structure into a file, if necessary
33%if saveRes ~= 0
34if strcmp(fileNameCore, '') == 0
35    %idSaveStruct(structNameToSave, fileNameCore, idName)
36    %idSaveStruct(structNameToSave, 'HU80_TEMPO', 'HU80')
37   
38        FileName = appendtimestamp(fileNameCore);
39        DirectoryName = getfamilydata('Directory','HU640/SESSION_01_10_06');
40        DirStart = pwd;
41        [DirectoryName, ErrorFlag] = gotodirectory(DirectoryName);
42        save(FileName,'-struct', 'outStructElecBeam');
43    %save(FileName, inStructElecBeam);
44        cd(DirStart);
45end
46
47%temp=tango_read_attribute2('ANS-C08/EI/M-HU80.2','gap');
48%gap=temp.value(1)/1.e4;
49IPS1=0;IPS2=0;IPS3=0;
50
51%temp=tango_read_attribute2('TDL-I08-M/VI/JBA.1','pressure');
52pres=temp.value(1);
53temp=tango_read_attribute2('ANS/DG/PUB-LifeTime','double_scalar');
54tau=temp.value(1);
55fprintf('Courant PS1=%f\n','A %s\n')
56fprintf('Courant PS2=%f\n','A %s\n')
57fprintf('Courant PS3=%f\n','A %s\n')
58fprintf('I=%f\n',inStructElecBeam.current)
59fprintf('Tau=%f\n',tau)
60fprintf('P=%d\n',pres)
61fprintf('nux= %f\n',inStructElecBeam.tune(1))
62fprintf('nuz= %f\n',inStructElecBeam.tune(2))
63fprintf('ksix= %f\n',inStructElecBeam.ksi(1))
64fprintf('ksiz= %f\n',inStructElecBeam.ksi(2))
65fprintf('Sauvegarde  %s\n',FileName)
66
67
68% Encoder #1
69%inElecBeamStruct.encoder2= readattribute([devM, '/encoder2Position']);
Note: See TracBrowser for help on using the repository browser.