1 | function ID_RegisterBumpParmeters_MV(Created,TxtFileNameWithoutExt,Section,BPM_E,BPM_S,xBPM_E,xBPM_S,Plane,EntPosValue,ExPosValue,NbBPMs,Arg1,Arg2) |
---|
2 | %%Arg1,Arg2 can be what we want Nᅵ of spectrum or diagon or 0 |
---|
3 | %%Plane must be 'H' or 'V' |
---|
4 | %%Section,BPM_E,BPM_S : used to build the BPM Matrix |
---|
5 | %%EntPosValue,ExPosValue : used to settle the bump |
---|
6 | |
---|
7 | %% |
---|
8 | %%Chargement et creation du fichier de sauvegarde |
---|
9 | if (strcmp(Plane, 'H')==1) |
---|
10 | Plan = 0; |
---|
11 | BpmStr = 'BPMx'; |
---|
12 | CorrStr = 'HCOR'; |
---|
13 | BumpZ_Ent = 0; |
---|
14 | BumpZ_Ex = 0; |
---|
15 | BumpX_Ent = EntPosValue; |
---|
16 | BumpX_Ex = ExPosValue; |
---|
17 | elseif (strcmp(Plane, 'V')==1) |
---|
18 | Plan = 1; |
---|
19 | BpmStr = 'BPMz'; |
---|
20 | CorrStr = 'VCOR'; |
---|
21 | BumpX_Ent = 0; |
---|
22 | BumpX_Ex = 0; |
---|
23 | BumpZ_Ent = EntPosValue; |
---|
24 | BumpZ_Ex = ExPosValue; |
---|
25 | else |
---|
26 | error('Plane must be H or V') |
---|
27 | end |
---|
28 | |
---|
29 | FileName = strcat(TxtFileNameWithoutExt,'.txt'); |
---|
30 | ResultMatrix = 0; |
---|
31 | |
---|
32 | if (Created==0) |
---|
33 | %crée le fichier avec l'entete |
---|
34 | %Entete = 'Nb \t BPM1x \t BPM1z \t BPM2x \t BPM2z \t xBPM1x \t xBPM1z \t xBPM2x \t xBPM2z \t BumpX_Ent \t BumpZ_Ent \t BumpX_Ex \t BumpZ_Ex \t Nux \t Nuz \t I \t LifeTime \t Arg1 \t Arg2'; |
---|
35 | save(FileName,'ResultMatrix','-ASCII') |
---|
36 | msgbox('The file were bumps parameters are saved has successfully been created...','This is not an error message !!!!!!!!','help'); |
---|
37 | return |
---|
38 | end |
---|
39 | |
---|
40 | ResultMatrix = load(FileName,'-ASCII'); |
---|
41 | fprintf('File loaded...') |
---|
42 | PosMatrix = [EntPosValue ExPosValue]; |
---|
43 | NbBpmMatrixPos = [1:1:NbBPMs]; |
---|
44 | NbBpmMatrixNeg = sort(-NbBpmMatrixPos); |
---|
45 | NbBpmMatrix = [NbBpmMatrixNeg NbBpmMatrixPos]; |
---|
46 | BpmMatrix = [Section BPM_E;Section BPM_S]; |
---|
47 | |
---|
48 | SetOrbitBump(BpmStr,BpmMatrix,PosMatrix,CorrStr,NbBpmMatrix); |
---|
49 | sleep(5) |
---|
50 | |
---|
51 | %% |
---|
52 | %%Lecture des BPMs entrée et sortie |
---|
53 | fprintf ('\nBPMs values :') |
---|
54 | CellValue = sprintf('%d',Section); |
---|
55 | BumpNb = size(ResultMatrix,1)+1; |
---|
56 | |
---|
57 | %% |
---|
58 | %%Construction des différents parametres pour fabriquer le bump |
---|
59 | EntBPMValue = sprintf('%d',BPM_E); |
---|
60 | ExBPMValue = sprintf('%d',BPM_S); |
---|
61 | BPM1_DServName = strcat('ans-c',CellValue,'/dg/bpm.',EntBPMValue); |
---|
62 | BPM2_DServName = strcat('ans-c',CellValue,'/dg/bpm.',ExBPMValue); |
---|
63 | BPM1x = tango_read_attribute(BPM1_DServName, 'XPosSA'); |
---|
64 | fprintf('\n\tEntrance X position : %f',BPM1x.value) |
---|
65 | BPM1z = tango_read_attribute(BPM1_DServName, 'ZPosSA'); |
---|
66 | fprintf('\n\tEntrance Z position : %f',BPM1z.value) |
---|
67 | BPM2x = tango_read_attribute(BPM2_DServName, 'XPosSA'); |
---|
68 | fprintf('\n\tExit X position : %f',BPM2x.value) |
---|
69 | BPM2z = tango_read_attribute(BPM2_DServName, 'ZPosSA'); |
---|
70 | fprintf('\n\tExit Z position : %f',BPM2z.value) |
---|
71 | |
---|
72 | %% |
---|
73 | %%Lecture des xBPMs |
---|
74 | fprintf ('\nxBPMs values :') |
---|
75 | xEntBPMValue = sprintf('%d',xBPM_E); |
---|
76 | xExBPMValue = sprintf('%d',xBPM_S); |
---|
77 | xBPM1_DServName = strcat('tdl-i',CellValue,'-m/dg/xbpm.',xEntBPMValue); |
---|
78 | xBPM2_DServName = strcat('tdl-i',CellValue,'-m/dg/xbpm.',xExBPMValue); |
---|
79 | xBPM1x = tango_read_attribute(xBPM1_DServName, 'xPos'); |
---|
80 | fprintf('\n\tEntrance X position : %f',xBPM1x.value) |
---|
81 | xBPM1z = tango_read_attribute(xBPM1_DServName, 'zPos'); |
---|
82 | fprintf('\n\tEntrance Z position : %f',xBPM1z.value) |
---|
83 | xBPM2x = tango_read_attribute(xBPM2_DServName, 'xPos'); |
---|
84 | fprintf('\n\tExit X position : %f',xBPM2x.value) |
---|
85 | xBPM2z = tango_read_attribute(xBPM2_DServName, 'zPos'); |
---|
86 | fprintf('\n\tExit Z position : %f',xBPM2z.value) |
---|
87 | |
---|
88 | %% |
---|
89 | %%Lecture des nombres d'onde, courant,... |
---|
90 | Nux = tango_read_attribute('ans/dg/bpm-tunex', 'Nu'); |
---|
91 | fprintf('\nNux : %f',Nux.value) |
---|
92 | Nuz = tango_read_attribute('ans/dg/bpm-tunez', 'Nu'); |
---|
93 | fprintf('\nNuz : %f',Nuz.value) |
---|
94 | I = tango_read_attribute('ans/dg/dcct-ctrl', 'current'); |
---|
95 | fprintf('\nI : %f',I.value) |
---|
96 | Lifetime = tango_read_attribute('ans/dg/dcct-ctrl', 'lifeTime'); |
---|
97 | fprintf('\nLifeTime : %f',Lifetime.value) |
---|
98 | |
---|
99 | %% |
---|
100 | %%Sauvegarde des résultats dans le fichier crée |
---|
101 | ResultMatrix(BumpNb,1) = BumpNb; |
---|
102 | ResultMatrix(BumpNb,2) = BPM1x.value;ResultMatrix(BumpNb,3) = BPM1z.value;ResultMatrix(BumpNb,4) = BPM2x.value;ResultMatrix(BumpNb,5) = BPM2z.value; |
---|
103 | ResultMatrix(BumpNb,6) = xBPM1x.value;ResultMatrix(BumpNb,7) = xBPM1z.value;ResultMatrix(BumpNb,8) = xBPM2x.value;ResultMatrix(BumpNb,9) = xBPM2z.value; |
---|
104 | ResultMatrix(BumpNb,10) = BumpX_Ent;ResultMatrix(BumpNb,11) = BumpZ_Ent;ResultMatrix(BumpNb,12) = BumpX_Ex;ResultMatrix(BumpNb,13) = BumpZ_Ex; |
---|
105 | ResultMatrix(BumpNb,14) = Nux.value;ResultMatrix(BumpNb,15) = Nuz.value;ResultMatrix(BumpNb,16) = I.value;ResultMatrix(BumpNb,17) = Lifetime.value; |
---|
106 | ResultMatrix(BumpNb,18) = Arg1;ResultMatrix(BumpNb,19) = Arg2; |
---|
107 | |
---|
108 | save(FileName,'ResultMatrix','-ASCII'); |
---|
109 | fprintf ('\nFile saved...\n') |
---|
110 | |
---|
111 | end |
---|