factory module

Define a class to easily create Command objects.

IMPLEMENTED_COMMANDS = {   'ADJUST': <class 'lightwin.core.commands.adjust.Adjust'>,     'ADJUST_STEERER': <class 'lightwin.core.commands.dummy_command.DummyCommand'>,     'CHOPPER': <class 'lightwin.core.commands.chopper.Chopper'>,     'DUMMY_COMMAND': <class 'lightwin.core.commands.dummy_command.DummyCommand'>,     'END': <class 'lightwin.core.commands.end.End'>,     'ERROR_BEAM_DYN': <class 'lightwin.core.commands.error.ErrorBeamDyn'>,     'ERROR_BEAM_STAT': <class 'lightwin.core.commands.error.ErrorBeamStat'>,     'ERROR_BEND_CPL_DYN': <class 'lightwin.core.commands.error.ErrorBendCPLDyn'>,     'ERROR_BEND_CPL_STAT': <class 'lightwin.core.commands.error.ErrorBendCPLStat'>,     'ERROR_BEND_NCPL_DYN': <class 'lightwin.core.commands.error.ErrorBendNCPLDyn'>,     'ERROR_BEND_NCPL_STAT': <class 'lightwin.core.commands.error.ErrorBendNCPLStat'>,     'ERROR_CAV_CPL_DYN': <class 'lightwin.core.commands.error.ErrorCavCPLDyn'>,     'ERROR_CAV_CPL_STAT': <class 'lightwin.core.commands.error.ErrorCavCPLStat'>,     'ERROR_CAV_NCPL_DYN': <class 'lightwin.core.commands.error.ErrorCavNCPLDyn'>,     'ERROR_CAV_NCPL_STAT': <class 'lightwin.core.commands.error.ErrorCavNCPLStat'>,     'ERROR_CAV_NCPL_STAT_FILE': <class 'lightwin.core.commands.error.ErrorCavNCPLStatFile'>,     'ERROR_GAUSSIAN_CUT_OFF': <class 'lightwin.core.commands.error.ErrorGaussianCutOff'>,     'ERROR_QUAD_NCPL_DYN': <class 'lightwin.core.commands.error.ErrorQuadNCPLDyn'>,     'ERROR_QUAD_NCPL_STAT': <class 'lightwin.core.commands.error.ErrorQuadNCPLStat'>,     'ERROR_RFQ_CEL_NCPL_DYN': <class 'lightwin.core.commands.error.ErrorRFQCelNCPLDyn'>,     'ERROR_RFQ_CEL_NCPL_STAT': <class 'lightwin.core.commands.error.ErrorRFQCelNCPLStat'>,     'ERROR_SET_RATIO': <class 'lightwin.core.commands.error.ErrorSetRatio'>,     'ERROR_STAT_FILE': <class 'lightwin.core.commands.error.ErrorStatFile'>,     'FIELD_MAP_PATH': <class 'lightwin.core.commands.field_map_path.FieldMapPath'>,     'FREQ': <class 'lightwin.core.commands.freq.Freq'>,     'LATTICE': <class 'lightwin.core.commands.lattice.Lattice'>,     'LATTICE_END': <class 'lightwin.core.commands.lattice.LatticeEnd'>,     'MARKER': <class 'lightwin.core.commands.marker.Marker'>,     'PLOT_DST': <class 'lightwin.core.commands.dummy_command.DummyCommand'>,     'REPEAT_ELE': <class 'lightwin.core.commands.repeat_ele.RepeatEle'>,     'SET_ADV': <class 'lightwin.core.commands.set_adv.SetAdv'>,     'SET_SYNC_PHASE': <class 'lightwin.core.commands.set_sync_phase.SetSyncPhase'>,     'SHIFT': <class 'lightwin.core.commands.shift.Shift'>,     'STEERER': <class 'lightwin.core.commands.steerer.Steerer'>,     'SUPERPOSE_MAP': <class 'lightwin.core.commands.superpose_map.SuperposeMap'>}

Commands handled by LightWin.

class CommandFactory(default_field_map_folder, **factory_kw)[source]

Bases: object

An object to create Command objects.

Parameters:
  • default_field_map_folder (Path)

  • factory_kw (Any)

__init__(default_field_map_folder, **factory_kw)[source]

Do nothing for now.

Todo

Check if it would be relatable to hold some arguments? As for now, I would be better off with a run function instead of a class.

Parameters:
  • default_field_map_folder (Path)

  • factory_kw (Any)

Return type:

None

run(line, dat_idx=None, **command_kw)[source]

Call proper constructor.

Parameters:
Return type:

Command