Data Exchanged between Server & Prosac
Name |
Data Type |
Explanation |
Default |
Update |
Comment |
xorbt yorbt |
double |
Correction target in fraction of original orbit RMS |
0.1 / 0.1 |
CALC |
|
xabst yabst |
double |
Alternative correction target in terms of absolute RMS |
0.005 / 0.005 |
CALC |
|
xicor yicor |
int |
1: Use orbt as correction target 2: Use abst as correction target |
1 / 1 |
CALC |
|
cntlim |
int |
Limit on number of iterations |
50 |
CALC |
|
xitor yitor |
int |
Selection criterion for final solution 1: Take smallest corrector RMS 2: Take smallest corrector peak |
1 / 1 |
CALC |
|
xipor yipor |
int |
Selection criterion for final solution 1: Take smallest orbit RMS 2: Take smallest orbit peak |
1 / 1 |
CALC |
|
xscal yscal |
double |
Corrector ceiling in fraction of input corrector limits |
1.0 / 1.0 |
CALC |
|
escal |
double |
|
|
CALC |
|
dplim |
double |
Ceiling for dp/p change |
0.002 |
CALC |
|
xiang yiang |
int |
Zero outgoing angle 1: Y, 0: N |
1 / 1 |
CALC |
|
xaddeta yaddeta |
int |
Include energy in steering 1: Y, 0: N |
0 / 0 |
CALC |
|
addearthx addearthy |
int |
Set Correctors to earth field values 1: Y, 0: N |
0 / 0 |
CALC |
|
flim2 |
double |
Truncation limit on outcome of SVD |
0.00005 |
CALC |
|
cfac |
double |
Criterion for aborting SVD pre-correction |
5.0 |
CALC |
|
stopcal |
double |
Criterion for avoiding over correction |
0.0005 |
CALC |
|
svdmargin |
double |
Criterion for recommending increasing correction target |
0.8 |
CALC |
|
Name |
Data Type |
Explanation |
Default |
Update |
Comment |
xtotnp ytotnp |
int |
Total numbers of BPMs |
|
INIT REINIT |
|
xtotnc ytotnc |
int |
Total numbers of correctors |
|
INIT REINIT |
|
xnpdesel ynpdesel |
int |
Total numbers of deselected BPMs |
|
CALC |
|
xncdesel yncdesel |
int |
Total numbers of deselected correctors |
|
CALC |
|
xncpreset yncpreset |
int |
Total numbers of preset correctors |
|
CALC |
|
ipmxnam ipmynam |
Array of string |
All BPM's in line (between user input end points), each with a global index |
|
INIT REINIT |
*List may expand after first corrector is determined |
hcornam vcornam |
Array of string |
All correctors in line (from corrector before first BPM, to corrector before last BPM), each with a global index |
|
INIT REINIT |
|
ipmx ipmy |
Array of double |
Reading of all BPM’s in line in mm X->-X |
|
CALC |
*List may expand after first corrector is determined |
hcor vcor |
Array of double |
Reading of all correctors in line in radian. X->-X |
|
CALC |
|
ipmxdesel ipmydesel |
Array of int |
Indices of deselected BPM’s |
None |
CALC |
|
xtarg ytarg |
Array of double |
Target orbit for all BPM’s in range in mm |
0 |
CALC |
|
hcdesel vcdesel |
Array of int |
Indices of deselected correctors |
None |
CALC |
* Warning if include corrs. Between last 2 BPMs & xiang / yiang = 1 |
hpreset vpreset |
Array of int |
Indices of preset correctors |
None |
CALC |
*No overlap with hcdesel / vcdesel *Must include all correctors between last 2 BPM’s if xiang / yiang = 1 |
hpresetval vpresetval |
Array of double |
Preset corrector values in radian, same length as above indices in same order. X->-X |
0 |
CALC |
*Alternative earth field values in future *All correctors between last 2 BPM’s preset to 0 if xiang / yiang = 1 |
hcipl0 vcupl0 |
Array of double |
Corrector upper limits for all in range in radian X->-X |
Machine default |
CALC |
|
hclol0 vclol0 |
Array of double |
Corrector lower limits for all in range in radian X->-X |
Machine default |
CALC |
|
xres yres |
2D array of double |
Full response matrix from all corr. In range to all BPMs in range |
|
INIT REINIT |
RHS |
m11, m12, m16, m33, m34, m36 |
Array of double |
Full injection matrix (m11, m12, m16, m33, m34, m36) from first BPM to all BPMs in range. |
|
INIT REINIT |
RHS |
Name |
Data Type |
Explanation |
Default |
Update |
Comment |
hcpkep vcpkep |
Array of string |
Names of correctors changed by prosac, in order of decreasing effectiveness |
|
|
|
hTin vTin |
Array of double |
Initial settings (in radian) of correctors in hcpkep / vcpkep in above order X->-X |
|
|
|
hTout vTout |
Array of double |
Final settings (in radian) of correctors in hcpkep / vcpkep in above order X->-X |
|
|
|
hcdel vcdel |
Array of string |
Names of preset correctors |
|
|
Values in radian already stored in hpresetval / vpresetval |
dpout |
double |
Change in momentum if addeta=1 |
|
|
|
xPout yPout |
Array of double |
Predicted orbit. X->-X |
|
|
|
xorbrms0 yorbrms0 |
double |
Initial orbit RMS |
|
|
|
xorbrms yorbrms |
double |
Final orbit RMS |
|
|
|
xcorrms0 ycorrms0 |
double |
Initial corrector RMS |
|
|
|
xcorrms ycorrms |
double |
Final corrector RMS |
|
|
|
|
Name |
Data Type |
Explanation |
Default |
Update |
Comment |
|
x / y |
Int |
Length of corrector subset to apply |
All corrs. |
|
Does not affect preset correctors |
|
x / y |
double |
Download fudge factor |
1.0 |
|
Does not affect preset correctors |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Test Version Input Files
These files should have names identifying distinctive steering sessions as part of the logged data, e.g. Arc1test1.xresp, Spr2test2.ybpm, etc.
Test Version Logging (global means all BPM or corrector in selected range)
Names of global BPMs
Names of global correctors
Global response matrix
Global injection matrix
Global orbit before correction
Global corrector values before correction
All data returned by PROSAC
Global orbit after correction
Global corrector values after correction
Indices of selected BPMs
Indices of selected correctors
Indices of preset correctors
Preset corrector values
All steering parameters