From e208227debc90f1d7a378a021307d60118c7b94b Mon Sep 17 00:00:00 2001 From: reiche Date: Mon, 16 Jun 2025 11:14:26 +0200 Subject: [PATCH] Ready for release --- MatchingConfig/Reference.json | 232 ++++++++- MatchingConfig/Reference_old.json | 775 ++++++++++++++++++++++++++++++ Scripts/ecol.madx | 63 +++ Settings/ReferenceSetting.json | 382 +++++++-------- generateMatchSettings.py | 43 ++ issues.txt | 2 +- model.py | 35 -- 7 files changed, 1304 insertions(+), 228 deletions(-) create mode 100644 MatchingConfig/Reference_old.json create mode 100644 Scripts/ecol.madx diff --git a/MatchingConfig/Reference.json b/MatchingConfig/Reference.json index fd2adb1..c88f90d 100644 --- a/MatchingConfig/Reference.json +++ b/MatchingConfig/Reference.json @@ -1,5 +1,5 @@ { - "Label": "Reference", + "Label": "Custom", "Order": [ { "Reference": null, @@ -174,6 +174,68 @@ "Destination": "SATBD01", "Sequence": null, "Save": null + }, + { + "Reference": null, + "MatchID": "Linac 3", + "End": null, + "Destination": "SARBD01", + "Sequence": [ + "S30CB01", + "S30CB02" + ], + "Save": true + }, + { + "Reference": "Switchyard", + "MatchID": "Match to Linac 3", + "End": "S30CB03", + "Destination": "SARBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Switchyard", + "MatchID": "End of Linac 3", + "End": "S30CB10", + "Destination": "SARBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": null, + "MatchID": "Aramis Undulator", + "End": null, + "Destination": "SARBD01", + "Sequence": [ + "SARUN03", + "SARUN04" + ], + "Save": true + }, + { + "Reference": "Linac3", + "MatchID": "Aramis - ECOL", + "End": null, + "Destination": "SARBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Linac3", + "MatchID": "Match to Aramis Undulator", + "End": "SARUN20", + "Destination": "SARBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Linac3", + "MatchID": "Aramis Dump", + "End": "SARBD02", + "Destination": "SARBd02", + "Sequence": null, + "Save": null } ], "Dependence": { @@ -223,6 +285,47 @@ "SATUN17-MQUA080", "SATUN19-MQUA080", "SATUN21-MQUA080" + ], + "S30CB01-MQUA430": [ + "S30CB03-MQUA430", + "S30CB05-MQUA430", + "S30CB07-MQUA430", + "S30CB09-MQUA430", + "S30CB11-MQUA430", + "S30CB13-MQUA430", + "S30CB15-MQUA430" + ], + "S30CB02-MQUA430": [ + "S30CB04-MQUA430", + "S30CB06-MQUA430", + "S30CB08-MQUA430", + "S30CB10-MQUA430", + "S30CB12-MQUA430", + "S30CB14-MQUA430" + ], + "SARUN03-MQUA080": [ + "SARMA02-MQUA050", + "SARUN01-MQUA080", + "SARUN05-MQUA080", + "SARUN07-MQUA080", + "SARUN09-MQUA080", + "SARUN11-MQUA080", + "SARUN13-MQUA080", + "SARUN15-MQUA080", + "SARUN17-MQUA080", + "SARUN19-MQUA080" + ], + "SARUN04-MQUA080": [ + "SARMA02-MQUA120", + "SARUN02-MQUA080", + "SARUN06-MQUA080", + "SARUN08-MQUA080", + "SARUN10-MQUA080", + "SARUN12-MQUA080", + "SARUN14-MQUA080", + "SARUN16-MQUA080", + "SARUN18-MQUA080", + "SARUN20-MQUA080" ] }, "Reference": { @@ -770,6 +873,133 @@ } } ] + }, + "Linac 3": { + "Variable": [ + "S30CB01-MQUA430", + "S30CB02-MQUA430" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.1883, + "MUY": 0.1883 + } + } + ] + }, + "Match to Linac 3": { + "Variable": [ + "S20SY03-MQUA020", + "S20SY03-MQUA030", + "S20SY03-MQUA050", + "S20SY03-MQUA060", + "S20SY03-MQUA100" + ], + "Target": [ + { + "Location": "s30cb01$start", + "SavedID": "Linac 3" + } + ] + }, + "End of Linac 3": { + "Variable": [ + "S30CB01-MQUA430", + "S30CB01-MQUA430", + "S30CB01-MQUA430", + "S30CB01-MQUA430" + ], + "Target": [ + { + "Location": "s30cb10.mqua430$start", + "Twiss": { + "betax": 8.83, + "alphax": 0.548, + "betay": 30.44, + "alphay": -1.866 + } + } + ] + }, + "Aramis - ECOL": { + "Variable": [ + "SARCL02-MQUA130", + "SARCL02-MQUA210", + "SARCL02-MQUA250", + "SARCL02-MQUA310", + "SARCL02-MQUA350", + "SARCL02-MQUA460", + "SARCL01-MQUA020", + "SARCL01-MQUA050", + "SARCL01-MQUA080", + "SARCL01-MQUA100", + "SARCL01-MQUA140", + "SARCL01-MQUA190" + ], + "Target": [ + { + "Script": "Scripts/ecol.madx" + } + ] + }, + "Aramis Undulator": { + "Variable": [ + "SARUN03-MQUA080", + "SARUN04-MQUA080" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.15, + "MUY": 0.15 + } + } + ] + }, + "Match to Aramis Undulator": { + "Variable": [ + "SARMA01-MQUA010", + "SARMA01-MQUA060", + "SARMA01-MQUA080", + "SARMA01-MQUA120", + "SARMA01-MQUA140" + ], + "Target": [ + { + "Location": "sarun03$start", + "SavedID": "Aramis Undulator" + }, + { + "Location": "sarma01.mqua060", + "Twiss": { + "betax": 40 + }, + "Limit": 1 + } + ] + }, + "Aramis Dump": { + "Variable": [ + "SARUN19-MQUA080", + "SARUN20-MQUA080", + "SARBD01-MQUA020", + "SARBD02-MQUA030" + ], + "Target": [ + { + "Location": "SARBD02$END", + "Twiss": { + "betax": 250, + "betay": 250, + "etax": 100, + "etay": 1.2 + }, + "Limit": 1 + } + ] } } } \ No newline at end of file diff --git a/MatchingConfig/Reference_old.json b/MatchingConfig/Reference_old.json new file mode 100644 index 0000000..fd2adb1 --- /dev/null +++ b/MatchingConfig/Reference_old.json @@ -0,0 +1,775 @@ +{ + "Label": "Reference", + "Order": [ + { + "Reference": null, + "MatchID": "Preset", + "End": null, + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Start", + "MatchID": "Laser Heater", + "End": "SINLH02", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": null, + "MatchID": "SINSB04", + "End": null, + "Destination": "SATBD01", + "Sequence": "SINSB04", + "Save": true + }, + { + "Reference": "Laser Heater", + "MatchID": "Match to SINSB04", + "End": "SINSB04", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Laser Heater", + "MatchID": "Bunch Compressor 1", + "End": "SINDI02", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": null, + "MatchID": "Linac 1", + "End": null, + "Destination": "SATBD01", + "Sequence": "S10CB02", + "Save": true + }, + { + "Reference": "Bunch Compressor 1", + "MatchID": "Match to Linac 1", + "End": "S10CB02", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Bunch Compressor 1", + "MatchID": "End of Linac 1", + "End": "S10BC01", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Bunch Compressor 1", + "MatchID": "Bunch Compressor 2", + "End": "S10MA01", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": null, + "MatchID": "Linac 2", + "End": null, + "Destination": "SATBD01", + "Sequence": [ + "S20CB01", + "S20CB02" + ], + "Save": true + }, + { + "Reference": "Bunch Compressor 2", + "MatchID": "Match to Linac 2", + "End": "S20CB04", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Bunch Compressor 2", + "MatchID": "Match to Switchyard", + "End": "S20SY02", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Switchyard", + "MatchID": "Resonant Kicker", + "End": "S20SY02", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Switchyard", + "MatchID": "Switchyard", + "End": "SATCL01", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "Switchyard", + "MatchID": "Athos Diagnostics", + "End": "SATDI01", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": null, + "MatchID": "Athos Linac", + "End": null, + "Destination": "SATBD01", + "Sequence": "SATCB01", + "Save": true + }, + { + "Reference": "HERO", + "MatchID": "Athos Stopper", + "End": "SATCL02", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "HERO", + "MatchID": "Athos EEHG", + "End": "SATMA01", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": null, + "MatchID": "Athos Undulator", + "End": null, + "Destination": "SATBD01", + "Sequence": [ + "SATUN06", + "SATUN07" + ], + "Save": true + }, + { + "Reference": "EEHG", + "MatchID": "Match to Athos Undulator", + "End": "SATUN09", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + }, + { + "Reference": "EEHG", + "MatchID": "Match to Athos Deflector", + "End": "SATBD01", + "Destination": "SATBD01", + "Sequence": null, + "Save": null + } + ], + "Dependence": { + "SINSB04-MQUA230": [ + "SINSB03-MQUA230" + ], + "S10CB02-MQUA230": [ + "S10DI01-MQUA120", + "S10CB03-MQUA430", + "S10CB04-MQUA430", + "S10CB05-MQUA430", + "S10CB06-MQUA430", + "S10CB07-MQUA430", + "S10CB08-MQUA430" + ], + "S10CB02-MQUA430": [ + "S10CB03-MQUA230", + "S10CB04-MQUA230", + "S10CB05-MQUA230", + "S10CB06-MQUA230", + "S10CB07-MQUA230", + "S10CB08-MQUA230" + ], + "S20CB01-MQUA430": [ + "S20CB03-MQUA430" + ], + "SATCB01-MQUA230": [ + "SATCL02-MQUA430" + ], + "SATCB01-MQUA430": [ + "SATCL02-MQUA430" + ], + "SATUN06-MQUA080": [ + "SATUN08-MQUA080", + "SATUN10-MQUA080", + "SATUN12-MQUA080", + "SATUN14-MQUA420", + "SATUN16-MQUA080", + "SATUN18-MQUA080", + "SATUN20-MQUA080" + ], + "SATUN07-MQUA080": [ + "SATUN09-MQUA080", + "SATUN11-MQUA080", + "SATUN13-MQUA080", + "SATUN15-MQUA080", + "SATUN17-MQUA080", + "SATUN19-MQUA080", + "SATUN21-MQUA080" + ] + }, + "Reference": { + "Start": { + "Location": "start", + "Twiss": { + "betax": 29.971, + "alphax": 0.003, + "betay": 26.0, + "alphay": -0.288 + } + }, + "Laser Heater": { + "Location": "sinlh02.mqua410$start", + "Twiss": { + "betax": 11.2, + "alphax": 3.2, + "betay": 0.8, + "alphay": 0.75 + } + }, + "Bunch Compressor 1": { + "Location": "sindi02.mqua020$start", + "Twiss": { + "betax": 11.1557, + "alphax": -1.17, + "betay": 50, + "alphay": 0.0 + } + }, + "Bunch Compressor 2": { + "Location": "s10ma01.mqua020$start", + "Twiss": { + "betax": 6.14, + "alphax": -0.83, + "betay": 22.86, + "alphay": -1.18 + } + }, + "Switchyard": { + "Location": "s20sy02$start", + "Twiss": { + "betax": 48.26, + "alphax": 7.322, + "betay": 14.293, + "alphay": -3.513 + } + }, + "Linac3": { + "Location": "s30cb10.mqua430$start", + "Twiss": { + "betax": 8.83, + "alphax": 0.548, + "betay": 30.44, + "alphay": -1.866 + } + }, + "Aramis Stopper": { + "Location": "sarma01.mqua010$start", + "Twiss": { + "betax": 2.304, + "alphax": -1.4045, + "betay": 25.929, + "alphay": -6.363 + } + }, + "HERO": { + "Location": "satdi01.mqua250$start", + "Twiss": { + "betax": 35.76, + "alphax": -1.166, + "betay": 24.087, + "alphay": 0.648 + } + }, + "Athos Deflector": { + "Location": "satbd01.mqua010$start", + "Twiss": { + "betax": 50, + "alphax": 0, + "betay": 50, + "alphay": 0 + } + }, + "EEHG": { + "Location": "satma01.mqua610$start", + "Twiss": { + "betax": 10.0, + "alphax": 0.027, + "betay": 16.85, + "alphay": 0.027 + } + } + }, + "Parameter": { + "Preset": { + "Variable": [], + "Target": [ + { + "Preset": { + "sinlh01.mqsk030.k1": 0, + "sinbc02.mqsk110.k1": 0, + "sinbc02.mqsk350.k1": 0, + "sindi01.mqsk030.k1": 0, + "s10bc02.mqsk110.k1": 0, + "s10bc02.mqsk350.k1": 0, + "sarcl02.mqsk160.k1": 0, + "sarcl02.mqsk300.k1": 0, + "sarcl02.mqsk420.k1": 0, + "satsy01.mqsk030.k1": 0, + "satsy01.mqsk270.k1": 0, + "sinbc02.mqua120.k1": 0, + "sinbc02.mqua340.k1": 0, + "s10bc02.mqua120.k1": 0, + "s10bc02.mqua340.k1": 0, + "sarcl02.mqua150.k1": 0, + "sarcl02.mqua430.k1": 0, + "satbd01.mqua010.k1": 0.50697, + "satbd01.mqua030.k1": -0.618466, + "satbd01.mqua050.k1": 0.13249, + "satbd01.mqua070.k1": 0.47403, + "satbd01.mqua090.k1": -0.74426, + "satbd02.mqua030.k1": -1.05081 + } + } + ] + }, + "Laser Heater": { + "Variable": [ + "SINLH01-MQUA020", + "SINLH01-MQUA040", + "SINLH01-MQUA050", + "SINLH01-MQUA070", + "SINLH02-MQUA010" + ], + "Target": [ + { + "Location": "sinlh02.mqua410$start", + "Twiss": { + "betax": 11.2, + "alphax": 3.2, + "betay": 0.8, + "alphay": 0.75 + } + } + ] + }, + "SINSB04": { + "Variable": [ + "SINSB04-MQUA130", + "SINSB04-MQUA230" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.2, + "MUY": 0.2 + } + } + ] + }, + "Match to SINSB04": { + "Variable": [ + "SINLH02-MQUA410", + "SINLH03-MQUA030", + "SINLH03-MQUA040", + "SINLH03-MQUA060", + "SINLH03-MQUA080", + "SINSB03-MQUA130" + ], + "Target": [ + { + "Location": "sinsb04$start", + "SavedID": "SINSB04" + } + ] + }, + "Bunch Compressor 1": { + "Variable": [ + "SINBC01-MQUA020", + "SINBC01-MQUA050", + "SINBC01-MQUA070", + "SINBC01-MQUA090", + "SINBC01-MQUA110", + "SINDI01-MQUA020", + "SINDI01-MQUA070" + ], + "Target": [ + { + "Location": "sindi02.mqua020$start", + "Twiss": { + "betax": 11.1557, + "alphax": -1.17, + "betay": 50, + "alphay": 0.0 + } + }, + { + "Location": "sinbc02.mbnd400", + "Twiss": { + "betax": 5.1, + "betay": 100 + }, + "Limit": 1 + }, + { + "Location": "sinbc01.mqua110$end", + "Twiss": { + "betax": 100 + }, + "Limit": 1 + } + ] + }, + "Linac 1": { + "Variable": [ + "S10CB02-MQUA230", + "S10CB02-MQUA430" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.1883, + "MUY": 0.1883 + } + } + ] + }, + "Match to Linac 1": { + "Variable": [ + "S10CB01-MQUA230", + "S10CB01-MQUA430", + "SINDI02-MQUA020", + "SINDI02-MQUA030", + "SINDI02-MQUA050", + "SINDI02-MQUA060", + "SINDI02-MQUA090" + ], + "Target": [ + { + "Location": "s10cb02$start", + "SavedID": "Linac 1" + } + ] + }, + "End of Linac 1": { + "Variable": [ + "S10CB07-MQUA430", + "S10CB08-MQUA230", + "S10CB08-MQUA430", + "S10CB09-MQUA230" + ], + "Target": [ + { + "Location": "s10bc01.mqua020$start", + "Twiss": { + "betax": 4.88, + "betay": 16.11, + "alphax": 0.5546, + "alphay": -1.81 + } + } + ] + }, + "Bunch Compressor 2": { + "Variable": [ + "S10BC01-MQUA020", + "S10BC01-MQUA040", + "S10BC01-MQUA060", + "S10BC01-MQUA080", + "S10BC01-MQUA100" + ], + "Target": [ + { + "Location": "s10ma01.mqua020$start", + "Twiss": { + "betax": 6.14, + "alphax": -0.83, + "betay": 22.86, + "alphay": -1.18 + } + } + ] + }, + "Linac 2": { + "Variable": [ + "S20CB01-MQUA430", + "S20CB02-MQUA430" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.2, + "MUY": 0.2 + } + } + ] + }, + "Match to Linac 2": { + "Variable": [ + "S10MA01-MQUA020", + "S10MA01-MQUA050", + "S10MA01-MQUA070", + "S10MA01-MQUA110", + "S10MA01-MQUA130" + ], + "Target": [ + { + "Location": "s20cb01$start", + "SavedID": "Linac 2" + } + ] + }, + "Match to Switchyard": { + "Variable": [ + "S20SY01-MQUA020", + "S20SY01-MQUA030", + "S20SY01-MQUA050", + "S20SY01-MQUA080" + ], + "Target": [ + { + "Location": "s20sy02$start", + "Twiss": { + "betax": 48.26, + "alphax": 7.322, + "betay": 14.293, + "alphay": -3.513 + } + } + ] + }, + "Resonant Kicker": { + "Variable": [ + "S20SY02-MQUA070", + "S20SY02-MQUA100", + "S20SY02-MQUA140", + "S20SY02-MQUA180", + "S20SY02-MKDC010", + "S20SY02-MKAC020", + "S20SY02-MKDC030", + "S20SY02-MKAC040", + "S20SY02-MKDC050" + ], + "Target": [ + { + "Script": "Scripts/switchyard_kicker.madx" + } + ] + }, + "Switchyard": { + "Variable": [ + "SATSY01-MQUA020", + "SATSY01-MQUA040", + "SATSY01-MQUA070", + "SATSY01-MQUA090", + "SATSY01-MQUA210", + "SATSY01-MQUA230", + "SATSY01-MQUA260", + "SATSY01-MQUA280", + "SATSY01-MQUA300", + "SATSY02-MQUA010", + "SATSY02-MQUA110", + "SATSY02-MQUA120", + "SATSY02-MQUA230", + "SATSY03-MQUA010", + "SATSY03-MQUA040", + "SATSY03-MQUA070", + "SATSY03-MQUA100", + "SATSY03-MQUA130", + "SATCL01-MQUA120", + "SATCL01-MQUA130", + "SATCL01-MQUA180", + "SATCL01-MQUA190" + ], + "Target": [ + { + "Script": "Scripts/switchyard.madx" + } + ], + "User": { + "LEAKDISP": 0.0 + } + }, + "Athos Diagnostics": { + "Variable": [ + "SATDI01-MQUA025", + "SATDI01-MQUA080", + "SATDI01-MQUA220", + "SATDI01-MQUA230" + ], + "Target": [ + { + "Location": "satdi01.mqua250$start", + "Twiss": { + "betax": 35.76, + "alphax": -1.166, + "betay": 24.087, + "alphay": 0.648 + } + } + ] + }, + "Athos Linac": { + "Variable": [ + "SATCB01-MQUA230", + "SATCB01-MQUA430" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.053, + "MUY": 0.053 + } + } + ] + }, + "Athos Stopper": { + "Variable": [ + "SATDI01-MQUA250", + "SATDI01-MQUA260", + "SATDI01-MQUA280", + "SATDI01-MQUA300" + ], + "Target": [ + { + "Location": "satcl01$start", + "SavedID": "Athos Linac" + } + ] + }, + "Athos EEHG": { + "Variable": [ + "SATMA01-MQUA050", + "SATMA01-MQUA120", + "SATMA01-MQUA140", + "SATMA01-MQUA160", + "SATMA01-MQUA180", + "SATMA01-MQUA230", + "SATMA01-MQUA250" + ], + "Target": [ + { + "Location": "satma01.mqua610$start", + "Twiss": { + "betax": 10.0, + "alphax": 0.027, + "betay": 16.85, + "alphay": 0.027 + } + }, + { + "Location": "satma01.mqua140$start", + "Twiss": { + "betax": 70, + "betay": 70 + }, + "Limit": 1 + }, + { + "Location": "satma01.mqua160$start", + "Twiss": { + "betax": 70, + "betay": 70 + }, + "Limit": 1 + }, + { + "Location": "satma01.mqua180$start", + "Twiss": { + "betax": 70, + "betay": 70 + }, + "Limit": 1 + } + ] + }, + "Athos Undulator": { + "Variable": [ + "SATUN06-MQUA080", + "SATUN07-MQUA080" + ], + "Target": [ + { + "Location": "#e", + "Twiss": { + "MUX": 0.15, + "MUY": 0.15 + } + } + ] + }, + "Match to Athos Undulator": { + "Variable": [ + "SATMA01-MQUA610", + "SATMA01-MQUA630", + "SATMA01-MQUA640", + "SATUN04-MQUA060", + "SATUN05-MQUA420" + ], + "Target": [ + { + "Location": "satun06$start", + "SavedID": "Athos Undulator" + }, + { + "Location": "satun07$end", + "Twiss": { + "x": 10, + "y": 10, + "px": 10 + }, + "Limit": 1 + } + ] + }, + "Match to Athos Deflector": { + "Variable": [ + "SATUN22-MQUA080", + "SATMA02-MQUA010", + "SATMA02-MQUA020", + "SATMA02-MQUA040", + "SATMA02-MQUA050", + "SATMA02-MQUA070" + ], + "Target": [ + { + "Location": "satbd01.mqua010$start", + "Twiss": { + "betax": 50, + "alphax": 0, + "betay": 50, + "alphay": 0 + } + }, + { + "Location": "satun22$end", + "Twiss": { + "x": 0, + "px": 0 + } + } + ] + } + } +} \ No newline at end of file diff --git a/Scripts/ecol.madx b/Scripts/ecol.madx new file mode 100644 index 0000000..ddcefb8 --- /dev/null +++ b/Scripts/ecol.madx @@ -0,0 +1,63 @@ +!----------------------------------- +! collimator + + +R56 = -000e-6; + +MATCH,RMATRIX,SEQUENCE=swissFEL,range=SARCL02$start/SARCL02$end,betx=10,alfx=0,bety=10,alfy=0; +VARY,NAME=sarcl02.mqua130.k1,STEP=0.0001; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.mqua210,re56=R56*0.5; +LMDIF,CALLS=100,TOLERANCE=1.e-21; +ENDMATCH; + + +sarcl02.mqua210.k1=-sarcl02.mqua130.k1*0.9; + +MATCH,SEQUENCE=swissfel,range=sarcl02$start/sarma01.mqua010,betx=10,alfx=0,bety=10,alfy=0; +VARY,NAME=sarcl02.mqua250.k1,STEP=0.0001; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl02.dbpm260$end,dpx=0; +LMDIF,CALLS=100,TOLERANCE=1.e-21; +ENDMATCH; + + +sarcl02.mqua310.k1=sarcl02.mqua250.k1; +sarcl02.mqua350.k1=sarcl02.mqua210.k1; +sarcl02.mqua460.k1=sarcl02.mqua130.k1; + + +dL=0.625+0.25; +bx0=25; +bx=bx0+dL*dL/bx0; +ax=-dL/bx0; +by0=0.8; +by=by0+dL*dL/by0; +ay=-dL/by0; + + +twiss,sequence=swissfel,range=sarcl02.mqsk300/sarma01.mqua010,betx=bx,alfx=ax,bety=by,alfy=ay; + +nbetx= table(twiss,sarma01$start,betx); +nalfx=-table(twiss,sarma01$start,alfx); +nbety= table(twiss,sarma01$start,bety); +nalfy=-table(twiss,sarma01$start,alfy); + + +MATCH,SEQUENCE=swissfel,range=s30cb10.mqua430$start/sarma01.mqua010,beta0=initcon; +VARY,NAME=sarcl01.mqua020.k1,STEP=0.0001; +VARY,NAME=sarcl01.mqua050.k1,STEP=0.0001; +VARY,NAME=sarcl01.mqua080.k1,STEP=0.0001; +VARY,NAME=sarcl01.mqua100.k1,STEP=0.0001; +VARY,NAME=sarcl01.mqua140.k1,STEP=0.0001; +VARY,NAME=sarcl01.mqua190.k1,STEP=0.0001; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,betx=nbetx; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,alfx=nalfx; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,bety=nbety; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl02$start,alfy=nalfy; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua050,bety<30; +CONSTRAINT,SEQUENCE=swissfel,range=sarcl01.mqua190,betx<30; +LMDIF,CALLS=100,TOLERANCE=1.e-21; +ENDMATCH; + + + +twiss,sequence=swissfel,range=s30cb10.mqua430$start/sarma01.mqua010,rmatrix,beta0=initcon; \ No newline at end of file diff --git a/Settings/ReferenceSetting.json b/Settings/ReferenceSetting.json index 4e02ffa..7d16be5 100644 --- a/Settings/ReferenceSetting.json +++ b/Settings/ReferenceSetting.json @@ -21,7 +21,7 @@ "k1L": -0.035579549999999995 }, "SINLH01.MQSK030": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SINLH01.MQUA040": { @@ -41,28 +41,28 @@ "k1L": 1.85566035 }, "SINLH02.MQUA410": { - "k1": -3.4378111034518337, - "k1L": -0.515671665517775 + "k1": -3.437811, + "k1L": -0.5156716499999999 }, "SINLH03.MQUA030": { - "k1": 3.4573372527232578, - "k1L": 0.5186005879084886 + "k1": 3.457337, + "k1L": 0.5186005499999999 }, "SINLH03.MQUA040": { - "k1": 0.3833558487534322, - "k1L": 0.05750337731301483 + "k1": 0.383356, + "k1L": 0.057503399999999996 }, "SINLH03.MQUA060": { - "k1": -1.4514973347363687, - "k1L": -0.21772460021045528 + "k1": -1.451497, + "k1L": -0.21772455 }, "SINLH03.MQUA080": { - "k1": -3.1543289097164067, - "k1L": -0.473149336457461 + "k1": -3.154329, + "k1L": -0.47314935 }, "SINSB03.MQUA130": { - "k1": 1.4059041536107317, - "k1L": 0.21088562304160977 + "k1": 1.405904, + "k1L": 0.2108856 }, "SINSB03.MQUA230": { "k1": -1.42634, @@ -105,19 +105,19 @@ "k1L": 0.27249015 }, "SINBC02.MQSK110": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SINBC02.MQUA120": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SINBC02.MQUA340": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SINBC02.MQSK350": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SINDI01.MQUA020": { @@ -125,7 +125,7 @@ "k1L": -0.0344289 }, "SINDI01.MQSK030": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SINDI01.MQUA070": { @@ -249,19 +249,19 @@ "k1L": 0.27656595 }, "S10BC02.MQSK110": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "S10BC02.MQUA120": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "S10BC02.MQUA340": { - "k1": 0.0125, - "k1L": 0.001 + "k1": 0, + "k1L": 0.0 }, "S10BC02.MQSK350": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "S10MA01.MQUA020": { @@ -329,272 +329,272 @@ "k1L": -0.22368776678950217 }, "S20SY03.MQUA020": { - "k1": 1.47384, - "k1L": 0.221076 + "k1": 1.4737353405518387, + "k1L": 0.2210603010827758 }, "S20SY03.MQUA030": { - "k1": -0.6635266666666667, - "k1L": -0.099529 + "k1": -0.6632951030340403, + "k1L": -0.09949426545510603 }, "S20SY03.MQUA050": { - "k1": 1.2635, - "k1L": 0.189525 + "k1": 1.2632419080846755, + "k1L": 0.18948628621270133 }, "S20SY03.MQUA060": { - "k1": -1.8570733333333334, - "k1L": -0.278561 + "k1": -1.8570678537797862, + "k1L": -0.2785601780669679 }, "S20SY03.MQUA100": { - "k1": 1.54432, - "k1L": 0.23164799999999997 + "k1": 1.5444420703125, + "k1L": 0.23166631054687498 }, "S30CB01.MQUA430": { - "k1": 0.8201533333333333, - "k1L": 0.123023 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB02.MQUA430": { - "k1": -0.8201466666666667, - "k1L": -0.12302199999999999 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB03.MQUA430": { - "k1": 0.8201533333333333, - "k1L": 0.123023 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB04.MQUA430": { - "k1": -0.8201466666666667, - "k1L": -0.12302199999999999 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB05.MQUA430": { - "k1": 0.8201533333333333, - "k1L": 0.123023 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB06.MQUA430": { - "k1": -0.8191066666666668, - "k1L": -0.122866 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB07.MQUA430": { - "k1": 0.8194866666666667, - "k1L": 0.122923 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB08.MQUA430": { - "k1": -0.8180200000000001, - "k1L": -0.122703 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB09.MQUA430": { - "k1": 0.81822, - "k1L": 0.12273299999999998 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB10.MQUA430": { - "k1": -0.8201466666666667, - "k1L": -0.12302199999999999 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB11.MQUA430": { - "k1": 0.8201533333333333, - "k1L": 0.123023 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB12.MQUA430": { - "k1": -0.8201466666666667, - "k1L": -0.12302199999999999 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB13.MQUA430": { - "k1": 0.8201533333333333, - "k1L": 0.123023 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "S30CB14.MQUA430": { - "k1": -0.8201466666666667, - "k1L": -0.12302199999999999 + "k1": -0.820147, + "k1L": -0.12302205 }, "S30CB15.MQUA430": { - "k1": 0.8201533333333333, - "k1L": 0.123023 + "k1": 0.820153, + "k1L": 0.12302294999999999 }, "SARCL01.MQUA020": { - "k1": -0.5674133333333333, - "k1L": -0.085112 + "k1": -0.5767143646339605, + "k1L": -0.08650715469509408 }, "SARCL01.MQUA050": { - "k1": 0.7934866666666667, - "k1L": 0.23804599999999998 + "k1": 0.848093958983549, + "k1L": 0.2544281876950647 }, "SARCL01.MQUA080": { - "k1": -0.72643, - "k1L": -0.217929 + "k1": -0.7346225594041853, + "k1L": -0.22038676782125557 }, "SARCL01.MQUA100": { - "k1": -0.14591, - "k1L": -0.043773 + "k1": -0.20022533835551523, + "k1L": -0.060067601506654564 }, "SARCL01.MQUA140": { - "k1": 1.7667433333333336, - "k1L": 0.530023 + "k1": 1.7781967084123833, + "k1L": 0.533459012523715 }, "SARCL01.MQUA190": { - "k1": -1.4180733333333335, - "k1L": -0.425422 + "k1": -1.374162967881632, + "k1L": -0.4122488903644896 }, "SARCL02.MQUA130": { - "k1": 2.47047, - "k1L": 0.741141 + "k1": 2.470468387341445, + "k1L": 0.7411405162024335 }, "SARCL02.MQUA150": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SARCL02.MQSK160": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SARCL02.MQUA210": { - "k1": -2.22342, - "k1L": -0.667026 + "k1": -2.2234215486073006, + "k1L": -0.6670264645821902 }, "SARCL02.MQUA250": { - "k1": 1.47725, - "k1L": 0.443175 + "k1": 1.4772503831488089, + "k1L": 0.4431751149446426 }, "SARCL02.MQSK300": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SARCL02.MQUA310": { - "k1": 1.47725, - "k1L": 0.443175 + "k1": 1.4772503831488089, + "k1L": 0.4431751149446426 }, "SARCL02.MQUA350": { - "k1": -2.22342, - "k1L": -0.667026 + "k1": -2.2234215486073006, + "k1L": -0.6670264645821902 }, "SARCL02.MQSK420": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SARCL02.MQUA430": { - "k1": 0.0, + "k1": 0, "k1L": 0.0 }, "SARCL02.MQUA460": { - "k1": 2.47047, - "k1L": 0.741141 + "k1": 2.470468387341445, + "k1L": 0.7411405162024335 }, "SARMA01.MQUA010": { - "k1": -1.6247900000000002, - "k1L": -0.487437 + "k1": -1.6574408552140827, + "k1L": -0.49723225656422476 }, "SARMA01.MQUA060": { - "k1": 1.2823166666666668, - "k1L": 0.384695 + "k1": 1.2689209363062206, + "k1L": 0.38067628089186617 }, "SARMA01.MQUA080": { - "k1": 0.12394000000000001, - "k1L": 0.037182 + "k1": 0.12679201398667186, + "k1L": 0.03803760419600156 }, "SARMA01.MQUA120": { - "k1": -0.9487700000000001, - "k1L": -0.284631 + "k1": -0.9814021639002052, + "k1L": -0.29442064917006155 }, "SARMA01.MQUA140": { - "k1": 0.7188366666666667, - "k1L": 0.215651 + "k1": 0.7263225152054471, + "k1L": 0.21789675456163413 }, "SARMA02.MQUA050": { - "k1": -2.8361125, - "k1L": -0.226889 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARMA02.MQUA120": { - "k1": 2.8361125, - "k1L": 0.226889 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN01.MQUA080": { - "k1": -2.8361125, - "k1L": -0.226889 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN02.MQUA080": { - "k1": 2.8361125, - "k1L": 0.226889 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN03.MQUA080": { - "k1": -2.7167375, - "k1L": -0.21733899999999998 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN04.MQUA080": { - "k1": 2.8063375, - "k1L": 0.224507 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN05.MQUA080": { - "k1": -2.719025, - "k1L": -0.217522 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN06.MQUA080": { - "k1": 2.8369625, - "k1L": 0.226957 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN07.MQUA080": { - "k1": -2.718575, - "k1L": -0.217486 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN08.MQUA080": { - "k1": 2.8063000000000002, - "k1L": 0.22450400000000004 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN09.MQUA080": { - "k1": -2.719525, - "k1L": -0.217562 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN10.MQUA080": { - "k1": 2.8364625, - "k1L": 0.226917 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN11.MQUA080": { - "k1": -2.7189875, - "k1L": -0.217519 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN12.MQUA080": { - "k1": 2.8064625, - "k1L": 0.224517 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN13.MQUA080": { - "k1": -2.7200875, - "k1L": -0.217607 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN14.MQUA080": { - "k1": 2.836525, - "k1L": 0.226922 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN15.MQUA080": { - "k1": -2.7991625, - "k1L": -0.223933 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN16.MQUA080": { - "k1": 2.8508999999999998, - "k1L": 0.228072 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN17.MQUA080": { - "k1": -2.8655875, - "k1L": -0.229247 + "k1": -2.716737, + "k1L": -0.21733896000000003 }, "SARUN18.MQUA080": { - "k1": 2.860225, - "k1L": 0.228818 + "k1": 2.806338, + "k1L": 0.22450704000000002 }, "SARUN19.MQUA080": { - "k1": -3.0, - "k1L": -0.24 + "k1": -3.192157429148314, + "k1L": -0.25537259433186515 }, "SARUN20.MQUA080": { - "k1": 2.8022125, - "k1L": 0.22417700000000002 + "k1": 2.885174510422123, + "k1L": 0.23081396083376984 }, "SARBD01.MQUA020": { - "k1": 0.0, - "k1L": 0.0 + "k1": 0.0833618175771457, + "k1L": 0.006668945406171656 }, "SATSY01.MQUA020": { "k1": 0.48660586059056876, "k1L": 0.14598175817717063 }, "SATSY01.MQSK030": { - "k1": 0.05, - "k1L": 0.004 + "k1": 0, + "k1L": 0.0 }, "SATSY01.MQUA040": { "k1": 1.0087581140227897, @@ -621,8 +621,8 @@ "k1L": 0.15131371710341845 }, "SATSY01.MQSK270": { - "k1": -0.02, - "k1L": -0.003 + "k1": 0, + "k1L": 0.0 }, "SATSY01.MQUA280": { "k1": 0.4154173003863646, @@ -685,20 +685,20 @@ "k1L": -0.1605619526966256 }, "SATDI01.MQUA025": { - "k1": -1.0732185274832882, - "k1L": -0.16098277912249323 + "k1": -1.073219, + "k1L": -0.16098284999999998 }, "SATDI01.MQUA080": { - "k1": 0.8923449729204195, - "k1L": 0.13385174593806293 + "k1": 0.892345, + "k1L": 0.13385175 }, "SATDI01.MQUA220": { - "k1": 0.7366134361225838, - "k1L": 0.11049201541838756 + "k1": 0.736613, + "k1L": 0.11049194999999999 }, "SATDI01.MQUA230": { - "k1": -0.8543910736856596, - "k1L": -0.12815866105284893 + "k1": -0.854391, + "k1L": -0.12815864999999999 }, "SATDI01.MQUA250": { "k1": 0.513373, @@ -845,60 +845,60 @@ "k1L": 0.32505296 }, "SATUN22.MQUA080": { - "k1": 0.4964329309887641, - "k1L": 0.03971463447910113 + "k1": 0.496433, + "k1L": 0.03971464 }, "SATMA02.MQUA010": { - "k1": -0.42315336842105267, - "k1L": -0.033852269473684214 + "k1": -0.423153, + "k1L": -0.03385224 }, "SATMA02.MQUA020": { - "k1": 1.4838107636716382, - "k1L": 0.11870486109373106 + "k1": 1.483811, + "k1L": 0.11870488 }, "SATMA02.MQUA040": { - "k1": -0.3968258867467391, - "k1L": -0.03174607093973913 + "k1": -0.396826, + "k1L": -0.03174608 }, "SATMA02.MQUA050": { - "k1": -2.912309351003254, - "k1L": -0.23298474808026032 + "k1": -2.912309, + "k1L": -0.23298472 }, "SATMA02.MQUA070": { - "k1": 2.546737474871309, - "k1L": 0.20373899798970474 + "k1": 2.546737, + "k1L": 0.20373896 }, "SATBD01.MQUA010": { - "k1": 0.5069800000000001, - "k1L": 0.15209400000000003 + "k1": 0.50697, + "k1L": 0.152091 }, "SATBD01.MQUA030": { - "k1": -0.6184666666666667, - "k1L": -0.18554 + "k1": -0.618466, + "k1L": -0.18553979999999998 }, "SATBD01.MQUA050": { - "k1": 0.13248666666666667, - "k1L": 0.039746 + "k1": 0.13249, + "k1L": 0.039747 }, "SATBD01.MQUA070": { - "k1": 0.4740266666666667, - "k1L": 0.142208 + "k1": 0.47403, + "k1L": 0.142209 }, "SATBD01.MQUA090": { - "k1": -0.7442633333333334, - "k1L": -0.223279 + "k1": -0.74426, + "k1L": -0.223278 }, "S10BD01.MQUA010": { "k1": 0.0, "k1L": 0.0 }, "SARBD02.MQUA030": { - "k1": -0.86254, - "k1L": -0.258762 + "k1": -1.1319081349666364, + "k1L": -0.3395724404899909 }, "SATBD02.MQUA030": { - "k1": -1.0508066666666669, - "k1L": -0.3152420000000001 + "k1": -1.05081, + "k1L": -0.315243 } }, "Sextupole": { @@ -1735,23 +1735,23 @@ }, "Kicker": { "S20SY02.MKDC010": { - "cory": 0.0002079977059769098, + "cory": 0, "design_kick": 0.0002079977059769098 }, "S20SY02.MKAC020": { - "cory": 0.0003119965589653647, + "cory": 0, "design_kick": 0.0003119965589653647 }, "S20SY02.MKDC030": { - "cory": 0.0002079977059769098, + "cory": 0, "design_kick": 0.0002079977059769098 }, "S20SY02.MKAC040": { - "cory": 0.0003119965589653647, + "cory": 0, "design_kick": 0.0003119965589653647 }, "S20SY02.MKDC050": { - "cory": 0.0002079977059769098, + "cory": 0, "design_kick": 0.0002079977059769098 } }, diff --git a/generateMatchSettings.py b/generateMatchSettings.py index f4f3f89..1b89a42 100644 --- a/generateMatchSettings.py +++ b/generateMatchSettings.py @@ -70,6 +70,10 @@ def generateDependences(): dependence['SATCB01-MQUA430']=['SATCL02-MQUA430'] dependence['SATUN06-MQUA080']=['SATUN%2.2d-MQUA080' % (2*i+6) for i in range(1,4)] +['SATUN14-MQUA420']+['SATUN%d-MQUA080' % (2*i+16) for i in range(3)] dependence['SATUN07-MQUA080']=['SATUN%2.2d-MQUA080' % (2*i+7) for i in range(1,8)] + dependence['S30CB01-MQUA430'] = ['S30CB%2.2d-MQUA430' % (i*2 + 3) for i in range(7)] + dependence['S30CB02-MQUA430'] = ['S30CB%2.2d-MQUA430' % (i*2 + 4) for i in range(6)] + dependence['SARUN03-MQUA080'] = ['SARMA02-MQUA050','SARUN01-MQUA080'] + ['SARUN%2.2d-MQUA080' % (2*i + 5) for i in range(8)] + dependence['SARUN04-MQUA080'] = ['SARMA02-MQUA120','SARUN02-MQUA080'] + ['SARUN%2.2d-MQUA080' % (2*i + 6) for i in range(8)] return dependence def generateOrder(): @@ -102,6 +106,13 @@ def generateOrder(): order.append(MatchStep(None, 'Athos Undulator', None, 'SATBD01', ['SATUN06', 'SATUN07'], True)) order.append(MatchStep('EEHG', 'Match to Athos Undulator', 'SATUN09', 'SATBD01')) order.append(MatchStep('EEHG', 'Match to Athos Deflector', 'SATBD01', 'SATBD01')) + order.append(MatchStep(None, 'Linac 3', None, 'SARBD01',['S30CB01','S30CB02'], True)) + order.append(MatchStep('Switchyard', 'Match to Linac 3', 'S30CB03', 'SARBD01')) + order.append(MatchStep('Switchyard', 'End of Linac 3', 'S30CB10', 'SARBD01')) + order.append(MatchStep(None, 'Aramis Undulator', None, 'SARBD01', ['SARUN03', 'SARUN04'], True)) + order.append(MatchStep('Linac3', 'Aramis - ECOL', None, 'SARBD01')) + order.append(MatchStep('Linac3', 'Match to Aramis Undulator', 'SARUN20', 'SARBD01')) + order.append(MatchStep('Linac3', 'Aramis Dump', 'SARBD02', 'SARBd02')) return order @@ -223,6 +234,38 @@ def generateMatchingSteps(reference,var_ext): MatchReference('satun22$end', {'x':0, 'px': 0})] parameter['Match to Athos Deflector'] = MatchParameter(var,tar) + var = ['S30CB01-MQUA430', 'S30CB02-MQUA430'] + tar = [MatchReference('#e', {'MUX': 0.1883, 'MUY': 0.1883})] + parameter['Linac 3'] = MatchParameter(var, tar) + + var = ['S20SY03-MQUA020', 'S20SY03-MQUA030', 'S20SY03-MQUA050', 'S20SY03-MQUA060', 'S20SY03-MQUA100'] + tar = [{'Location': 's30cb01$start', 'SavedID': 'Linac 3'}] + parameter['Match to Linac 3'] = MatchParameter(var, tar) + + var = ['S30CB01-MQUA430', 'S30CB01-MQUA430', 'S30CB01-MQUA430', 'S30CB01-MQUA430'] + tar = [reference['Linac3']] + parameter['End of Linac 3'] = MatchParameter(var, tar) + + var = ['SARCL02-MQUA130','SARCL02-MQUA210','SARCL02-MQUA250', + 'SARCL02-MQUA310','SARCL02-MQUA350','SARCL02-MQUA460', + 'SARCL01-MQUA020', 'SARCL01-MQUA050', 'SARCL01-MQUA080', + 'SARCL01-MQUA100', 'SARCL01-MQUA140', 'SARCL01-MQUA190' + ] + tar = [{'Script': 'Scripts/ecol.madx'}] + parameter['Aramis - ECOL'] = MatchParameter(var, tar) + + var = ['SARUN03-MQUA080', 'SARUN04-MQUA080'] + tar = [MatchReference('#e', {'MUX': 0.15, 'MUY': 0.15})] + parameter['Aramis Undulator'] = MatchParameter(var, tar) + + var = ['SARMA01-MQUA010', 'SARMA01-MQUA060', 'SARMA01-MQUA080', 'SARMA01-MQUA120', 'SARMA01-MQUA140'] + tar = [{'Location': 'sarun03$start', 'SavedID': 'Aramis Undulator'}, + MatchReference('sarma01.mqua060', {'betax': 40}, 1)] + parameter['Match to Aramis Undulator'] = MatchParameter(var, tar) + + var = ['SARUN19-MQUA080', 'SARUN20-MQUA080', 'SARBD01-MQUA020', 'SARBD02-MQUA030'] + tar = [MatchReference('SARBD02$END', {'betax': 250, 'betay': 250,'etax':100,'etay':1.2}, 1)] + parameter['Aramis Dump'] = MatchParameter(var, tar) return parameter diff --git a/issues.txt b/issues.txt index f85a623..5c3db0d 100644 --- a/issues.txt +++ b/issues.txt @@ -1,4 +1,4 @@ -1) Finish reference lattice for SwissFEL +Currently none diff --git a/model.py b/model.py index 3afa1d9..941a2ff 100644 --- a/model.py +++ b/model.py @@ -180,41 +180,6 @@ class Model: print(settings['Energy']['energy']) print('Energy in system',self.om.EnergyAt(self.energyReference)[0]) - ##### very old code should be become obsolete after some nice matching files - def updateModel(self): - file ='SwissFELRef.json' - with open(file) as f: - data = json.load(f) - for key in data['settings'].keys(): - tags=key.split(':') - elename = tags[0].replace('-','.') - fld = tags[1] - ele = self.om.getElement(elename) - if 'K1L' == fld: - ele.k1 = data['settings'][key]/ele.Length - elif 'K2L' == fld: - ele.k2 = data['settings'][key]/ele.Length - elif 'Grad' == fld: -# ele.Gradient = data['settings'][key]/ele.Length - ele.Gradient = data['settings'][key] - elif 'Phase' == fld: - ele.Phase = data['settings'][key] - elif 'kx' == fld: - ele.kx = data['settings'][key] - elif 'ky' == fld: - ele.ky = data['settings'][key] - elif 'K' == fld: - ele.K = data['settings'][key] - elif 'Gap' == fld: - ele.Gap = data['settings'][key] - elif 'Offset' == fld: - ele.Offset = data['settings'][key] - elif 'K0L' == fld: - ele.angle = data['settings'][key] - elif 'KICK' == fld: - ele.cory=data['settings'][key] - else: - print('Unknown tag:', key, data['settings'][key]) ##############################33 # tracking