core.commands.set_sync_phase module

Define the SET_SYNC_PHASE command.

Todo

Should also modify RFQ_CEL, CAVSIN, NCELLS according to doc.

class SetSyncPhase(line: list[str], dat_idx: int, **kwargs: str)

Bases: Command

A class that modifies reference phase of next cavity.

__init__(line: list[str], dat_idx: int, **kwargs: str) None

Instantiate command.

_abc_impl = <_abc._abc_data object>
apply(instructions: list[Instruction], **kwargs: float) list[Instruction]

Modify reference of cavity.

is_implemented: bool = True
n_attributes: int | range | Collection = 0
set_influenced_elements(instructions: Sequence[Instruction], **kwargs: float) None

Capture first cavity after this command.

to_line(*args, which_phase: Literal['phi_0_abs', 'phi_0_rel', 'phi_s'], **kwargs) list[str]

Return the command, commented if output phase should not be phi_s.

Note

which_phase == 'phi_s' should never happen for now, the ListOfElements.store_settings_in_dat() should not allow it.