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: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Element

A dummy object.

base_name = 'D'
increment_lattice_idx = False
is_implemented: bool = False
__init__(line: list[str], dat_idx: int, name: str = '', **kwargs: str) None

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

_separate_weight(line: list[str]) tuple[list[str], float]

Detect if a weight is present, separate if from args if so.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73c600>
class DiagCurrent(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure current.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73c7c0>
class DiagDCurrent(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta current.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73c880>
class DiagPosition(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure position.

is_implemented: bool = True
n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7fd3ce73c900>
class DiagDPosition(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta position.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73cb00>
class DiagDivergence(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure divergences.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73cbc0>
class DiagDDivergence(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta divergences.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73ccc0>
class DiagSizeFWHM(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure full width at half maximum.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73cd40>
class DiagSize(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure sizes.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73ce40>
class DiagSizeP(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure divergences.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73cec0>
class DiagDSizeFWHM(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta full width at half maximum.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73cf80>
class DiagDSize(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta size.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73d000>
class DiagDSize2FWHM(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta full width at half maximum between two positions.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73d0c0>
class DiagDSize2(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta size between two positions.

is_implemented: bool = True
n_attributes: int | range | Collection = (3, 4)
__init__(line: list[str], dat_idx: int, name: str = '', **kwargs: str) None

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

_abc_impl = <_abc._abc_data object at 0x7fd3ce73d1c0>
class DiagDSize3(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta phase spread between two positions.

is_implemented: bool = True
n_attributes: int | range | Collection = (3, 4)
__init__(line: list[str], dat_idx: int, name: str = '', **kwargs: str) None

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

_abc_impl = <_abc._abc_data object at 0x7fd3ce73d2c0>
class DiagDSize4(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure something?

_abc_impl = <_abc._abc_data object at 0x7fd3ce73d340>
class DiagDPSize2(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta divergence between two positions.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73d3c0>
class DiagPhase(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure phase.

n_attributes: int | range | Collection = 2
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d440>
class DiagEnergy(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure energy.

n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d4c0>
class DiagDEnergy(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure difference between beam energy and perfect linac energy.

n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d540>
class DiagDPhase(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure difference between beam phase and perfect linac phase.

n_attributes: int | range | Collection = 2
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d600>
class DiagLuminosity(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure luminosity.

n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d680>
class DiagWaist(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure waist setting.

n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d700>
class DiagAchromat(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure achromat setting.

n_attributes: int | range | Collection = 5
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d780>
class DiagEmit(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure RMS emittance setting.

n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d800>
class DiagEmit99(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure 99% emittance setting.

n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d880>
class DiagHalo(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure halo setting.

n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d900>
class DiagSetMatrix(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure transfer matrix setting.

n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7fd3ce73d980>
class DiagTwiss(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure beam Twiss parameters settings.

n_attributes: int | range | Collection = 7
_abc_impl = <_abc._abc_data object at 0x7fd3ce73da00>
class DiagDTwiss(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

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

n_attributes: int | range | Collection = 7
_abc_impl = <_abc._abc_data object at 0x7fd3ce73da80>
class DiagDTwiss2(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Make equal transverse Twiss parameters at diagnostic position.

n_attributes: int | range | Collection = 3
_abc_impl = <_abc._abc_data object at 0x7fd3ce73db40>
class DiagSeparation(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure beam separation setting.

n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7fd3ce73dbc0>
class DiagSizeMax(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Limit beam size max.

n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7fd3ce73dc40>
class DiagSizeMin(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: DiagSizeMax

Limit beam size min.

_abc_impl = <_abc._abc_data object at 0x7fd3ce73dd00>
class DiagPhaseAdv(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure beam phase advance.

n_attributes: int | range | Collection = 4
_abc_impl = <_abc._abc_data object at 0x7fd3ce73dd80>
class DiagBeta(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure beam beta.

n_attributes: int | range | Collection = 6
_abc_impl = <_abc._abc_data object at 0x7fd3ce73de00>
class DiagDBeta(line: list[str], dat_idx: int, name: str = '', **kwargs: str)

Bases: Diagnostic

Measure delta beam beta.

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