set_sync_phase module

Define the SET_SYNC_PHASE command.

Todo

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

class SetSyncPhase(line: DatLine, dat_idx: int | None = None, **kwargs: str)

Bases: Command

A class that modifies reference phase of next cavity.

is_implemented: bool = True
n_attributes: int | range | Collection = 0
__init__(line: DatLine, dat_idx: int | None = None, **kwargs: str) None

Instantiate command.

set_influenced_elements(instructions: Sequence[Instruction], **kwargs: float) None

Capture first cavity after this command.

apply(instructions: list[Instruction], **kwargs: float) list[Instruction]

Modify reference of cavity.

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

We keep old implementation for now. But this method returns nothing because the to_line method of FieldMap already handles adding a SET_SYNC_PHASE when necessary.

_abc_impl = <_abc._abc_data object at 0x7f36f985b100>