Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
e74cf60
insert pics
JoschD Jun 18, 2025
40c44d4
Merge branch 'user_guide_updates' into user_guide_updates_bbgui_model…
JoschD Jun 25, 2025
0166925
Merge branch 'user_guide_updates' into user_guide_updates_bbgui_model…
JoschD Jun 26, 2025
653423e
follow symlinks
JoschD Jun 26, 2025
18eca54
Merge branch 'user_guide_updates' into user_guide_updates_bbgui_model…
JoschD Jul 30, 2025
c9a30de
lhc model creation
JoschD Aug 5, 2025
adde840
model creation sps
JoschD Aug 5, 2025
3eda7d8
file dialogs
JoschD Aug 6, 2025
f832259
bpms and such
JoschD Aug 6, 2025
24416ae
quick reformat
JoschD Aug 6, 2025
d235ac3
BPM panel
JoschD Aug 7, 2025
50db987
better bad bpms info
JoschD Aug 7, 2025
f825466
apply josh
JoschD Aug 11, 2025
97788f4
fixes felix
JoschD Aug 15, 2025
c8bd55c
PS and PSB
JoschD Aug 15, 2025
2bb934d
Merge branch 'user_guide_updates_bbgui_model_creation' into user_guid…
JoschD Aug 18, 2025
dac8e8a
images
JoschD Aug 18, 2025
19e7c43
missing pics
JoschD Aug 18, 2025
0bf0e8c
Merge branch 'user_guide_updates_bbgui_model_creation' into user_guid…
JoschD Aug 18, 2025
f2fe4cf
Merge branch 'user_guide_updates_bpm_panel' into user_guide_updates_b…
JoschD Aug 18, 2025
c922ed0
image
JoschD Aug 18, 2025
5ba5fa5
add do analysis here
JoschD Aug 18, 2025
411d8b8
do analysis dialog
JoschD Aug 18, 2025
6989de8
ascii
JoschD Aug 18, 2025
27e3704
parallelization
JoschD Aug 18, 2025
5247f64
Merge branch 'user_guide_updates_bpm_panel' into user_guide_updates_b…
JoschD Aug 18, 2025
5d6d851
figure
JoschD Aug 18, 2025
a02ac3d
pics
JoschD Aug 18, 2025
8778953
better phrasing
JoschD Aug 18, 2025
e1fc8a9
Merge branch 'user_guide_updates_bpm_panel' into user_guide_updates_b…
JoschD Aug 18, 2025
17c509f
pics
JoschD Aug 18, 2025
8c00331
clean clean
JoschD Aug 18, 2025
0173c34
Merge branch 'user_guide_updates' into user_guide_updates_bpm_panel
JoschD Aug 19, 2025
64f9df3
Merge branch 'user_guide_updates_bpm_panel' into user_guide_updates_b…
JoschD Aug 19, 2025
3ab56b5
acronyms
JoschD Aug 19, 2025
5e2823e
acronyms
JoschD Aug 19, 2025
35fbf84
Merge branch 'user_guide_updates_bpm_panel' into user_guide_updates_b…
JoschD Aug 19, 2025
4386281
save
JoschD Aug 19, 2025
8145edc
added harpy page
JoschD Aug 19, 2025
4ee2a7d
Merge branch 'user_guide_updates_bpm_panel' into user_guide_updates_b…
JoschD Aug 19, 2025
483fc9f
Merge branch 'user_guide_updates' into user_guide_updates_bbgui_analy…
JoschD Aug 19, 2025
791011f
fixing links
JoschD Aug 20, 2025
52cee70
ts cleaning
JoschD Aug 20, 2025
0c1c40b
bpm search
JoschD Aug 20, 2025
650e82d
resonance lines
JoschD Aug 20, 2025
72c01f7
Merge branch 'user_guide_updates' into user_guide_updates_bbgui_analy…
JoschD Aug 21, 2025
3b2d39a
export charts
JoschD Aug 22, 2025
659ddd6
do optics dialog
JoschD Aug 26, 2025
4258156
Apply suggestions from code review
JoschD Aug 26, 2025
d0eab51
fixes
JoschD Aug 27, 2025
febfe0e
missing period
JoschD Aug 27, 2025
0b1197d
some josh comments
JoschD Aug 27, 2025
eb54494
regex
JoschD Aug 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed docs/assets/images/analysis_panel_cleaning.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/images/betabeat_gui/analysis_panel_table.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/assets/images/cleaning_settings.png
Binary file not shown.
434 changes: 396 additions & 38 deletions docs/guis/betabeat/analysis_panel.md

Large diffs are not rendered by default.

14 changes: 11 additions & 3 deletions docs/guis/betabeat/bpm_panel.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ and select the data to be analyzed further.

!!! warning "Not yet implemented"
The GUI does [not yet support loading of measurement groups][issue282]{target=_blank .cern_login} (i.e. kick groups).
The idea is to load all data from a single [kick-group, as defined in the Multiturn GUI](../multiturn/excitation.html#kick-groups) at once
The idea is to load all data from a single [kick-group, as defined in the Multiturn GUI][kick_groups] at once
or monitor a currently active kick-group and load the files as they are created.

### Open Files
Expand All @@ -42,7 +42,7 @@ Use the ++"Open Files"++{.green-gui-button} button to open turn-by-turn data.
Multiple files can be opened at once and are added to the current `Measurements` directory, as well as to the table of loaded files in the panel.
If the file contained multiple bunches, they are added as separate entries (see [below](#table-of-loaded-files)).

If the ["Analyse TbT files on opening" setting](settings.md#gui-tab) is active, a window will open to prompt the user with the ["Do analysis Dialog"][do_analysis_dialog].
If the ["Analyse TbT files on opening" setting](settings.md#gui-tab) is active, a window will open to prompt the user with the ["Do analysis Dialog"](#do-analysis-dialog).

!!! tip "Reopening Files"
- If you are opening a file with the same filename as an already opened file, an error will be thrown.
Expand Down Expand Up @@ -130,6 +130,13 @@ You can select multiple measurements at once to compare them, but only one BPM p
</center>
</figure>

!!! tip "Find BPMs"
The BPMs in the list are sorted by longitudinal position in model loaded when the file was opened.
Use the text field and the ++"Find BPM"++ button to quickly find BPMs in the list and **automatically select them**.
The text input is based on regular expressions and **the first BPM matching the pattern** will be selected.
Note that `^.*` and `.*$` will be added automatically to start and end of the string respectively,
to look for your pattern **anywhere** in the BPM name.

### Bad BPMs

After [harmonic-analysis](#start-analysis) has been performed, the [bad BPMs][bpm_filtering] will be marked in red in the lists.
Expand Down Expand Up @@ -226,11 +233,12 @@ The _Suffix_-field will be automatically set from your suffix-choices in the [_H
[issue283]: https://gitlab.cern.ch/acc-co/lhc/lhc-app-beta-beating/-/issues/283
[issue285]: https://gitlab.cern.ch/acc-co/lhc/lhc-app-beta-beating/-/issues/285
[bpm_filtering]: ../../measurements/physics/bpm_filtering.md
[do_analysis_dialog]: analysis_panel.md#do-analysis-dialog
[harpy_analysis]: ../../measurements/physics/harpy.md
[kick_groups]: ../multiturn/excitation.md#kick-groups

*[LHC]: Large Hadron Collider
*[SPS]: Super Proton Synchrotron
*[PS]: Proton Synchrotron
*[PSB]: Proton Synchrotron Booster
*[BPM]: Beam Position Monitor
*[BPMs]: Beam Position Monitors
6 changes: 5 additions & 1 deletion docs/guis/betabeat/correction_panel.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ The `Correction` panel displays the corrections computed from the `Optics` panel

It provides an `Open Knob Panel` button to access the LHC beam process list.

## The Knob Panel
## Knob Creation

### The Knob Panel

Through the `Knob Panel`, corrections can be provided directly inside the LHC beam system.

Expand All @@ -31,3 +33,5 @@ By selecting one, the user can examine or visualize the values attributed to eac

!!! todo
Include a screenshot of the Knob Panel view knobs chart

## Correction Checks
10 changes: 5 additions & 5 deletions docs/guis/betabeat/settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The settings window can be initialized by the gear icon <span class="settings-ic

!!! info "Defaults"
The "Default" values given here are the defaults used in `python`,
These might not be up-to-date, check the [omc3 python documentation][python-docs]{:target="_blank"} for more information.
These might not be up-to-date, check the [omc3 python documentation][python-docs]{target=_blank} for more information.
They might also be different from the defaults used in the GUI, as there are some defaults set upon startup determined by the selected machine.
These GUI defaults are directly visible in the settings, while the `python` defaults are used when no value is given.

Expand All @@ -22,7 +22,7 @@ There is some general behaviour, that is true for all settings-tabs:

- **Empty** text-fields are treated as _"Not given"_ and the **`python` defaults** will be used.
- **Hovering the mouse over the label** of a setting will give additional information.
This is often the `help` provided by the corresponding `python` argument. Check the [omc3 python documentation][python-docs]{:target="_blank"} for more information.
This is often the `help` provided by the corresponding `python` argument. Check the [omc3 python documentation][python-docs]{target=_blank} for more information.
- Entries in the settings that are lists (e.g. _Turns_, which will be `STARTTURN ENDTURN`) are given as **space-separated** values, NOT comma separated.
- Of the buttons at the bottom, the top row refers to the current tab, the bottom row to all tabs.
- Settings that have been changed since the last ++"Apply"++ / ++"Apply All"++ are <span style="color: red">highlighted in red</span> and can be reverted with the ++"Reset"++ button.
Expand Down Expand Up @@ -70,7 +70,7 @@ This is in contrast to the other settings tabs, which control the settings passe

- **Analyse TbT Files on Opening**:
If active and you open a turn-by-turn file, via the ++"Open Files"++{.green-gui-button} in the [BPM Panel](bpm_panel.md),
`harpy` analysis will be automatically started (for now: the user will be prompted with the ["Do analysis Dialog"](bpm_panel.md#do-analysis) directly after TbT import).
`harpy` analysis will be automatically started (for now: the user will be prompted with the ["Do analysis Dialog"](bpm_panel.md#do-analysis-dialog) directly after TbT import).

- **Python Path**:
Change the location of the `python` executable to be used to run the python scripts.
Expand Down Expand Up @@ -345,12 +345,12 @@ introduced by the AC-Dipole and if they are not found in the data, the optics an
Files to to use for the optics analysis.
These are the output files from `harpy`.
This field is not editable and is only shown here, as `files` is an argument to `optics_measurement` and an attribute on the internal `OpticsSettings` class.
The actual files to use are chosen from the [Analysis Panel](analysis_panel.md), after which this field is automatically filled in when shown in the [Run Optics](analysis_panel.md#run-optics) popup window.
The actual files to use are chosen from the [Analysis Panel](analysis_panel.md), after which this field is automatically filled in when shown in the [Run Optics](analysis_panel.md#do-optics-dialog) popup window.

- **Outputdir**:
Directory to place to output of the optics analysis.
The field is not editable and is only shown here, as `outputdir` is an argument to `optics_measurement` and an attribute on the internal `OpticsSettings` class.
The actual directory is chosen by the user per analysis, when setting an analysis name in the [Run Optics](analysis_panel.md#run-optics) popup window.
The actual directory is chosen by the user per analysis, when setting an analysis name in the [Run Optics](analysis_panel.md#do-optics-dialog) popup window.

- **Calibrationdir**:
Path to the directory containing the [calibration][bpm_calibration] files, used to rescale the BPM amplitudes and amplitude errors.
Expand Down
10 changes: 5 additions & 5 deletions docs/guis/usage/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ This is for three reasons:

### Model-View-Controller Architecture

While not strictly enforced, our GUIs follow the [Model-View-Controller][mvc_wiki]{target="_blank"} architecture,
While not strictly enforced, our GUIs follow the [Model-View-Controller][mvc_wiki]{target=_blank} architecture,
as it is a very useful and therefore also very common GUI pattern.
[A better explanation can be found here][mvc_geeks]{target="_blank"}, but this section summarizes a few key points relevant to our usecase.
[A better explanation can be found here][mvc_geeks]{target=_blank}, but this section summarizes a few key points relevant to our usecase.

The main philosophy of the MVC architecture is to separate the actual GUI elments, the _View_, from the underlying data, stored in the _Model_,
and let the _Controller_ handle the communication between the two and with the user.
Expand All @@ -35,7 +35,7 @@ this code has been used for many years and probably will be continued to be used

**Try to keep it clean!**

Because GUI testing is hard and because we have easy access to old versions via [CAS][cas_cern]{target="_blank" .cern_internal},
Because GUI testing is hard and because we have easy access to old versions via [CAS][cas_cern]{target=_blank .cern_internal},
there is no tests suite and no review process for the `java` development and changes can be simply pushed to the `master` branch.

Some "best practices" have been established through the years:
Expand All @@ -51,9 +51,9 @@ Some "best practices" have been established through the years:
- Do not use `Strings` for file paths, for now we mostly use `File` objects (but see also the [Issue #239][issue_239]).

!!! tip "Factory Pattern"
One pattern that you will find in different places of `java` code is the [factory design-pattern][factory_pattern_wiki]{target="_blank"}.
One pattern that you will find in different places of `java` code is the [factory design-pattern][factory_pattern_wiki]{target=_blank}.
While useful in some scenarios, I personally (jdilly) find it too verbose and annoying to implement,
in the past there were even [scripts to automatically write the factory-code][internal_program_writer]{target="_blank"} because it needs so many lines of repeating code.
in the past there were even [scripts to automatically write the factory-code][internal_program_writer]{target=_blank} because it needs so many lines of repeating code.

In particular, this pattern was used for the [creation of the `ExternalProgram` classes][factory_pattern_doc] to allow the setting of
multiple attributes before even creating the class, without having to write multiple constructors
Expand Down
35 changes: 35 additions & 0 deletions docs/measurements/physics/optics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

# Optics Analysis

This page summarizes how the optics analysis is performed with the `measure_optics` module, from the physics point of view.
If you want to know how to **use** the `measure_optics` module through `hole_in_one`, refer to the [`omc3` analysis workflow][omc3_analysis].

!!! todo "Implement this page"
Explain how the analysis works.
If too long, maybe make sections their own page?

## Linear Optics

### Phase, Phase Advance and Special Phases

### Beta from Phase

### Beta from Amplitude

### Action

### Dispersion and Normalized Dispersion

### Coupling

See [Coupling](coupling.md)

## Nonlinear Optics

### Resonance Driving Terms

### Combined Resonance Driving Terms

### Chromatic Beating

[omc3_analysis]: ../../packages/omc3/analysis.md
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ nav:
- BPM-Calibration: measurements/physics/bpm_calibration.md
- BPM-Filtering: measurements/physics/bpm_filtering.md
- Harmonic Analysis: measurements/physics/harpy.md
- Optics Analysis: measurements/physics/optics.md
- Coupling: measurements/physics/coupling.md
- K-Mod: measurements/physics/kmod.md
- Linear IR Optics: measurements/physics/ir_linear_optics.md
Expand Down