215 lines
7.6 KiB
Python
215 lines
7.6 KiB
Python
DBPM = 1
|
|
DWSC = 2
|
|
|
|
elements = (
|
|
(DBPM, "SINEG01-DBPM340", 3.0149),
|
|
(DBPM, "SINSB01-DBPM150", 7.9459),
|
|
(DBPM, "SINSB02-DBPM150", 12.9489),
|
|
(DBPM, "SINLH01-DBPM060", 14.5560),
|
|
(DBPM, "SINLH02-DBPM210", 16.4806),
|
|
(DBPM, "SINLH02-DBPM240", 17.4826),
|
|
(DBPM, "SINLH03-DBPM010", 19.2172),
|
|
(DBPM, "SINLH03-DBPM050", 20.4632),
|
|
(DBPM, "SINLH03-DBPM090", 21.6002),
|
|
(DBPM, "SINSB03-DBPM120", 26.9202),
|
|
(DBPM, "SINSB03-DBPM220", 32.4202),
|
|
(DBPM, "SINSB04-DBPM120", 37.9202),
|
|
(DBPM, "SINSB04-DBPM220", 43.4202),
|
|
(DBPM, "SINSB05-DBPM120", 48.9202),
|
|
(DBPM, "SINSB05-DBPM220", 54.4202),
|
|
(DBPM, "SINXB01-DBPM120", 56.2420),
|
|
(DBPM, "SINBC01-DBPM010", 60.2912),
|
|
(DBPM, "SINBC01-DBPM030", 61.0912),
|
|
(DBPM, "SINBC01-DBPM080", 64.4172),
|
|
(DBPM, "SINBC01-DBPM100", 65.9432),
|
|
(DBPM, "SINBC02-DBPM140", 69.3739),
|
|
(DBPM, "SINBC02-DBPM320", 77.5610),
|
|
(DBPM, "SINDI01-DBPM010", 82.0967),
|
|
(DBPM, "SINDI01-DBPM060", 83.5117),
|
|
(DWSC, "SINDI01-DWSC090", 84.2537),
|
|
(DBPM, "SINDI02-DBPM010", 86.0767),
|
|
(DBPM, "SINDI02-DBPM040", 88.3857),
|
|
(DBPM, "SINDI02-DBPM080", 90.6297),
|
|
(DBPM, "S10CB01-DBPM220", 95.3947),
|
|
(DBPM, "S10CB01-DBPM420", 100.2947),
|
|
(DBPM, "S10CB02-DBPM220", 105.1947),
|
|
(DBPM, "S10CB02-DBPM420", 110.0947),
|
|
(DWSC, "S10DI01-DWSC010", 110.8237),
|
|
(DBPM, "S10BD01-DBPM020", 114.6628),
|
|
(DBPM, "S10DI01-DBPM110", 114.9947),
|
|
(DBPM, "S10CB03-DBPM220", 119.8947),
|
|
(DBPM, "S10CB03-DBPM420", 124.7947),
|
|
(DWSC, "S10CB03-DWSC440", 125.2127),
|
|
(DBPM, "S10CB04-DBPM220", 129.6947),
|
|
(DBPM, "S10CB04-DBPM420", 134.5947),
|
|
(DBPM, "S10CB05-DBPM220", 139.4947),
|
|
(DBPM, "S10CB05-DBPM420", 144.3947),
|
|
(DWSC, "S10CB05-DWSC440", 144.8127),
|
|
(DBPM, "S10CB06-DBPM220", 149.2947),
|
|
(DBPM, "S10CB06-DBPM420", 154.1947),
|
|
(DBPM, "S10CB07-DBPM220", 159.0947),
|
|
(DBPM, "S10CB07-DBPM420", 163.9947),
|
|
(DWSC, "S10CB07-DWSC440", 164.4127),
|
|
(DBPM, "S10CB08-DBPM220", 168.8947),
|
|
(DBPM, "S10CB08-DBPM420", 173.7947),
|
|
(DBPM, "S10CB09-DBPM220", 178.6947),
|
|
(DBPM, "S10BC01-DBPM010", 183.5947),
|
|
(DWSC, "S10BC01-DWSC030", 184.0127),
|
|
(DBPM, "S10BC01-DBPM050", 187.8307),
|
|
(DBPM, "S10BC01-DBPM090", 192.2847),
|
|
(DBPM, "S10BC02-DBPM140", 196.7798),
|
|
(DBPM, "S10BC02-DBPM320", 206.5399),
|
|
(DBPM, "S10MA01-DBPM010", 211.2940),
|
|
(DBPM, "S10MA01-DBPM060", 215.6600),
|
|
(DBPM, "S10MA01-DBPM120", 220.1200),
|
|
(DBPM, "S20CB01-DBPM420", 229.0850),
|
|
(DWSC, "S20CB01-DWSC440", 229.5030),
|
|
(DBPM, "S20CB02-DBPM420", 238.1850),
|
|
(DBPM, "S20CB03-DBPM420", 247.2850),
|
|
(DBPM, "S20SY01-DBPM010", 256.3850),
|
|
(DBPM, "S20SY01-DBPM040", 262.5020),
|
|
(DBPM, "S20SY01-DBPM060", 263.6280),
|
|
(DWSC, "S20SY01-DWSC070", 263.8280),
|
|
(DBPM, "S20SY02-DBPM080", 269.1300),
|
|
(DBPM, "S20SY02-DBPM120", 271.0800),
|
|
(DBPM, "S20SY02-DBPM150", 272.7600),
|
|
(DWSC, "S20SY02-DWSC160", 273.1350),
|
|
(DBPM, "SATSY01-DBPM010", 279.1202),
|
|
(DBPM, "S20SY03-DBPM010", 280.6200),
|
|
(DBPM, "SATSY01-DBPM060", 284.6202),
|
|
(DBPM, "S20SY03-DBPM040", 286.9200),
|
|
(DBPM, "SATSY01-DBPM100", 288.9352),
|
|
(DBPM, "S20SY03-DBPM080", 294.3800),
|
|
(DWSC, "S20SY03-DWSC090", 294.5800),
|
|
(DBPM, "SATSY01-DBPM240", 296.1202),
|
|
(DBPM, "SATSY01-DBPM290", 302.8202),
|
|
(DBPM, "S30CB01-DBPM420", 303.8150),
|
|
(DWSC, "S30CB01-DWSC440", 304.2330),
|
|
(DBPM, "SATSY02-DBPM020", 306.8663),
|
|
(DBPM, "SATSY02-DBPM210", 312.6833),
|
|
(DBPM, "S30CB02-DBPM420", 312.9150),
|
|
(DBPM, "SATSY03-DBPM030", 317.2003),
|
|
(DBPM, "SATSY03-DBPM060", 320.0003),
|
|
(DBPM, "S30CB03-DBPM420", 322.0150),
|
|
(DBPM, "SATSY03-DBPM090", 322.8003),
|
|
(DWSC, "SATSY03-DWSC110", 325.1663),
|
|
(DBPM, "SATSY03-DBPM120", 325.6003),
|
|
(DBPM, "S30CB04-DBPM420", 331.1150),
|
|
(DBPM, "SATCL01-DBPM140", 331.9185),
|
|
(DBPM, "S30CB05-DBPM420", 340.2150),
|
|
(DWSC, "S30CB05-DWSC440", 340.6330),
|
|
(DBPM, "SATDI01-DBPM030", 340.8637),
|
|
(DBPM, "SATDI01-DBPM060", 342.7637),
|
|
(DWSC, "SATDI01-DWSC065", 342.9837),
|
|
(DBPM, "SATDI01-DBPM210", 349.2197),
|
|
(DBPM, "S30CB06-DBPM420", 349.3150),
|
|
(DBPM, "SATDI01-DBPM240", 352.1997),
|
|
(DBPM, "SATDI01-DBPM270", 355.1797),
|
|
(DWSC, "SATDI01-DWSC290", 356.4797),
|
|
(DBPM, "SATDI01-DBPM320", 357.0907),
|
|
(DBPM, "S30CB07-DBPM420", 358.4150),
|
|
(DBPM, "SATCB01-DBPM220", 361.5357),
|
|
(DBPM, "SATCB01-DBPM420", 366.4357),
|
|
(DBPM, "S30CB08-DBPM420", 367.5150),
|
|
(DBPM, "S30CB09-DBPM420", 376.6150),
|
|
(DWSC, "S30CB09-DWSC440", 377.0330),
|
|
(DBPM, "SATMA01-DBPM010", 377.2657),
|
|
(DBPM, "SATMA01-DBPM020", 379.3147),
|
|
(DBPM, "SATMA01-DBPM040", 381.3637),
|
|
(DBPM, "S30CB10-DBPM420", 385.7150),
|
|
(DBPM, "S30CB11-DBPM420", 394.8150),
|
|
(DBPM, "S30CB12-DBPM420", 403.9150),
|
|
(DBPM, "S30CB13-DBPM420", 413.0150),
|
|
(DWSC, "S30CB13-DWSC440", 413.4330),
|
|
(DBPM, "S30CB14-DBPM420", 422.1150),
|
|
(DBPM, "S30CB15-DBPM420", 431.2150),
|
|
(DBPM, "SARCL01-DBPM010", 440.3150),
|
|
(DBPM, "SARCL01-DBPM060", 444.6750),
|
|
(DBPM, "SARCL01-DBPM120", 450.7750),
|
|
(DBPM, "SARCL01-DBPM150", 452.1510),
|
|
(DWSC, "SARCL01-DWSC160", 452.3510),
|
|
(DBPM, "SARCL02-DBPM110", 456.9100),
|
|
(DBPM, "SARCL02-DBPM220", 460.9609),
|
|
(DBPM, "SARCL02-DBPM260", 462.7569),
|
|
(DWSC, "SARCL02-DWSC270", 462.9769),
|
|
(DBPM, "SARCL02-DBPM330", 466.6909),
|
|
(DBPM, "SARCL02-DBPM470", 471.1067),
|
|
(DBPM, "SARMA01-DBPM040", 476.4267),
|
|
(DBPM, "SARMA01-DBPM100", 483.2767),
|
|
(DBPM, "SARMA02-DBPM010", 487.9617),
|
|
(DBPM, "SARMA02-DBPM020", 490.0107),
|
|
(DBPM, "SARMA02-DBPM040", 492.0597),
|
|
(DWSC, "SARMA02-DWSC060", 492.3767),
|
|
(DBPM, "SARMA02-DBPM110", 496.8097),
|
|
(DBPM, "SARUN01-DBPM070", 501.5597),
|
|
(DBPM, "SARUN02-DBPM070", 506.3097),
|
|
(DBPM, "SARUN03-DBPM070", 511.0597),
|
|
(DBPM, "SARUN04-DBPM070", 515.8097),
|
|
(DBPM, "SARUN05-DBPM070", 520.5597),
|
|
(DBPM, "SARUN06-DBPM070", 525.3097),
|
|
(DBPM, "SARUN07-DBPM070", 530.0597),
|
|
(DBPM, "SARUN08-DBPM070", 534.8097),
|
|
(DBPM, "SARUN09-DBPM070", 539.5597),
|
|
(DBPM, "SARUN10-DBPM070", 544.3097),
|
|
(DBPM, "SARUN11-DBPM070", 549.0597),
|
|
(DBPM, "SARUN12-DBPM070", 553.8097),
|
|
(DBPM, "SARUN13-DBPM070", 558.5597),
|
|
(DBPM, "SARUN14-DBPM070", 563.3097),
|
|
(DBPM, "SARUN15-DBPM070", 568.0597),
|
|
(DBPM, "SARUN16-DBPM070", 572.8097),
|
|
(DBPM, "SARUN17-DBPM070", 577.5597),
|
|
(DBPM, "SARUN18-DBPM070", 582.3097),
|
|
(DBPM, "SARUN19-DBPM070", 587.0597),
|
|
(DWSC, "SARUN20-DWSC010", 587.3767),
|
|
(DBPM, "SARUN20-DBPM070", 591.8097),
|
|
(DBPM, "SARBD01-DBPM040", 593.9132),
|
|
(DBPM, "SARBD02-DBPM010", 596.9584),
|
|
(DBPM, "SARBD02-DBPM040", 598.3943),
|
|
)
|
|
|
|
def get_section(element):
|
|
return element[1:3]
|
|
|
|
def get_section_type(element):
|
|
section = get_section(element)
|
|
if section == "AR": return "ARAMIS"
|
|
if section == "AT": return "ATH0S"
|
|
if section == "IN": return "INJECTOR"
|
|
if section in["10", "20", "30"] : return "LINAC"
|
|
return None
|
|
|
|
|
|
def get_bpms():
|
|
ret = []
|
|
for element in elements:
|
|
if element[0]==DBPM:
|
|
ret.append(element[1])
|
|
return ret
|
|
|
|
def get_wire_scanners():
|
|
ret = []
|
|
for element in elements:
|
|
if element[0]==DWSC:
|
|
ret.append(element[1])
|
|
return ret
|
|
|
|
|
|
|
|
def get_wire_scanners_bpms(wire_scan):
|
|
last = None
|
|
ret = []
|
|
for element in elements:
|
|
if element[0]==DWSC and element[1] == wire_scan:
|
|
ret = [last,]
|
|
else:
|
|
if get_section_type(element[1]) == get_section_type(wire_scan):
|
|
if len(ret) > 0:
|
|
return [ret[0],element[1]]
|
|
last = element[1]
|
|
return None
|
|
|
|
|
|
#for w in get_wire_scanners():
|
|
# print w, get_wire_scanners_bpms(w)
|
|
|