factory module

Define a class to easily create Element objects.

IMPLEMENTED_ELEMENTS = {   'APERTURE': <class 'lightwin.core.elements.aperture.Aperture'>,     'BEND': <class 'lightwin.core.elements.bend.Bend'>,     'DIAG_ACHROMAT': <class 'lightwin.core.elements.diagnostic.DiagAchromat'>,     'DIAG_BETA': <class 'lightwin.core.elements.diagnostic.DiagBeta'>,     'DIAG_CURRENT': <class 'lightwin.core.elements.diagnostic.DiagCurrent'>,     'DIAG_DBETA': <class 'lightwin.core.elements.diagnostic.DiagDBeta'>,     'DIAG_DCURRENT': <class 'lightwin.core.elements.diagnostic.DiagDCurrent'>,     'DIAG_DDIVERGENCE': <class 'lightwin.core.elements.diagnostic.DiagDDivergence'>,     'DIAG_DENERGY': <class 'lightwin.core.elements.diagnostic.DiagDEnergy'>,     'DIAG_DIVERGENCE': <class 'lightwin.core.elements.diagnostic.DiagDivergence'>,     'DIAG_DPHASE': <class 'lightwin.core.elements.diagnostic.DiagDPhase'>,     'DIAG_DPOSITION': <class 'lightwin.core.elements.diagnostic.DiagDPosition'>,     'DIAG_DPSIZE2': <class 'lightwin.core.elements.diagnostic.DiagDPSize2'>,     'DIAG_DSIZE': <class 'lightwin.core.elements.diagnostic.DiagDSize'>,     'DIAG_DSIZE2': <class 'lightwin.core.elements.diagnostic.DiagDSize2'>,     'DIAG_DSIZE2_FWHM': <class 'lightwin.core.elements.diagnostic.DiagDSize2FWHM'>,     'DIAG_DSIZE3': <class 'lightwin.core.elements.diagnostic.DiagDSize3'>,     'DIAG_DSIZE4': <class 'lightwin.core.elements.diagnostic.DiagDSize4'>,     'DIAG_DSIZE__FWHM': <class 'lightwin.core.elements.diagnostic.DiagDSizeFWHM'>,     'DIAG_DTWISS': <class 'lightwin.core.elements.diagnostic.DiagDTwiss'>,     'DIAG_DTWISS2': <class 'lightwin.core.elements.diagnostic.DiagDTwiss2'>,     'DIAG_EMIT': <class 'lightwin.core.elements.diagnostic.DiagEmit'>,     'DIAG_EMIT_99': <class 'lightwin.core.elements.diagnostic.DiagEmit99'>,     'DIAG_ENERGY': <class 'lightwin.core.elements.diagnostic.DiagEnergy'>,     'DIAG_HALO': <class 'lightwin.core.elements.diagnostic.DiagHalo'>,     'DIAG_LUMINOSITY': <class 'lightwin.core.elements.diagnostic.DiagLuminosity'>,     'DIAG_PHASE': <class 'lightwin.core.elements.diagnostic.DiagPhase'>,     'DIAG_PHASE_ADV': <class 'lightwin.core.elements.diagnostic.DiagPhaseAdv'>,     'DIAG_POSITION': <class 'lightwin.core.elements.diagnostic.DiagPosition'>,     'DIAG_SEPARATION': <class 'lightwin.core.elements.diagnostic.DiagSeparation'>,     'DIAG_SET_MATRIX': <class 'lightwin.core.elements.diagnostic.DiagSetMatrix'>,     'DIAG_SIZE': <class 'lightwin.core.elements.diagnostic.DiagSize'>,     'DIAG_SIZEP': <class 'lightwin.core.elements.diagnostic.DiagSizeP'>,     'DIAG_SIZE_FWHM': <class 'lightwin.core.elements.diagnostic.DiagSizeFWHM'>,     'DIAG_SIZE_MAX': <class 'lightwin.core.elements.diagnostic.DiagSizeMax'>,     'DIAG_SIZE_MIN': <class 'lightwin.core.elements.diagnostic.DiagSizeMin'>,     'DIAG_TWISS': <class 'lightwin.core.elements.diagnostic.DiagTwiss'>,     'DIAG_WAIST': <class 'lightwin.core.elements.diagnostic.DiagWaist'>,     'DRIFT': <class 'lightwin.core.elements.drift.Drift'>,     'DUMMY_ELEMENT': <class 'lightwin.core.elements.dummy.DummyElement'>,     'EDGE': <class 'lightwin.core.elements.edge.Edge'>,     'FIELD_MAP': <class 'lightwin.core.elements.field_maps.field_map.FieldMap'>,     'QUAD': <class 'lightwin.core.elements.quad.Quad'>,     'SOLENOID': <class 'lightwin.core.elements.solenoid.Solenoid'>,     'THIN_STEERING': <class 'lightwin.core.elements.thin_steering.ThinSteering'>}

Elements handled by LightWin.

class ElementFactory(default_field_map_folder, freq_bunch_mhz, **factory_kw)[source]

Bases: object

An object to create Element objects.

Parameters:
  • default_field_map_folder (Path)

  • freq_bunch_mhz (float)

  • factory_kw (Any)

__init__(default_field_map_folder, freq_bunch_mhz, **factory_kw)[source]

Create a factory for the field maps.

Parameters:
  • default_field_map_folder (Path)

  • freq_bunch_mhz (float)

  • factory_kw (Any)

Return type:

None

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

Call proper constructor.

Parameters:
Return type:

Element

_get_constructor(instruction, dat_idx)[source]

Get the proper constructor.

Parameters:
  • instruction (str)

  • dat_idx (int)

Return type:

type