diagnostic module

Define Diagnostic.

As for now, diagnostics are not used by LightWin. However, LightWin can add diagnostics (as well as ADJUST) to the final DAT in order to perform a “pass beauty”.

Note

Functionalities still under implementation. In particular, the number of attributes were not checked.

Note

This is TraceWin’s equivalent of Objective.

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

Bases: Element

A dummy object.

Parameters:
base_name = 'D'
increment_lattice_idx = False
is_implemented: bool = False
__init__(line, dat_idx=None, **kwargs)[source]

Force an element with null-length, with no index.

Parameters:
Return type:

None

_abc_impl = <_abc._abc_data object at 0x7d4a8f1b2c80>
class DiagCurrent(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure current.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b2940>
class DiagDCurrent(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta current.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b2800>
class DiagPosition(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure position.

Parameters:
is_implemented: bool = True
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b04c0>
class DiagDPosition(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta position.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0080>
class DiagDivergence(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure divergences.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0440>
class DiagDDivergence(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta divergences.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0dc0>
class DiagSizeFWHM(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure full width at half maximum.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0180>
class DiagSize(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure sizes.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0800>
class DiagSizeP(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure divergences.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0740>
class DiagDSizeFWHM(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta full width at half maximum.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0840>
class DiagDSize(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta size.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b08c0>
class DiagDSize2FWHM(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta full width at half maximum between two positions.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0a00>
class DiagDSize2(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta size between two positions.

Parameters:
is_implemented: bool = True
n_attributes: int | range | Collection = (3, 4)
__init__(line, dat_idx=None, **kwargs)[source]

Force an element with null-length, with no index.

Parameters:
Return type:

None

_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0ac0>
class DiagDSize3(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta phase spread between two positions.

Parameters:
is_implemented: bool = True
n_attributes: int | range | Collection = (3, 4)
__init__(line, dat_idx=None, **kwargs)[source]

Force an element with null-length, with no index.

Parameters:
Return type:

None

classmethod _args_to_line(number, rms_delta_phase_spread=0.0, accuracy=0.0, low_pass_filter_frequency=None)[source]

Convert list of arguments to corresponding line of dat file.

Parameters:
  • number (int)

  • rms_delta_phase_spread (float, default: 0.0)

  • accuracy (float, default: 0.0)

  • low_pass_filter_frequency (float | None, default: None)

Return type:

str

_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0bc0>
class DiagDSize4(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure something?

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0d40>
class DiagDPSize2(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta divergence between two positions.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b2600>
class DiagPhase(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure phase.

Parameters:
n_attributes: int | range | Collection = 2
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1680>
class DiagEnergy(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure energy.

Parameters:
n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b0f40>
class DiagDEnergy(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure difference between beam energy and perfect linac energy.

Parameters:
n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1040>
class DiagDPhase(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure difference between beam phase and perfect linac phase.

Parameters:
n_attributes: int | range | Collection = 2
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1180>
class DiagLuminosity(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure luminosity.

Parameters:
n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1280>
class DiagWaist(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure waist setting.

Parameters:
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b13c0>
class DiagAchromat(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure achromat setting.

Parameters:
n_attributes: int | range | Collection = 5
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b14c0>
class DiagEmit(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure RMS emittance setting.

Parameters:
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1dc0>
class DiagEmit99(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure 99% emittance setting.

Parameters:
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b24c0>
class DiagHalo(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure halo setting.

Parameters:
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1c80>
class DiagSetMatrix(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure transfer matrix setting.

Parameters:
n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b1600>
class DiagTwiss(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure beam Twiss parameters settings.

Parameters:
n_attributes: int | range | Collection = 7
_abc_impl = <_abc._abc_data object at 0x7d4a8f1b2040>
class DiagDTwiss(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Make equal two beam Twiss parameters between two positions or more.

Parameters:
n_attributes: int | range | Collection = 7
_abc_impl = <_abc._abc_data object at 0x7d4a8fe40f40>
class DiagDTwiss2(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Make equal transverse Twiss parameters at diagnostic position.

Parameters:
n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7d4a8fe43e00>
class DiagSeparation(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure beam separation setting.

Parameters:
n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7d4a90131e00>
class DiagSizeMax(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Limit beam size max.

Parameters:
n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7d4a90435880>
class DiagSizeMin(line, dat_idx=None, **kwargs)[source]

Bases: DiagSizeMax

Limit beam size min.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f284c80>
class DiagPhaseAdv(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure beam phase advance.

Parameters:
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7d4a8f284d00>
class DiagBeta(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure beam beta.

Parameters:
n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7d4a8f284d80>
class DiagDBeta(line, dat_idx=None, **kwargs)[source]

Bases: Diagnostic

Measure delta beam beta.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7d4a8f284a00>
n_attributes: int | range | Collection = 4