From 4ad9d231d81d746f8a896389eaecdb7344547d4f Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Thu, 18 Jun 2026 10:56:41 -0700 Subject: [PATCH 1/8] Consolidate beampath entries by replacing multiple variants with single references for SC_HXR, CU_HXR, and CU_ALINE --- slac_db/package_data/beampaths.yaml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/slac_db/package_data/beampaths.yaml b/slac_db/package_data/beampaths.yaml index d83d81d..fcadbfc 100644 --- a/slac_db/package_data/beampaths.yaml +++ b/slac_db/package_data/beampaths.yaml @@ -33,8 +33,7 @@ SC_HXR: - *SC - SPH - SLTH - - BSYH1 - - BSYH2 + - BSYH - LTUH - UNDH - DMPH @@ -76,10 +75,8 @@ CU: &CU CU_HXR: - *CU - - CLTH1 - - CLTH2 - - BSYH1 - - BSYH2 + - CLTH + - BSYH - LTUH - UNDH - DMPH @@ -94,8 +91,6 @@ CU_SXR: CU_ALINE: - *CU - - CLTH1 - - CLTH2 - - BSYH1 - - BSYA1 - - BSYA2 + - CLTH + - BSYH + - BSYA From 9519401ec4a1c9d8f8e5a9f2f626c187ad62e0a1 Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Wed, 24 Jun 2026 10:29:13 -0700 Subject: [PATCH 2/8] Add toroid controls and metadata functions; update YAML with charge toroids --- slac_db/controls_information.py | 8 +++++ slac_db/generate.py | 24 ++++++++++++++ slac_db/metadata.py | 8 +++++ slac_db/package_data/wire_area_metadata.yaml | 33 ++++++++++++++++++++ 4 files changed, 73 insertions(+) diff --git a/slac_db/controls_information.py b/slac_db/controls_information.py index d96d049..2c7f7aa 100644 --- a/slac_db/controls_information.py +++ b/slac_db/controls_information.py @@ -112,3 +112,11 @@ def get_pmt_controls_information(pmt_names: List[str] = None): "No method of getting additional controls_information for PMTs." ) return {} + + +def get_toroid_controls_information(toroid_names: List[str] = None): + if toroid_names: + raise NotImplementedError( + "No method of getting additional controls_information for toroids." + ) + return {} diff --git a/slac_db/generate.py b/slac_db/generate.py index 6e6c0ab..49d965b 100644 --- a/slac_db/generate.py +++ b/slac_db/generate.py @@ -12,6 +12,7 @@ get_bpm_metadata, get_tcav_metadata, get_pmt_metadata, + get_toroid_metadata, ) from slac_db.controls_information import ( get_magnet_controls_information, @@ -21,6 +22,7 @@ get_bpm_controls_information, get_tcav_controls_information, get_pmt_controls_information, + get_toroid_controls_information, ) @@ -574,6 +576,28 @@ def extract_pmts(self, area: Union[str, List[str]] = ["HTR"]): ) return complete_pmt_data + def extract_toroids(self, area: Union[str, List[str]] = ["DL10"]): + required_toroid_types = ["IMON"] + possible_toroid_pvs = { + "TMIT": "tmit", + } + basic_toroid_data = self.extract_devices( + area=area, + required_types=required_toroid_types, + pv_search_terms=possible_toroid_pvs, + ) + if basic_toroid_data: + additional_metadata_data = get_toroid_metadata() + additional_controls_data = get_toroid_controls_information() + complete_toroid_data = self.add_extra_data_to_device( + device_data=basic_toroid_data, + additional_controls_information=additional_controls_data, + additional_metadata=additional_metadata_data, + ) + return complete_toroid_data + else: + return {} + def extract_metadata_by_device_names( self, device_names=Optional[List[str]], required_fields=Optional[List[str]] ): diff --git a/slac_db/metadata.py b/slac_db/metadata.py index 9ef924d..7c5292d 100644 --- a/slac_db/metadata.py +++ b/slac_db/metadata.py @@ -172,3 +172,11 @@ def get_pmt_metadata(pmt_names: List[str] = []): pmt_metadata = yaml.safe_load(f) return pmt_metadata + + +def get_toroid_metadata(toroid_names: List[str] = []): + if toroid_names: + raise NotImplementedError( + "No method of getting additional metadata for toroids." + ) + return {} diff --git a/slac_db/package_data/wire_area_metadata.yaml b/slac_db/package_data/wire_area_metadata.yaml index 024c218..c318038 100644 --- a/slac_db/package_data/wire_area_metadata.yaml +++ b/slac_db/package_data/wire_area_metadata.yaml @@ -10,6 +10,11 @@ IN20: - BPM11 - BPM13 - BPM14 + charge_toroids: + - IM01 + - IM02 + - IM03 + - BPM2 LI21: detectors: - PMT2111:DL1 @@ -22,6 +27,10 @@ LI21: jitter_bpms: - BPMM12 - BPM21301 + charge_toroids: + - IMBC1I + - IMBC1O + - BPMM12 LI24: detectors: - PMT24705:LI24 @@ -32,6 +41,10 @@ LI24: - BPM24501 - BPM24601 - BPM24701 + charge_toroids: + - IMBC2I + - IMBC2O + - BPM24701 LI28: detectors: - PMT29150:LI29 @@ -39,6 +52,8 @@ LI28: - PMT820:LTUH - TMITLOSS:L3 default_detector: PMT29150:LI29 + charge_toroids: + - BPM2 tmitloss: upstream: - BPM27301 @@ -73,6 +88,8 @@ HTR: - LBLM01B:HTR - TMITLOSS:HTR default_detector: TMITLOSS:HTR + charge_toroids: + - BPM0H01 tmitloss: upstream: - BPM2B @@ -90,6 +107,8 @@ DIAG0: - LBLM01B:HTR - TMITLOSS:DIAG0 default_detector: LBLM01A:HTR + charge_toroids: + - BPMDG000 tmitloss: upstream: - BPMDG001 @@ -109,6 +128,8 @@ COL1: - LBLM04A:L2B - TMITLOSS:COL1 default_detector: TMITLOSS:COL1 + charge_toroids: + - BPMC101 tmitloss: upstream: - BPM1C01 @@ -132,6 +153,8 @@ EMIT2: - LBLM07A:L3B - TMITLOSS:EMIT2 default_detector: TMITLOSS:EMIT2 + charge_toroids: + - BPME201 tmitloss: upstream: - BPM2C01 @@ -152,6 +175,9 @@ BYP: - LBLM11A_3:BYP - TMITLOSS:BYP default_detector: TMITLOSS:BYP + charge_toroids: + - BPMBP13 + - LBLM11A_3 tmitloss: upstream: - CMB35 @@ -187,6 +213,8 @@ SPS: detectors: - LBLM22A:SPS default_detector: LBLM22A:SPS + charge_toroids: + - BPMSP1D tmitloss: upstream: - BPMSPH @@ -212,6 +240,9 @@ LTUH: - PMT850:LTUH - LBLM32A:LTUH default_detector: LBLM32A:LTUH + charge_toroids: + - BPMVM4 + - BPME31 jitter_bpms: - BPMEM4 - BPME31 @@ -235,6 +266,8 @@ LTUS: - LBLMS32A:LTUS - TMITLOSS:LTUS default_detector: TMITLOSS:LTUS + charge_toroids: + - BPME33B tmitloss: upstream: - BPMBP27 From ede719e1df2616280419be42f103fd17850b75d6 Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Wed, 24 Jun 2026 11:26:06 -0700 Subject: [PATCH 3/8] Add toroid extraction to YAMLWriter device mapping --- slac_db/write.py | 1 + 1 file changed, 1 insertion(+) diff --git a/slac_db/write.py b/slac_db/write.py index 1a1664f..e4e6d3f 100644 --- a/slac_db/write.py +++ b/slac_db/write.py @@ -38,6 +38,7 @@ def _construct_yaml_contents( "bpms": self.generator.extract_bpms, "tcavs": self.generator.extract_tcavs, "pmts": self.generator.extract_pmts, + "toroids": self.generator.extract_toroids, } if devices is None: From c8340b48d9bf784e517aee9803df07a95b900299 Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Wed, 24 Jun 2026 10:29:13 -0700 Subject: [PATCH 4/8] Add toroid controls and metadata functions; update YAML with charge toroids --- slac_db/controls_information.py | 8 +++++ slac_db/generate.py | 24 ++++++++++++++ slac_db/metadata.py | 8 +++++ slac_db/package_data/wire_area_metadata.yaml | 33 ++++++++++++++++++++ 4 files changed, 73 insertions(+) diff --git a/slac_db/controls_information.py b/slac_db/controls_information.py index d96d049..2c7f7aa 100644 --- a/slac_db/controls_information.py +++ b/slac_db/controls_information.py @@ -112,3 +112,11 @@ def get_pmt_controls_information(pmt_names: List[str] = None): "No method of getting additional controls_information for PMTs." ) return {} + + +def get_toroid_controls_information(toroid_names: List[str] = None): + if toroid_names: + raise NotImplementedError( + "No method of getting additional controls_information for toroids." + ) + return {} diff --git a/slac_db/generate.py b/slac_db/generate.py index 6e6c0ab..49d965b 100644 --- a/slac_db/generate.py +++ b/slac_db/generate.py @@ -12,6 +12,7 @@ get_bpm_metadata, get_tcav_metadata, get_pmt_metadata, + get_toroid_metadata, ) from slac_db.controls_information import ( get_magnet_controls_information, @@ -21,6 +22,7 @@ get_bpm_controls_information, get_tcav_controls_information, get_pmt_controls_information, + get_toroid_controls_information, ) @@ -574,6 +576,28 @@ def extract_pmts(self, area: Union[str, List[str]] = ["HTR"]): ) return complete_pmt_data + def extract_toroids(self, area: Union[str, List[str]] = ["DL10"]): + required_toroid_types = ["IMON"] + possible_toroid_pvs = { + "TMIT": "tmit", + } + basic_toroid_data = self.extract_devices( + area=area, + required_types=required_toroid_types, + pv_search_terms=possible_toroid_pvs, + ) + if basic_toroid_data: + additional_metadata_data = get_toroid_metadata() + additional_controls_data = get_toroid_controls_information() + complete_toroid_data = self.add_extra_data_to_device( + device_data=basic_toroid_data, + additional_controls_information=additional_controls_data, + additional_metadata=additional_metadata_data, + ) + return complete_toroid_data + else: + return {} + def extract_metadata_by_device_names( self, device_names=Optional[List[str]], required_fields=Optional[List[str]] ): diff --git a/slac_db/metadata.py b/slac_db/metadata.py index 9ef924d..7c5292d 100644 --- a/slac_db/metadata.py +++ b/slac_db/metadata.py @@ -172,3 +172,11 @@ def get_pmt_metadata(pmt_names: List[str] = []): pmt_metadata = yaml.safe_load(f) return pmt_metadata + + +def get_toroid_metadata(toroid_names: List[str] = []): + if toroid_names: + raise NotImplementedError( + "No method of getting additional metadata for toroids." + ) + return {} diff --git a/slac_db/package_data/wire_area_metadata.yaml b/slac_db/package_data/wire_area_metadata.yaml index 024c218..c318038 100644 --- a/slac_db/package_data/wire_area_metadata.yaml +++ b/slac_db/package_data/wire_area_metadata.yaml @@ -10,6 +10,11 @@ IN20: - BPM11 - BPM13 - BPM14 + charge_toroids: + - IM01 + - IM02 + - IM03 + - BPM2 LI21: detectors: - PMT2111:DL1 @@ -22,6 +27,10 @@ LI21: jitter_bpms: - BPMM12 - BPM21301 + charge_toroids: + - IMBC1I + - IMBC1O + - BPMM12 LI24: detectors: - PMT24705:LI24 @@ -32,6 +41,10 @@ LI24: - BPM24501 - BPM24601 - BPM24701 + charge_toroids: + - IMBC2I + - IMBC2O + - BPM24701 LI28: detectors: - PMT29150:LI29 @@ -39,6 +52,8 @@ LI28: - PMT820:LTUH - TMITLOSS:L3 default_detector: PMT29150:LI29 + charge_toroids: + - BPM2 tmitloss: upstream: - BPM27301 @@ -73,6 +88,8 @@ HTR: - LBLM01B:HTR - TMITLOSS:HTR default_detector: TMITLOSS:HTR + charge_toroids: + - BPM0H01 tmitloss: upstream: - BPM2B @@ -90,6 +107,8 @@ DIAG0: - LBLM01B:HTR - TMITLOSS:DIAG0 default_detector: LBLM01A:HTR + charge_toroids: + - BPMDG000 tmitloss: upstream: - BPMDG001 @@ -109,6 +128,8 @@ COL1: - LBLM04A:L2B - TMITLOSS:COL1 default_detector: TMITLOSS:COL1 + charge_toroids: + - BPMC101 tmitloss: upstream: - BPM1C01 @@ -132,6 +153,8 @@ EMIT2: - LBLM07A:L3B - TMITLOSS:EMIT2 default_detector: TMITLOSS:EMIT2 + charge_toroids: + - BPME201 tmitloss: upstream: - BPM2C01 @@ -152,6 +175,9 @@ BYP: - LBLM11A_3:BYP - TMITLOSS:BYP default_detector: TMITLOSS:BYP + charge_toroids: + - BPMBP13 + - LBLM11A_3 tmitloss: upstream: - CMB35 @@ -187,6 +213,8 @@ SPS: detectors: - LBLM22A:SPS default_detector: LBLM22A:SPS + charge_toroids: + - BPMSP1D tmitloss: upstream: - BPMSPH @@ -212,6 +240,9 @@ LTUH: - PMT850:LTUH - LBLM32A:LTUH default_detector: LBLM32A:LTUH + charge_toroids: + - BPMVM4 + - BPME31 jitter_bpms: - BPMEM4 - BPME31 @@ -235,6 +266,8 @@ LTUS: - LBLMS32A:LTUS - TMITLOSS:LTUS default_detector: TMITLOSS:LTUS + charge_toroids: + - BPME33B tmitloss: upstream: - BPMBP27 From 1ca1d812b0b8a2aa3eaef93e7b03431bb5ed74fa Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Wed, 24 Jun 2026 11:26:06 -0700 Subject: [PATCH 5/8] Add toroid extraction to YAMLWriter device mapping --- slac_db/write.py | 1 + 1 file changed, 1 insertion(+) diff --git a/slac_db/write.py b/slac_db/write.py index 1a1664f..e4e6d3f 100644 --- a/slac_db/write.py +++ b/slac_db/write.py @@ -38,6 +38,7 @@ def _construct_yaml_contents( "bpms": self.generator.extract_bpms, "tcavs": self.generator.extract_tcavs, "pmts": self.generator.extract_pmts, + "toroids": self.generator.extract_toroids, } if devices is None: From 420571a288667f387dfc129036cf462cfee1c888 Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Wed, 24 Jun 2026 15:10:48 -0700 Subject: [PATCH 6/8] YAML add toroid --- slac_db/package_data/yaml/BC1.yaml | 69 +++++----- slac_db/package_data/yaml/BC11_2.yaml | 13 ++ slac_db/package_data/yaml/BC14_2.yaml | 22 +++ slac_db/package_data/yaml/BC2.yaml | 30 +++-- slac_db/package_data/yaml/BC20.yaml | 23 ++++ slac_db/package_data/yaml/BYP.yaml | 9 ++ slac_db/package_data/yaml/CLTH.yaml | 107 +++++++++++++++ slac_db/package_data/yaml/COL1.yaml | 27 ++++ slac_db/package_data/yaml/DASEL.yaml | 21 +++ slac_db/package_data/yaml/DIAG0.yaml | 14 ++ slac_db/package_data/yaml/DL1.yaml | 82 +++++------- slac_db/package_data/yaml/DL10.yaml | 52 ++++++++ slac_db/package_data/yaml/DOG.yaml | 38 ------ slac_db/package_data/yaml/EMIT2.yaml | 21 +++ slac_db/package_data/yaml/GUN.yaml | 19 +++ slac_db/package_data/yaml/GUNB.yaml | 20 +++ slac_db/package_data/yaml/HTR.yaml | 39 ++++++ slac_db/package_data/yaml/L3.yaml | 157 +++------------------- slac_db/package_data/yaml/L3F_2.yaml | 12 ++ slac_db/package_data/yaml/LI24.yaml | 39 ++++++ slac_db/package_data/yaml/LI28.yaml | 108 +++++++++++++++ slac_db/package_data/yaml/LTUH.yaml | 185 ++++++++++++++++++++++++++ slac_db/package_data/yaml/LTUS.yaml | 8 ++ slac_db/package_data/yaml/SCAV.yaml | 31 +++++ slac_db/package_data/yaml/SPD.yaml | 28 ++-- slac_db/package_data/yaml/SPEC.yaml | 12 ++ slac_db/package_data/yaml/SPH.yaml | 12 ++ slac_db/package_data/yaml/SPS.yaml | 16 +++ 28 files changed, 926 insertions(+), 288 deletions(-) diff --git a/slac_db/package_data/yaml/BC1.yaml b/slac_db/package_data/yaml/BC1.yaml index ddb9608..f552cc1 100644 --- a/slac_db/package_data/yaml/BC1.yaml +++ b/slac_db/package_data/yaml/BC1.yaml @@ -661,6 +661,39 @@ screens: hardware: {} sum_l_meters: 41.512 type: PROF +toroids: + IMBC1I: + controls_information: + PVs: + tmit: TORO:LI21:205:TMIT + control_name: TORO:LI21:205 + metadata: + area: BC1 + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 30.872 + type: IMON + IMBC1O: + controls_information: + PVs: + tmit: TORO:LI21:277:TMIT + control_name: TORO:LI21:277 + metadata: + area: BC1 + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 38.734 + type: IMON wires: WS11: controls_information: @@ -708,20 +741,8 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT21350:LI21 - detectors: - - PMT2111:DL1 - - PMT21293:LI21 - - PMT2113:LI21 - - PMT21350:LI21 - - PMT2114:LI21 - - PMT2115:LI21 - jitter_bpms: - - BPMM12 - - BPM21301 sum_l_meters: 39.56 type: WIRE - wire_type: fast WS12: controls_information: PVs: @@ -768,20 +789,8 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT21350:LI21 - detectors: - - PMT2111:DL1 - - PMT21293:LI21 - - PMT2113:LI21 - - PMT21350:LI21 - - PMT2114:LI21 - - PMT2115:LI21 - jitter_bpms: - - BPMM12 - - BPM21301 sum_l_meters: 41.217 type: WIRE - wire_type: fast WS13: controls_information: PVs: @@ -828,17 +837,5 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT21350:LI21 - detectors: - - PMT2111:DL1 - - PMT21293:LI21 - - PMT2113:LI21 - - PMT21350:LI21 - - PMT2114:LI21 - - PMT2115:LI21 - jitter_bpms: - - BPMM12 - - BPM21301 sum_l_meters: 42.873 type: WIRE - wire_type: fast diff --git a/slac_db/package_data/yaml/BC11_2.yaml b/slac_db/package_data/yaml/BC11_2.yaml index 435d753..a510880 100644 --- a/slac_db/package_data/yaml/BC11_2.yaml +++ b/slac_db/package_data/yaml/BC11_2.yaml @@ -182,3 +182,16 @@ screens: hardware: {} sum_l_meters: 52.375 type: PROF +toroids: + IM11360: + controls_information: + PVs: {} + control_name: TORO:LI11:360 + metadata: + area: BC11_2 + beam_path: + - F2_ELEC + - F2_POSI + - F2_SCAV + sum_l_meters: 47.618 + type: IMON diff --git a/slac_db/package_data/yaml/BC14_2.yaml b/slac_db/package_data/yaml/BC14_2.yaml index ec63748..46c432c 100644 --- a/slac_db/package_data/yaml/BC14_2.yaml +++ b/slac_db/package_data/yaml/BC14_2.yaml @@ -50,3 +50,25 @@ magnets: l_eff: 0.107 sum_l_meters: 422.207 type: QUAD +toroids: + IM14890: + controls_information: + PVs: {} + control_name: TORO:LI14:890 + metadata: + area: BC14_2 + beam_path: [] + sum_l_meters: null + type: IMON + IM14895: + controls_information: + PVs: {} + control_name: TORO:LI14:895 + metadata: + area: BC14_2 + beam_path: + - F2_ELEC + - F2_POSI + - F2_SCAV + sum_l_meters: 422.567 + type: IMON diff --git a/slac_db/package_data/yaml/BC2.yaml b/slac_db/package_data/yaml/BC2.yaml index ebeb9ac..7eee46c 100644 --- a/slac_db/package_data/yaml/BC2.yaml +++ b/slac_db/package_data/yaml/BC2.yaml @@ -363,6 +363,23 @@ screens: hardware: {} sum_l_meters: 410.405 type: PROF +toroids: + IMBC2I: + controls_information: + PVs: + tmit: TORO:LI24:707:TMIT + control_name: TORO:LI24:707 + metadata: + area: BC2 + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 396.963 + type: IMON wires: WS24: controls_information: @@ -378,13 +395,16 @@ wires: speed_max: WIRE:LI24:705:MOTR.VMAX speed_min: WIRE:LI24:705:MOTR.VBAS start_scan: WIRE:LI24:705:STARTSCAN + u_size: WIRE:LI24:705:UWIRESIZE u_wire_inner: WIRE:LI24:705:UWIREINNER u_wire_outer: WIRE:LI24:705:UWIREOUTER use_u_wire: WIRE:LI24:705:USEUWIRE use_x_wire: WIRE:LI24:705:USEXWIRE use_y_wire: WIRE:LI24:705:USEYWIRE + x_size: WIRE:LI24:705:XWIRESIZE x_wire_inner: WIRE:LI24:705:XWIREINNER x_wire_outer: WIRE:LI24:705:XWIREOUTER + y_size: WIRE:LI24:705:YWIRESIZE y_wire_inner: WIRE:LI24:705:YWIREINNER y_wire_outer: WIRE:LI24:705:YWIREOUTER control_name: WIRE:LI24:705 @@ -397,15 +417,5 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT24705:LI24 - detectors: - - PMT24705:LI24 - - PMT24706:LI24 - jitter_bpms: - - BPM24401 - - BPM24501 - - BPM24601 - - BPM24701 sum_l_meters: 396.77 type: WIRE - wire_type: slow diff --git a/slac_db/package_data/yaml/BC20.yaml b/slac_db/package_data/yaml/BC20.yaml index 9a344c4..2923454 100644 --- a/slac_db/package_data/yaml/BC20.yaml +++ b/slac_db/package_data/yaml/BC20.yaml @@ -35,3 +35,26 @@ magnets: l_eff: 0.0 sum_l_meters: 933.421 type: XCOR +toroids: + IM2040: + controls_information: + PVs: {} + control_name: LI20:TORO:2040 + metadata: + area: BC20 + beam_path: + - F2_ELEC + - F2_POSI + sum_l_meters: 934.466 + type: IMON + IM2452: + controls_information: + PVs: {} + control_name: LI20:TORO:2452 + metadata: + area: BC20 + beam_path: + - F2_ELEC + - F2_POSI + sum_l_meters: 973.689 + type: IMON diff --git a/slac_db/package_data/yaml/BYP.yaml b/slac_db/package_data/yaml/BYP.yaml index 74f1a03..7af8499 100644 --- a/slac_db/package_data/yaml/BYP.yaml +++ b/slac_db/package_data/yaml/BYP.yaml @@ -1776,6 +1776,9 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMBP13 + - LBLM11A_3 default_detector: TMITLOSS:BYP detectors: - LBLM11A_1:BYP @@ -1864,6 +1867,9 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMBP13 + - LBLM11A_3 default_detector: TMITLOSS:BYP detectors: - LBLM11A_1:BYP @@ -1952,6 +1958,9 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMBP13 + - LBLM11A_3 default_detector: TMITLOSS:BYP detectors: - LBLM11A_1:BYP diff --git a/slac_db/package_data/yaml/CLTH.yaml b/slac_db/package_data/yaml/CLTH.yaml index 5ba7844..6fab863 100644 --- a/slac_db/package_data/yaml/CLTH.yaml +++ b/slac_db/package_data/yaml/CLTH.yaml @@ -145,3 +145,110 @@ magnets: l_eff: 0.0 sum_l_meters: 1033.913 type: YCOR +toroids: + IMBSY1: + controls_information: + PVs: {} + control_name: TORO:CLTH:104 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1028.068 + type: IMON + IMBSY1B: + controls_information: + PVs: {} + control_name: TORO:CLTH:122 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1031.887 + type: IMON + IMBSY2: + controls_information: + PVs: {} + control_name: TORO:CLTH:105 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1028.318 + type: IMON + IMBSY2B: + controls_information: + PVs: {} + control_name: TORO:CLTH:124 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1032.203 + type: IMON + IMBSY3: + controls_information: + PVs: {} + control_name: TORO:CLTH:107 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1028.568 + type: IMON + IMBSY34: + controls_information: + PVs: + tmit: TORO:CLTH:108:TMIT + control_name: TORO:CLTH:108 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1028.983 + type: IMON + IMBSY3B: + controls_information: + PVs: {} + control_name: TORO:CLTH:126 + metadata: + area: CLTH + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 1032.519 + type: IMON diff --git a/slac_db/package_data/yaml/COL1.yaml b/slac_db/package_data/yaml/COL1.yaml index 19d6277..2ec0f0e 100644 --- a/slac_db/package_data/yaml/COL1.yaml +++ b/slac_db/package_data/yaml/COL1.yaml @@ -815,6 +815,25 @@ magnets: l_eff: 0.0 sum_l_meters: 180.958 type: YCOR +toroids: + IM11B: + controls_information: + PVs: + tmit: TORO:COL1:125:TMIT + control_name: TORO:COL1:125 + metadata: + area: COL1 + beam_path: + - SC_BSYD + - SC_DASEL + - SC_HXR + - SC_S2_X + - SC_SFTS + - SC_STMO + - SC_STXI + - SC_SXR + sum_l_meters: 140.539 + type: IMON wires: WSC104: controls_information: @@ -864,6 +883,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMC101 default_detector: TMITLOSS:COL1 detectors: - LBLM03A:L1B @@ -937,6 +958,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMC101 default_detector: TMITLOSS:COL1 detectors: - LBLM03A:L1B @@ -1010,6 +1033,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMC101 default_detector: TMITLOSS:COL1 detectors: - LBLM03A:L1B @@ -1083,6 +1108,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPMC101 default_detector: TMITLOSS:COL1 detectors: - LBLM03A:L1B diff --git a/slac_db/package_data/yaml/DASEL.yaml b/slac_db/package_data/yaml/DASEL.yaml index 30364ac..1173136 100644 --- a/slac_db/package_data/yaml/DASEL.yaml +++ b/slac_db/package_data/yaml/DASEL.yaml @@ -388,3 +388,24 @@ screens: hardware: {} sum_l_meters: 3118.053 type: PROF +toroids: + IMDAS1: + controls_information: + PVs: {} + control_name: ACM:DASEL:410 + metadata: + area: DASEL + beam_path: + - SC_DASEL + sum_l_meters: 3006.322 + type: IMON + IMDAS2: + controls_information: + PVs: {} + control_name: ACM:DASEL:411 + metadata: + area: DASEL + beam_path: + - SC_DASEL + sum_l_meters: 3006.628 + type: IMON diff --git a/slac_db/package_data/yaml/DIAG0.yaml b/slac_db/package_data/yaml/DIAG0.yaml index f7e038d..f34eb97 100644 --- a/slac_db/package_data/yaml/DIAG0.yaml +++ b/slac_db/package_data/yaml/DIAG0.yaml @@ -726,6 +726,18 @@ tcavs: rf_freq: 2856.0 sum_l_meters: 53.313 type: LCAV +toroids: + FCDG0DU: + controls_information: + PVs: + tmit: FARC:DIAG0:530:TMIT + control_name: FARC:DIAG0:530 + metadata: + area: DIAG0 + beam_path: + - SC_DIAG0 + sum_l_meters: 62.171 + type: IMON wires: WSDG01: controls_information: @@ -756,6 +768,8 @@ wires: area: DIAG0 beam_path: - SC_DIAG0 + charge_toroids: + - BPMDG000 default_detector: LBLM01A:HTR detectors: - SBLM01A:DIAG0 diff --git a/slac_db/package_data/yaml/DL1.yaml b/slac_db/package_data/yaml/DL1.yaml index 107ea10..eec23d4 100644 --- a/slac_db/package_data/yaml/DL1.yaml +++ b/slac_db/package_data/yaml/DL1.yaml @@ -1100,6 +1100,40 @@ tcavs: rf_freq: 2856.0 sum_l_meters: 11.147 type: LCAV +toroids: + IM02: + controls_information: + PVs: + tmit: TORO:IN20:431:TMIT + control_name: TORO:IN20:431 + metadata: + area: DL1 + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SPEC + - CU_SXR + sum_l_meters: 8.624 + type: IMON + IM03: + controls_information: + PVs: + tmit: TORO:IN20:791:TMIT + control_name: TORO:IN20:791 + metadata: + area: DL1 + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 20.176 + type: IMON wires: WS01: controls_information: @@ -1138,20 +1172,8 @@ wires: - CU_SFTH - CU_SPEC - CU_SXR - default_detector: PMTINJ03:DL1 - detectors: - - PMTINJ03:DL1 - - PMTINJ05:DL1 - - PMT21350:LI21 - jitter_bpms: - - BPM9 - - BPM10 - - BPM11 - - BPM13 - - BPM14 sum_l_meters: 12.175 type: WIRE - wire_type: slow WS02: controls_information: PVs: @@ -1196,20 +1218,8 @@ wires: - CU_SFTH - CU_SPEC - CU_SXR - default_detector: PMTINJ03:DL1 - detectors: - - PMTINJ03:DL1 - - PMTINJ05:DL1 - - PMT21350:LI21 - jitter_bpms: - - BPM9 - - BPM10 - - BPM11 - - BPM13 - - BPM14 sum_l_meters: 14.089 type: WIRE - wire_type: fast WS03: controls_information: PVs: @@ -1254,20 +1264,8 @@ wires: - CU_SFTH - CU_SPEC - CU_SXR - default_detector: PMTINJ03:DL1 - detectors: - - PMTINJ03:DL1 - - PMTINJ05:DL1 - - PMT21350:LI21 - jitter_bpms: - - BPM9 - - BPM10 - - BPM11 - - BPM13 - - BPM14 sum_l_meters: 16.003 type: WIRE - wire_type: fast WS04: controls_information: PVs: @@ -1304,17 +1302,5 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMTINJ05:DL1 - detectors: - - PMTINJ03:DL1 - - PMTINJ05:DL1 - - PMT21350:LI21 - jitter_bpms: - - BPM9 - - BPM10 - - BPM11 - - BPM13 - - BPM14 sum_l_meters: 18.519 type: WIRE - wire_type: slow diff --git a/slac_db/package_data/yaml/DL10.yaml b/slac_db/package_data/yaml/DL10.yaml index 9c307c8..e3f855d 100644 --- a/slac_db/package_data/yaml/DL10.yaml +++ b/slac_db/package_data/yaml/DL10.yaml @@ -426,6 +426,58 @@ screens: hardware: {} sum_l_meters: 17.354 type: PROF +toroids: + IM10431: + controls_information: + PVs: {} + control_name: TORO:IN10:362 + metadata: + area: DL10 + beam_path: + - F2_ELEC + - F2_SCAV + sum_l_meters: 8.182 + type: IMON + IM10591: + controls_information: + PVs: {} + control_name: TORO:IN10:591 + metadata: + area: DL10 + beam_path: + - F2_ELEC + - F2_SCAV + sum_l_meters: 14.793 + type: IMON + IM10607: + controls_information: + PVs: {} + control_name: TORO:IN10:607 + metadata: + area: DL10 + beam_path: [] + sum_l_meters: null + type: IMON + IM10618: + controls_information: + PVs: {} + control_name: TORO:IN10:618 + metadata: + area: DL10 + beam_path: [] + sum_l_meters: null + type: IMON + IM10791: + controls_information: + PVs: {} + control_name: TORO:IN10:791 + metadata: + area: DL10 + beam_path: + - F2_ELEC + - F2_SCAV + sum_l_meters: 19.733 + type: IMON wires: WS10561: controls_information: diff --git a/slac_db/package_data/yaml/DOG.yaml b/slac_db/package_data/yaml/DOG.yaml index 907938c..9e71611 100644 --- a/slac_db/package_data/yaml/DOG.yaml +++ b/slac_db/package_data/yaml/DOG.yaml @@ -1474,43 +1474,5 @@ wires: - SC_STMO - SC_STXI - SC_SXR - default_detector: TMITLOSS:BYP - detectors: - - LBLM11A_1:BYP - - LBLM11A_2:BYP - - LBLM11A_3:BYP - - TMITLOSS:BYP sum_l_meters: 1009.649 - tmitloss: - downstream: - - BPMBP23 - - BPMBP24 - - BPMBP25 - - BPMBP26 - - BPMBP27 - - BPMBP35 - - BPMBP28 - - BPMSPH - - BPMSP1 - - BPMSP2 - - BPMSPS - - BPMSP1D - - BPMDAS - - BPMSP2D - - BPMSP3D - upstream: - - CMB35 - - BPMX01 - - BPMX02 - - BPMDOG1 - - BPMDOG2 - - BPMDOG3 - - BPMDOG6 - - BPMDOG7 - - BPMDOG8 - - BPML2P - - BPML3P - - BPML4P - - BPML5P type: WIRE - wire_type: fast diff --git a/slac_db/package_data/yaml/EMIT2.yaml b/slac_db/package_data/yaml/EMIT2.yaml index cd0a1c9..dd8087a 100644 --- a/slac_db/package_data/yaml/EMIT2.yaml +++ b/slac_db/package_data/yaml/EMIT2.yaml @@ -280,6 +280,25 @@ magnets: l_eff: 0.0 sum_l_meters: 392.485 type: YCOR +toroids: + IM21B: + controls_information: + PVs: + tmit: TORO:EMIT2:170:TMIT + control_name: TORO:EMIT2:170 + metadata: + area: EMIT2 + beam_path: + - SC_BSYD + - SC_DASEL + - SC_HXR + - SC_S2_X + - SC_SFTS + - SC_STMO + - SC_STXI + - SC_SXR + sum_l_meters: 368.891 + type: IMON wires: WSEMIT2: controls_information: @@ -329,6 +348,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPME201 default_detector: TMITLOSS:EMIT2 detectors: - LBLM04A:L2B diff --git a/slac_db/package_data/yaml/GUN.yaml b/slac_db/package_data/yaml/GUN.yaml index ae01103..74691b6 100644 --- a/slac_db/package_data/yaml/GUN.yaml +++ b/slac_db/package_data/yaml/GUN.yaml @@ -254,3 +254,22 @@ screens: hardware: {} sum_l_meters: 0.614 type: PROF +toroids: + IM01: + controls_information: + PVs: + tmit: TORO:IN20:215:TMIT + control_name: TORO:IN20:215 + metadata: + area: GUN + beam_path: + - CU_ALINE + - CU_GSPEC + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SPEC + - CU_SXR + sum_l_meters: 0.707 + type: IMON diff --git a/slac_db/package_data/yaml/GUNB.yaml b/slac_db/package_data/yaml/GUNB.yaml index 95e852f..3c57794 100644 --- a/slac_db/package_data/yaml/GUNB.yaml +++ b/slac_db/package_data/yaml/GUNB.yaml @@ -530,3 +530,23 @@ screens: hardware: {} sum_l_meters: 1.49 type: PROF +toroids: + IM01B: + controls_information: + PVs: + tmit: TORO:GUNB:360:TMIT + control_name: TORO:GUNB:360 + metadata: + area: GUNB + beam_path: + - SC_BSYD + - SC_DASEL + - SC_DIAG0 + - SC_HXR + - SC_S2_X + - SC_SFTS + - SC_STMO + - SC_STXI + - SC_SXR + sum_l_meters: 0.595 + type: IMON diff --git a/slac_db/package_data/yaml/HTR.yaml b/slac_db/package_data/yaml/HTR.yaml index f39b272..01a0e1c 100644 --- a/slac_db/package_data/yaml/HTR.yaml +++ b/slac_db/package_data/yaml/HTR.yaml @@ -1103,6 +1103,43 @@ screens: TLAMP: 1.0 sum_l_meters: 33.311 type: PROF +toroids: + IMBCSI1: + controls_information: + PVs: {} + control_name: ACM:HTR:910 + metadata: + area: HTR + beam_path: + - SC_BSYD + - SC_DASEL + - SC_DIAG0 + - SC_HXR + - SC_S2_X + - SC_SFTS + - SC_STMO + - SC_STXI + - SC_SXR + sum_l_meters: 39.865 + type: IMON + IMBCSI2: + controls_information: + PVs: {} + control_name: ACM:HTR:922 + metadata: + area: HTR + beam_path: + - SC_BSYD + - SC_DASEL + - SC_DIAG0 + - SC_HXR + - SC_S2_X + - SC_SFTS + - SC_STMO + - SC_STXI + - SC_SXR + sum_l_meters: 40.171 + type: IMON wires: WS0H04: controls_information: @@ -1153,6 +1190,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPM0H01 default_detector: TMITLOSS:HTR detectors: - LBLM01A:HTR diff --git a/slac_db/package_data/yaml/L3.yaml b/slac_db/package_data/yaml/L3.yaml index 6474dad..ab502dc 100644 --- a/slac_db/package_data/yaml/L3.yaml +++ b/slac_db/package_data/yaml/L3.yaml @@ -4353,6 +4353,23 @@ tcavs: rf_freq: 2856.0 sum_l_meters: 446.761 type: LCAV +toroids: + IMBC2O: + controls_information: + PVs: + tmit: TORO:LI25:235:TMIT + control_name: TORO:LI25:235 + metadata: + area: L3 + beam_path: + - CU_ALINE + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - CU_SXR + sum_l_meters: 445.276 + type: IMON wires: WS27644: controls_information: @@ -4400,43 +4417,8 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT29150:LI29 - detectors: - - PMT29150:LI29 - - PMT756:LTUH - - PMT820:LTUH - - TMITLOSS:L3 - jitter_bpms: - - BPM27201 - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 - - BPM27701 - - BPM27801 - - BPM27901 - - BPM28201 - - BPM28301 - - BPM28401 - - BPM28501 - - BPM28601 - - BPM28701 - - BPM28801 - - BPM28901 sum_l_meters: 700.132 - tmitloss: - downstream: - - BPM30501 - - BPM30601 - - BPM30701 - - BPM30801 - upstream: - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 type: WIRE - wire_type: fast WS28144: controls_information: PVs: @@ -4483,43 +4465,8 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT29150:LI29 - detectors: - - PMT29150:LI29 - - PMT756:LTUH - - PMT820:LTUH - - TMITLOSS:L3 - jitter_bpms: - - BPM27201 - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 - - BPM27701 - - BPM27801 - - BPM27901 - - BPM28201 - - BPM28301 - - BPM28401 - - BPM28501 - - BPM28601 - - BPM28701 - - BPM28801 - - BPM28901 sum_l_meters: 740.508 - tmitloss: - downstream: - - BPM30501 - - BPM30601 - - BPM30701 - - BPM30801 - upstream: - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 type: WIRE - wire_type: fast WS28444: controls_information: PVs: @@ -4566,43 +4513,8 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT29150:LI29 - detectors: - - PMT29150:LI29 - - PMT756:LTUH - - PMT820:LTUH - - TMITLOSS:L3 - jitter_bpms: - - BPM27201 - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 - - BPM27701 - - BPM27801 - - BPM27901 - - BPM28201 - - BPM28301 - - BPM28401 - - BPM28501 - - BPM28601 - - BPM28701 - - BPM28801 - - BPM28901 sum_l_meters: 777.541 - tmitloss: - downstream: - - BPM30501 - - BPM30601 - - BPM30701 - - BPM30801 - upstream: - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 type: WIRE - wire_type: fast WS28744: controls_information: PVs: @@ -4649,40 +4561,5 @@ wires: - CU_HXTES - CU_SFTH - CU_SXR - default_detector: PMT29150:LI29 - detectors: - - PMT29150:LI29 - - PMT756:LTUH - - PMT820:LTUH - - TMITLOSS:L3 - jitter_bpms: - - BPM27201 - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 - - BPM27701 - - BPM27801 - - BPM27901 - - BPM28201 - - BPM28301 - - BPM28401 - - BPM28501 - - BPM28601 - - BPM28701 - - BPM28801 - - BPM28901 sum_l_meters: 814.077 - tmitloss: - downstream: - - BPM30501 - - BPM30601 - - BPM30701 - - BPM30801 - upstream: - - BPM27301 - - BPM27401 - - BPM27501 - - BPM27601 type: WIRE - wire_type: fast diff --git a/slac_db/package_data/yaml/L3F_2.yaml b/slac_db/package_data/yaml/L3F_2.yaml index 03ceea2..2d30340 100644 --- a/slac_db/package_data/yaml/L3F_2.yaml +++ b/slac_db/package_data/yaml/L3F_2.yaml @@ -254,3 +254,15 @@ magnets: l_eff: 0.0 sum_l_meters: 923.535 type: YCOR +toroids: + IM1988: + controls_information: + PVs: {} + control_name: LI20:TORO:1988 + metadata: + area: L3F_2 + beam_path: + - F2_ELEC + - F2_POSI + sum_l_meters: 929.229 + type: IMON diff --git a/slac_db/package_data/yaml/LI24.yaml b/slac_db/package_data/yaml/LI24.yaml index 64fd232..c4d2ff9 100644 --- a/slac_db/package_data/yaml/LI24.yaml +++ b/slac_db/package_data/yaml/LI24.yaml @@ -33,6 +33,19 @@ wires: metadata: area: LI24 beam_path: [] + charge_toroids: + - IMBC2I + - IMBC2O + - BPM24701 + default_detector: PMT24705:LI24 + detectors: + - PMT24705:LI24 + - PMT24706:LI24 + jitter_bpms: + - BPM24401 + - BPM24501 + - BPM24601 + - BPM24701 sum_l_meters: null type: WIRE WS22: @@ -42,6 +55,19 @@ wires: metadata: area: LI24 beam_path: [] + charge_toroids: + - IMBC2I + - IMBC2O + - BPM24701 + default_detector: PMT24705:LI24 + detectors: + - PMT24705:LI24 + - PMT24706:LI24 + jitter_bpms: + - BPM24401 + - BPM24501 + - BPM24601 + - BPM24701 sum_l_meters: null type: WIRE WS23: @@ -51,5 +77,18 @@ wires: metadata: area: LI24 beam_path: [] + charge_toroids: + - IMBC2I + - IMBC2O + - BPM24701 + default_detector: PMT24705:LI24 + detectors: + - PMT24705:LI24 + - PMT24706:LI24 + jitter_bpms: + - BPM24401 + - BPM24501 + - BPM24601 + - BPM24701 sum_l_meters: null type: WIRE diff --git a/slac_db/package_data/yaml/LI28.yaml b/slac_db/package_data/yaml/LI28.yaml index 4509055..5cdd05e 100644 --- a/slac_db/package_data/yaml/LI28.yaml +++ b/slac_db/package_data/yaml/LI28.yaml @@ -121,7 +121,43 @@ wires: metadata: area: LI28 beam_path: [] + charge_toroids: + - BPM2 + default_detector: PMT29150:LI29 + detectors: + - PMT29150:LI29 + - PMT756:LTUH + - PMT820:LTUH + - TMITLOSS:L3 + jitter_bpms: + - BPM27201 + - BPM27301 + - BPM27401 + - BPM27501 + - BPM27601 + - BPM27701 + - BPM27801 + - BPM27901 + - BPM28201 + - BPM28301 + - BPM28401 + - BPM28501 + - BPM28601 + - BPM28701 + - BPM28801 + - BPM28901 sum_l_meters: null + tmitloss: + downstream: + - BPM30501 + - BPM30601 + - BPM30701 + - BPM30801 + upstream: + - BPM27301 + - BPM27401 + - BPM27501 + - BPM27601 type: WIRE WS444: controls_information: @@ -163,7 +199,43 @@ wires: metadata: area: LI28 beam_path: [] + charge_toroids: + - BPM2 + default_detector: PMT29150:LI29 + detectors: + - PMT29150:LI29 + - PMT756:LTUH + - PMT820:LTUH + - TMITLOSS:L3 + jitter_bpms: + - BPM27201 + - BPM27301 + - BPM27401 + - BPM27501 + - BPM27601 + - BPM27701 + - BPM27801 + - BPM27901 + - BPM28201 + - BPM28301 + - BPM28401 + - BPM28501 + - BPM28601 + - BPM28701 + - BPM28801 + - BPM28901 sum_l_meters: null + tmitloss: + downstream: + - BPM30501 + - BPM30601 + - BPM30701 + - BPM30801 + upstream: + - BPM27301 + - BPM27401 + - BPM27501 + - BPM27601 type: WIRE WS544: controls_information: @@ -205,5 +277,41 @@ wires: metadata: area: LI28 beam_path: [] + charge_toroids: + - BPM2 + default_detector: PMT29150:LI29 + detectors: + - PMT29150:LI29 + - PMT756:LTUH + - PMT820:LTUH + - TMITLOSS:L3 + jitter_bpms: + - BPM27201 + - BPM27301 + - BPM27401 + - BPM27501 + - BPM27601 + - BPM27701 + - BPM27801 + - BPM27901 + - BPM28201 + - BPM28301 + - BPM28401 + - BPM28501 + - BPM28601 + - BPM28701 + - BPM28801 + - BPM28901 sum_l_meters: null + tmitloss: + downstream: + - BPM30501 + - BPM30601 + - BPM30701 + - BPM30801 + upstream: + - BPM27301 + - BPM27401 + - BPM27501 + - BPM27601 type: WIRE diff --git a/slac_db/package_data/yaml/LTUH.yaml b/slac_db/package_data/yaml/LTUH.yaml index c181b05..99db029 100644 --- a/slac_db/package_data/yaml/LTUH.yaml +++ b/slac_db/package_data/yaml/LTUH.yaml @@ -2912,6 +2912,80 @@ screens: TLAMP: 1.0 sum_l_meters: 1461.796 type: PROF +toroids: + IM31: + controls_information: + PVs: + tmit: TORO:LTUH:195:TMIT + control_name: TORO:LTUH:195 + metadata: + area: LTUH + beam_path: + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - SC_HXR + sum_l_meters: 1240.296 + type: IMON + IM36: + controls_information: + PVs: + tmit: TORO:LTUH:605:TMIT + control_name: TORO:LTUH:605 + metadata: + area: LTUH + beam_path: + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - SC_HXR + sum_l_meters: 1384.131 + type: IMON + IMBCS1: + controls_information: + PVs: {} + control_name: TORO:LTUH:196 + metadata: + area: LTUH + beam_path: + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - SC_HXR + sum_l_meters: 1240.403 + type: IMON + IMBCS2: + controls_information: + PVs: {} + control_name: TORO:LTUH:510 + metadata: + area: LTUH + beam_path: + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - SC_HXR + sum_l_meters: 1350.98 + type: IMON + IMUNDI: + controls_information: + PVs: + tmit: TORO:LTUH:920:TMIT + control_name: TORO:LTUH:920 + metadata: + area: LTUH + beam_path: + - CU_HTXI + - CU_HXR + - CU_HXTES + - CU_SFTH + - SC_HXR + sum_l_meters: 1542.373 + type: IMON wires: WS31: controls_information: @@ -2958,6 +3032,9 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 default_detector: LBLM32A:LTUH detectors: - PMT122:LTUH @@ -3036,6 +3113,9 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 default_detector: LBLM32A:LTUH detectors: - PMT122:LTUH @@ -3114,6 +3194,9 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 default_detector: LBLM32A:LTUH detectors: - PMT122:LTUH @@ -3192,6 +3275,9 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 default_detector: LBLM32A:LTUH detectors: - PMT122:LTUH @@ -3270,6 +3356,39 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 + default_detector: LBLM32A:LTUH + detectors: + - PMT122:LTUH + - PMT246:LTUH + - PMT430:LTUH + - PMT431:LTUH + - PMT550:LTUH + - PMT755:LTUH + - PMT756:LTUH + - PMT820:LTUH + - PMT850:LTUH + - LBLM32A:LTUH + jitter_bpms: + - BPMEM4 + - BPME31 + - BPME32 + - BPME33 + - BPME34 + - BPME35 + - BPME36 + - BPMUM1 + - BPMVM3 + - BPMVM4 + - BPMDL1 + - BPMT12 + - BPMBSYQ6 + - BPMBSYQA0 + - BPMVM1 + - BPMVM2 + - BPMDL4 sum_l_meters: 1255.337 type: WIRE WSDL4: @@ -3305,6 +3424,39 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 + default_detector: LBLM32A:LTUH + detectors: + - PMT122:LTUH + - PMT246:LTUH + - PMT430:LTUH + - PMT431:LTUH + - PMT550:LTUH + - PMT755:LTUH + - PMT756:LTUH + - PMT820:LTUH + - PMT850:LTUH + - LBLM32A:LTUH + jitter_bpms: + - BPMEM4 + - BPME31 + - BPME32 + - BPME33 + - BPME34 + - BPME35 + - BPME36 + - BPMUM1 + - BPMVM3 + - BPMVM4 + - BPMDL1 + - BPMT12 + - BPMBSYQ6 + - BPMBSYQA0 + - BPMVM1 + - BPMVM2 + - BPMDL4 sum_l_meters: 1360.003 type: WIRE WSVM2: @@ -3352,5 +3504,38 @@ wires: - CU_HXTES - CU_SFTH - SC_HXR + charge_toroids: + - BPMVM4 + - BPME31 + default_detector: LBLM32A:LTUH + detectors: + - PMT122:LTUH + - PMT246:LTUH + - PMT430:LTUH + - PMT431:LTUH + - PMT550:LTUH + - PMT755:LTUH + - PMT756:LTUH + - PMT820:LTUH + - PMT850:LTUH + - LBLM32A:LTUH + jitter_bpms: + - BPMEM4 + - BPME31 + - BPME32 + - BPME33 + - BPME34 + - BPME35 + - BPME36 + - BPMUM1 + - BPMVM3 + - BPMVM4 + - BPMDL1 + - BPMT12 + - BPMBSYQ6 + - BPMBSYQA0 + - BPMVM1 + - BPMVM2 + - BPMDL4 sum_l_meters: 1211.773 type: WIRE diff --git a/slac_db/package_data/yaml/LTUS.yaml b/slac_db/package_data/yaml/LTUS.yaml index 6593fc2..44e83e5 100644 --- a/slac_db/package_data/yaml/LTUS.yaml +++ b/slac_db/package_data/yaml/LTUS.yaml @@ -2820,6 +2820,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPME33B default_detector: TMITLOSS:LTUS detectors: - LBLMS32A:LTUS @@ -2899,6 +2901,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPME33B default_detector: TMITLOSS:LTUS detectors: - LBLMS32A:LTUS @@ -2978,6 +2982,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPME33B default_detector: TMITLOSS:LTUS detectors: - LBLMS32A:LTUS @@ -3057,6 +3063,8 @@ wires: - SC_STMO - SC_STXI - SC_SXR + charge_toroids: + - BPME33B default_detector: TMITLOSS:LTUS detectors: - LBLMS32A:LTUS diff --git a/slac_db/package_data/yaml/SCAV.yaml b/slac_db/package_data/yaml/SCAV.yaml index ca29252..5556a1d 100644 --- a/slac_db/package_data/yaml/SCAV.yaml +++ b/slac_db/package_data/yaml/SCAV.yaml @@ -687,6 +687,37 @@ screens: hardware: {} sum_l_meters: 919.713 type: PROF +toroids: + IM57175: + controls_information: + PVs: {} + control_name: EP01:TORO:175 + metadata: + area: SCAV + beam_path: + - F2_SCAV + sum_l_meters: 911.877 + type: IMON + IM57199: + controls_information: + PVs: {} + control_name: EP01:TORO:199 + metadata: + area: SCAV + beam_path: + - F2_SCAV + sum_l_meters: 929.036 + type: IMON + IM57375: + controls_information: + PVs: {} + control_name: EP01:TORO:375 + metadata: + area: SCAV + beam_path: + - F2_SCAV + sum_l_meters: 969.805 + type: IMON wires: WS57184: controls_information: diff --git a/slac_db/package_data/yaml/SPD.yaml b/slac_db/package_data/yaml/SPD.yaml index 7c8948c..06e3e10 100644 --- a/slac_db/package_data/yaml/SPD.yaml +++ b/slac_db/package_data/yaml/SPD.yaml @@ -364,6 +364,18 @@ magnets: l_eff: 0.0 sum_l_meters: 3053.845 type: YCOR +toroids: + IMSP0D: + controls_information: + PVs: + tmit: TORO:SPD:695:TMIT + control_name: TORO:SPD:695 + metadata: + area: SPD + beam_path: + - SC_BSYD + sum_l_meters: 2970.827 + type: IMON wires: WSSP1D: controls_information: @@ -406,21 +418,5 @@ wires: area: SPD beam_path: - SC_BSYD - default_detector: LBLM22A:SPS - detectors: - - LBLM22A:SPS sum_l_meters: 3024.92 - tmitloss: - downstream: - - BPMSP2D - - BPMSP3D - - BPMSP4D - upstream: - - BPMSPH - - BPMSP1 - - BPMSP2 - - BPMSPS - - BPMSP1D - - BPMDAS type: WIRE - wire_type: fast diff --git a/slac_db/package_data/yaml/SPEC.yaml b/slac_db/package_data/yaml/SPEC.yaml index e7b679a..219b51a 100644 --- a/slac_db/package_data/yaml/SPEC.yaml +++ b/slac_db/package_data/yaml/SPEC.yaml @@ -249,3 +249,15 @@ screens: hardware: {} sum_l_meters: 21.414 type: PROF +toroids: + IMS1: + controls_information: + PVs: + tmit: TORO:IN20:971:TMIT + control_name: TORO:IN20:971 + metadata: + area: SPEC + beam_path: + - CU_SPEC + sum_l_meters: 20.937 + type: IMON diff --git a/slac_db/package_data/yaml/SPH.yaml b/slac_db/package_data/yaml/SPH.yaml index cfd76ae..e8f3b72 100644 --- a/slac_db/package_data/yaml/SPH.yaml +++ b/slac_db/package_data/yaml/SPH.yaml @@ -675,3 +675,15 @@ magnets: l_eff: 0.0 sum_l_meters: 2990.804 type: YCOR +toroids: + IMSP0H: + controls_information: + PVs: + tmit: TORO:SPH:365:TMIT + control_name: TORO:SPH:365 + metadata: + area: SPH + beam_path: + - SC_HXR + sum_l_meters: 2871.488 + type: IMON diff --git a/slac_db/package_data/yaml/SPS.yaml b/slac_db/package_data/yaml/SPS.yaml index 3da011a..b5ef530 100644 --- a/slac_db/package_data/yaml/SPS.yaml +++ b/slac_db/package_data/yaml/SPS.yaml @@ -786,3 +786,19 @@ magnets: l_eff: 0.0 sum_l_meters: 3012.306 type: YCOR +toroids: + IMSP0S: + controls_information: + PVs: + tmit: TORO:SPS:605:TMIT + control_name: TORO:SPS:605 + metadata: + area: SPS + beam_path: + - SC_S2_X + - SC_SFTS + - SC_STMO + - SC_STXI + - SC_SXR + sum_l_meters: 2945.053 + type: IMON From 30b8cae4dcc9b22b51041827c6b096be25f0e3a8 Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Wed, 24 Jun 2026 15:41:42 -0700 Subject: [PATCH 7/8] Add toroid mapping to YAML type map and update test mock for toroid extraction --- slac_db/db_to_yaml.py | 46 +++++++++++++++++++++++++++---------------- tests/test_write.py | 17 +++++----------- 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/slac_db/db_to_yaml.py b/slac_db/db_to_yaml.py index 8b3174f..997ec32 100644 --- a/slac_db/db_to_yaml.py +++ b/slac_db/db_to_yaml.py @@ -13,9 +13,11 @@ "LBLM": "lblms", "BPM": "bpms", "LCAV": "tcavs", - "INST": "pmts" + "INST": "pmts", + "IMON": "toroids", } + def _build_metadata(device_name): """Generate Metadata field for a YAML device. @@ -25,13 +27,14 @@ def _build_metadata(device_name): Returns: rv (dict): Device Metadata """ + def parse_beampaths(beampath_csv): - if beampath_csv is None: - return [] - beampaths = beampath_csv.replace(' ', '').split(',') - beampaths = filter(None, beampaths) - yield from beampaths - + if beampath_csv is None: + return [] + beampaths = beampath_csv.replace(" ", "").split(",") + beampaths = filter(None, beampaths) + yield from beampaths + def _round_values(meta): for i, v in meta.items(): if type(v) is float: @@ -39,10 +42,10 @@ def _round_values(meta): return meta beampath_csv = slac_db.oracle.get_device_row(device_name)["beampath"] - rv = { + rv = { "area": slac_db.device.get_attribute(device_name, "area"), "beam_path": list(parse_beampaths(beampath_csv)), - "type": slac_db.device.get_attribute(device_name, "device_type") + "type": slac_db.device.get_attribute(device_name, "device_type"), } rv.update(_round_values(slac_db.device.get_all_meta(device_name))) expected_meta = slac_db.create.combined._DEVICE_META_MAP.get( @@ -56,6 +59,7 @@ def _round_values(meta): rv.update({m[1]: None}) return rv + def _build_controls_information(device_name): """Returns controls information in YAML Device Format. @@ -67,6 +71,7 @@ def _build_controls_information(device_name): "control_name": slac_db.device.get_attribute(device_name, "cs_name"), } + def _build_devices(area, device_type): """Generator for all devices of a given type in a given area. @@ -74,9 +79,7 @@ def _build_devices(area, device_type): area (str): Area Name device_type (str): Oracle Device Type """ - devices = slac_db.device.get_devices( - area=area, device_type=device_type - ) + devices = slac_db.device.get_devices(area=area, device_type=device_type) for d in devices: if device_type == "INST" and not d.startswith("PMT"): continue @@ -86,10 +89,14 @@ def _build_devices(area, device_type): continue cs = _build_controls_information(d) meta = _build_metadata(d) - yield d, { - "controls_information": cs, - "metadata": meta, - } + yield ( + d, + { + "controls_information": cs, + "metadata": meta, + }, + ) + def _build_types(area): """Generator for all devices in an area sorted by type. @@ -108,6 +115,7 @@ def _build_types(area): all_types[yaml].update(d) yield yaml, all_types[yaml] + def _build_areas(areas): """Generator for all devices in a given area @@ -117,9 +125,10 @@ def _build_areas(areas): for a in areas: yv = {t: d for t, d in _build_types(a)} if not yv: - continue + continue yield a, yv + def get_device(device_name): """Returns the expected device dict for a given device. @@ -141,6 +150,7 @@ def get_device(device_name): return None return device_dict + def build(): """Returns the expected device dict for a given device. @@ -150,12 +160,14 @@ def build(): Returns: (dict): YAML Device Dictionary """ + def _parse_areas(): areas = slac_db.device.get_all_areas() for a in areas: if " " in a or "*" in a: continue yield a + areas = list(_parse_areas()) out = {a: d for a, d in _build_areas(areas)} return out diff --git a/tests/test_write.py b/tests/test_write.py index 9a823bb..dcb5de2 100644 --- a/tests/test_write.py +++ b/tests/test_write.py @@ -9,16 +9,12 @@ class TestWrite(unittest.TestCase): def setUp(self): - self.data_location = ( - Path(__file__).parent / "test_data" - ) + self.data_location = Path(__file__).parent / "test_data" assert os.path.exists(self.data_location) area_location = self.data_location / "AREA.yaml" with open(area_location, "r") as file: self.area = yaml.safe_load(file) - self.generate_patcher = patch( - "slac_db.write.YAMLGenerator" - ) + self.generate_patcher = patch("slac_db.write.YAMLGenerator") self.mock_generate = self.generate_patcher.start() instance = self.mock_generate.return_value instance.extract_magnets.return_value = {} @@ -28,6 +24,7 @@ def setUp(self): instance.extract_bpms.return_value = {} instance.extract_tcavs.return_value = {} instance.extract_pmts.return_value = {} + instance.extract_toroids.return_value = {} type(instance).areas = PropertyMock(return_value=["AREA"]) testbed = self.data_location / "testbed/" if not os.path.exists(testbed): @@ -53,9 +50,7 @@ def test_greedy_write_yaml(self): result_location = self.testbed partial_area = self.data_location / "PARTIALAREA.yaml" shutil.copyfile(partial_area, result_location / "AREA.yaml") - slac_db.write.write( - location=result_location, mode="greedy" - ) + slac_db.write.write(location=result_location, mode="greedy") result_location /= "AREA.yaml" with open(result_location, "r") as file: res = yaml.safe_load(file) @@ -69,9 +64,7 @@ def test_lazy_write_yaml(self): result_location = self.testbed partial_area = self.data_location / "PARTIALAREA.yaml" shutil.copyfile(partial_area, result_location / "AREA.yaml") - slac_db.write.write( - location=result_location, mode="lazy" - ) + slac_db.write.write(location=result_location, mode="lazy") result_location /= "AREA.yaml" with open(result_location, "r") as file: res = yaml.safe_load(file) From e5d638b21b699720b46b860afc832318e3ecb29d Mon Sep 17 00:00:00 2001 From: Tyler Kabana Date: Mon, 27 Jul 2026 14:02:47 -0700 Subject: [PATCH 8/8] Add IMON section to accessor_names.yaml with TMIT mapping --- slac_db/package_data/accessor_names.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slac_db/package_data/accessor_names.yaml b/slac_db/package_data/accessor_names.yaml index 189ca3e..7397673 100644 --- a/slac_db/package_data/accessor_names.yaml +++ b/slac_db/package_data/accessor_names.yaml @@ -88,5 +88,8 @@ LCAV: PACT_AVGNT: phase_avgnt AMPL_W0CH0: amplitude_wocho +IMON: + TMIT: tmit + INST: - QDCRAW: qdcraw \ No newline at end of file + QDCRAW: qdcraw