Detector

class slsdet.Detector(multi_id=0)

Bases: CppDetectorApi

This class is the base for detector specific interfaces. Most functions exists in two versions like the getExptime() function that uses the C++ API directly and the simplified exptime property.

acquire()

Run the configured measurement

Note

Blocking command, where control server is blocked and cannot accept other commands until acquisition is done.

  • sets acquiring flag

  • starts the receiver listener (if enabled)

  • starts detector acquisition for number of frames set

  • monitors detector status from running to idle

  • stops the receiver listener (if enabled)

  • increments file index if file write enabled

  • resets acquiring flag

property adcclk

[Ctb] Sets ADC clock frequency in MHz.

property adcenable

[Ctb] ADC Enable Mask for 1Gb. Enable for each 32 ADC channel.

property adcenable10g

[Ctb] ADC Enable Mask for 10Gb mode for each 32 ADC channel.

Note

If any of a consecutive 4 bits are enabled, the complete 4 bits are enabled.

property adcinvert

[Ctb][Jungfrau][Moench] ADC Inversion Mask.

Note

[Jungfrau][Moench] Inversions on top of the default mask.

property adclist

[Chiptestboard] List of names for every adc for this board. 32 adcs

property adcphase

[Gotthard][Jungfrau][Moench][CTB] Sets phase shift of ADC clock.

Note

[Jungfrau][Moench] Absolute phase shift. Changing Speed also resets adcphase to recommended defaults.

[Ctb] Absolute phase shift. Changing adcclk also resets adcphase and sets it to previous values.

[Gotthard] Relative phase shift.

getter

Not implemented for Gotthard

property adcpipeline

[Ctb] Sets pipeline for ADC clock.

property adcreg

[Jungfrau][Moench][Ctb][Gotthard] Writes to an adc register

Note

Advanced user Function!

getter

Not implemented

property adcvpp

[Ctb][Moench] Vpp of ADC. [0 -> 1V | 1 -> 1.14V | 2 -> 1.33V | 3 -> 1.6V | 4 -> 2V]

Advanced User function!

property apulse

[Mythen3] Enable or disable analog pulsing.

property asamples

[Ctb] Number of analog samples expected.

property autocompdisable

[Jungfrau] Enable or disable auto comparator disable mode.

Note

By default, the on-chip gain switching is active during the entire exposure. This mode disables the on-chip gain switching comparator automatically after 93.75% of exposure time (only for longer than 100us). The % is only for chipv1.0, the duration can be set for chipv1.1.

Default is 0 or this mode disabled (comparator enabled throughout). 1 enables mode. 0 disables mode.

property badchannels

[fname|none|0] [Gotthard2][Mythen3] Sets the bad channels (from file of bad channel numbers) to be masked out. None or 0 unsets all the badchannels.

[Mythen3] Also does trimming

blockingtrigger()
property burstmode

[Gotthard2] Burst mode of detector. Enum: burstMode

Note

BURST_INTERNAL (default), BURST_EXTERNAL, CONTINUOUS_INTERNAL, CONTINUOUS_EXTERNAL Also changes clkdiv 2, 3, 4

property burstperiod

[Gotthard2] Period between 2 bursts. Only in burst mode and auto timing mode.

Getter

always returns in seconds. To get in DurationWrapper, use getBurstPeriod

Setter

Not Implemented

Example

>>> # setting directly in seconds
>>> d.burstperiod = 1.05
>>>
>>> # setting directly in seconds
>>> d.burstperiod = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.burstperiod = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.burstperiod = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.burstperiod = t
>>>
>>> # to get in seconds
>>> d.burstperiod
181.23
>>>
>>> d.getBurstPeriod()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property bursts

[Gotthard2] Number of bursts per aquire. Only in auto timing mode and burst mode.

property burstsl

[Gotthard2] Number of bursts left in acquisition.

Note

Only in burst auto mode.

setter

Not Implemented

property cdsgain

[Gotthard2] Enable or disable CDS gain. Default is disabled.

property chipversion

[Jungfrau] Chip version of module. Can be 1.0 or 1.1.

Example

>>> d.chipversion
'1.0'
clearAcquiringFlag(self: _slsdet.CppDetectorApi) None
clearBit(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: bool = False, arg3: list[int] = []) None
clearROI(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
clearRxROI(self: _slsdet.CppDetectorApi) None
clearUDPDestinations(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
clearbusy()

If acquisition aborted during acquire command, use this to clear acquiring flag in shared memory before starting next acquisition

property clientversion

Client software version in format [YYMMDD]

Example

>>> d.clientversion
'7.0.1'
property clkdiv

[Gotthard2][Mythen3] Clock Divider of all clocks. Must be greater than 1.

[Gotthard2] Clock index range: 0-5

[Mythen3] Clock index range: 0

Example

>>> d.clkdiv[0] = 20
>>> d.clkdiv
0: 20
1: 10
2: 20
3: 10
4: 10
5: 5
property clkfreq

[Gotthard2][Mythen3] Frequency of clock in Hz.

[Gotthard2] Clock index range: 0-5

[Mythen3] Clock index range: 0

Setter

Not implemented. Use clkdiv to set frequency

Example

>>> d.clkfreq[0]
50000000
property clkphase

[Gotthard2][Mythen3] Phase shift of all clocks.

[Gotthard2] Clock index range: 0-5

[Mythen3] Clock index range: 0

Example

>>> d.clkphase[0] = 20
>>> d.clkphase
0: 20
1: 10
2: 20
3: 10
4: 10
5: 5
property collectionmode

[Jungfrau] Sets collection mode to HOLE or ELECTRON. Default is HOLE. Enum: collectionMode

property column

Set Detector column (udp header) to value. Gui uses it to rearrange for complete image.

property compdisabletime

[Jungfrau] Time before end of exposure when comparator is disabled.

Note

It is only possible for chipv1.1.

getter

always returns in seconds. To get in DurationWrapper, use getComparatorDisableTime

Example

>>> # setting directly in seconds
>>> d.compdisabletime = 1.05
>>>
>>> # setting directly in seconds
>>> d.compdisabletime = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.compdisabletime = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.compdisabletime = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.compdisabletime = t
>>>
>>> # to get in seconds
>>> d.compdisabletime
181.23
>>>
>>> d.getComparatorDisableTime()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property config

Load configuration file.

Note

Frees shared memory before loading configuration file. Set up once.

getter

Not implemented

setter

Loads config file

Example

>>> d.config = "/path/to/config/file.config"
configtransceiver()

[Xilinx Ctb] Waits for transceiver to be aligned.

Note

Chip had to be configured (powered on) before this.

configureTransceiver(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
property counters

[Mythen3] List of counter indices enabled.

Note

Each element in list can be 0 - 2 and must be non repetitive. Enabling counters sets vth dacs to remembered values and disabling sets them to disabled values.

Example

>>> d.counters = [0, 1]
property currentsource

[Gotthard2][Jungfrau] Pass in a currentSrcParameters object see python/examples/use_currentsource.py

property daclist

List of enums/names for every dac for this detector

Setter

Only implemented for Chiptestboard

property dacvalues

Gets the dac values for every dac for this detector.

property datastream

datastream [left|right] [0, 1] [Eiger] Enables or disables data streaming from left or/and right side of detector for 10GbE mode. 1 (enabled) by default.

property dbitclk

[Ctb] Clock for latching the digital bits in MHz.

property dbitphase

[Ctb][Jungfrau] Phase shift of clock to latch digital bits. Absolute phase shift.

Note

[Ctb]Changing dbitclk also resets dbitphase and sets to previous values.

property dbitpipeline

[Ctb][Gotthard2] Pipeline of the clock for latching digital bits.

Note

[CTB] Options: 0 - 255 [Gotthard2] Options: 0 - 7

property delay

[Gotthard][Jungfrau][Moench][CTB][Mythen3][Gotthard2][Xilinx Ctb] Delay after trigger, accepts either a value in seconds, DurationWrapper or datetime.timedelta

Getter

always returns in seconds. To get in DurationWrapper, use getDelayAfterTrigger

Example

>>> # setting directly in seconds
>>> d.delay = 1.05
>>>
>>> # setting directly in seconds
>>> d.delay = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.delay = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.delay = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.delay = t
>>>
>>> # to get in seconds
>>> d.delay
181.23
>>>
>>> d.getDelayAfterTrigger()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property delayl

[Gotthard][Jungfrau][Moench][CTB][Mythen3][Gotthard2][Xilinx Ctb] Delay left after trigger during acquisition, accepts either a value in seconds, datetime.timedelta or DurationWrapper

Note

[Gotthard2] only in continuous mdoe.

getter

always returns in seconds. To get in DurationWrapper, use getDelayAfterTriggerLeft

setter

Not Implemented

Example

>>> d.delayl
181.23
>>> d.getDelayAfterTriggerLeft()
[sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)]
property detectorserverversion

On-board detector server software version in format [0xYYMMDD]

Example

>>> d.detectorserverversion
'7.0.0'
property detsize

Sets the detector size in both dimensions (number of channels).

Note

This value is used to calculate row and column positions for each module and included into udp data packet header.

By default, it adds modules in y dimension for 2d detectors and in x dimension for 1d detectors.

Example

>>> d.detsize
Geometry(x=3840, y=1)
>>> d.detsize = [1024, 512]
Geometry(x=1024, y = 512)
property dpulse

[Mythen3] Enable or disable digital pulsing.

property dr

Dynamic range or number of bits per pixel/channel.

Note

[Eiger] Options: 4, 8, 12, 16, 32. If set to 32, also sets clkdivider to 2 (quarter speed), else to 0 (full speed)

[Mythen3] Options: 8, 16, 32

[Jungfrau][Moench][Gotthard][Ctb][Mythen3][Gotthard2][Xilinx Ctb] 16

property drlist

List of possible dynamic ranges for this detector

property dsamples

[CTB] Number of digital samples expected.

empty(self: _slsdet.CppDetectorApi) bool
executeBusTest(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
executeCommand(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) list[str]
executeFirmwareTest(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
property exptime

Exposure time, accepts either a value in seconds or datetime.timedelta

Note

[Mythen3] sets exposure time to all gate signals in auto and trigger mode (internal gating). To specify gateIndex, use getExptime or setExptime.

getter

always returns in seconds. To get in DurationWrapper, use getExptime

Example

>>> # setting directly in seconds
>>> d.exptime = 1.05
>>>
>>> # setting directly in seconds
>>> d.exptime = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.exptime = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.exptime = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.exptime = t
>>>
>>> # to get in seconds
>>> d.exptime
181.23
>>>
>>> d.getExptime()
[sls::DurationWrapper(total_seconds: 1e-08 count: 10)]
property exptimel

[Gotthard] Exposure time left for current frame.

Getter

always returns in seconds. To get in DurationWrapper, use getExptimeLeft

Setter

Not Implemented

Example

>>> d.exptimel
181.23
>>> d.getExptimeLeft()
[sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)]
property extrastoragecells

[Jungfrau] Number of additional storage cells.

Note

Only for chip v1.0. For advanced users only.

Options: 0 - 15. Default is 0. The #images = #frames x #triggers x (#extrastoragecells + 1)

property fformat

File format of data file in receiver. Enum: fileFormat

Note

Options: BINARY, HDF5 Default: BINARY For HDF5, package must be compiled with HDF5 flags. Default is binary.

Example

d.fformat = fileFormat.BINARY

property filtercells

[Jungfrau] Set filter capacitor.

Note

[Jungfrau] Options: 0-12. Default: 0. Advanced user command. Only for chipv1.1.

property filterresistor

[Gotthard2][Jungfrau] Set filter resistor. Increasing values for increasing ” “resistance.

Note

Advanced user command. [Gotthard2] Default is 0. Options: 0-3. [Jungfrau] Default is 1. Options: 0-1.

property findex

File or Acquisition index in receiver.

Note

File name: [file name prefix]_d[detector index]_f[sub file index]_[acquisition/file index].[raw/h5].

property firmwareversion

Fimware version of detector in format [0xYYMMDD] or an increasing 2 digit number for Eiger.

Example

>>> d.firmwareversion
'0x200910'
property fliprows

[Eiger] flips rows paramater sent to slsreceiver to stream as json parameter to flip rows in gui.

[Jungfrau] flips rows in the detector itself. For bottom module and number of interfaces must be set to 2. slsReceiver and slsDetectorGui does not handle.

property flowcontrol10g

[Eiger][Jungfrau][Moench] Enable or disable 10GbE Flow Control.

property fmaster

Enable or disable receiver master file. Default is enabled.

property fname

File name prefix for output data file in receiver. Default is run.

Note

File name: [file name prefix]_d[detector index]_f[sub file index]_[acquisition/file index].[raw/h5].

Example

d.fname = ‘run’ eg. file name: run_d0_f0_5.raw

property foverwrite

Enable or disable receiver file overwriting. Default is enabled.

property fpath

Directory where output data files are written in receiver. Default is “/”.

Note

If path does not exist and fwrite enabled, it will try to create it at start of acquisition.

Example

d.fpath = ‘/tmp/run_20201705’

property framecounter

[Jungfrau][Moench][Mythen3][Gotthard2][CTB][Xilinx Ctb] Number of frames from start run control.

Note

[Gotthard2] only in continuous mode.

setter

Not Implemented

property frames

Number of frames per acquisition. In trigger mode, number of frames per trigger.

Note

Cannot be set in modular level.

In scan mode, number of frames is set to number of steps.

[Gotthard2] Burst mode has a maximum of 2720 frames.

property framesl

[Gotthard][Jungfrau][Moench][Mythen3][Gotthard2][CTB][Xilinx CTB] Number of frames left in acquisition.

Note

[Gotthard2] only in continuous auto mode.

setter

Not Implemented

property frametime

[Jungfrau][Moench][Mythen3][Gotthard2][CTB][Xilinx Ctb] Timestamp at a frame start.

Note

[Gotthard2] not in burst and auto mode.

free()

Free detector shared memory

property fwrite

Enable or disable receiver file write. Default is disabled.

property gaincaps

[Mythen3] Gain caps. Enum: M3_GainCaps

Note

Options: M3_GainCaps, M3_C15sh, M3_C30sh, M3_C50sh, M3_C225ACsh, M3_C15pre

Example

>>> d.gaincaps
C15pre, C30sh
>>> d.gaincaps = M3_GainCaps.M3_C30sh
>>> d.gaincaps
C30sh
>>> d.gaincaps = M3_GainCaps.M3_C30sh | M3_GainCaps.M3_C15sh
>>> d.gaincaps
C15sh, C30sh
property gainmode

[Jungfrau] Detector gain mode. Enum: gainMode

Note

[Jungfrau] DYNAMIC, FORCE_SWITCH_G1, FORCE_SWITCH_G2, FIX_G1, FIX_G2, FIX_G0

CAUTION: Do not use FIX_G0 without caution, you can damage the detector!!!

property gainmodelist

List of gainmode implemented for this detector.

property gappixels

[Eiger][Jungfrau][Moench] Include Gap pixels in client data call back in Detecor api. Will not be in detector streaming, receiver file or streaming. Default is disabled.

property gatedelay

[Mythen3] Gate Delay of all gate signals in auto and trigger mode (internal gating), accepts either a value in seconds, datetime.timedelta or DurationWrapper

Note

To specify gateIndex, use getGateDelay or setGateDelay.

getter

always returns in seconds. To get in DurationWrapper, use getGateDelayForAllGates or getGateDelay(gateIndex)

Example

>>> # setting directly in seconds
>>> d.gatedelay = 1.05
>>>
>>> # setting directly in seconds
>>> d.gatedelay = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.gatedelay = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.gatedelay = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.gatedelay = t
>>>
>>> # to get in seconds
>>> d.gatedelay
181.23
>>>
>>> d.getExptimeForAllGates()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property gates

[Mythen3] Number of external gates in gating or trigger_gating mode (external gating).

getADCClock(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getADCConfiguration(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) list[int]
getADCEnableMask(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getADCInvert(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getADCPhase(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getADCPhaseInDegrees(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getADCPipeline(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getADCVpp(self: _slsdet.CppDetectorApi, arg0: bool = False, arg1: list[int] = []) list[int]
getAcquisitionIndex(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getActive(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getActualTime(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getAdcIndex(self: _slsdet.CppDetectorApi, arg0: str) int
getAdcName(self: _slsdet.CppDetectorApi, arg0: int) str
getAdcNames(self: _slsdet.CppDetectorApi) list[str]
getAdditionalJsonHeader(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[dict[str, str]]
getAdditionalJsonParameter(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) list[str]
getAllThresholdEnergy(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[Annotated[list[int], FixedSize(3)]]
getAllTrimbits(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getAnalogPulsing(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getAutoComparatorDisable(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getBadChannels(*args, **kwargs)

Overloaded function.

  1. getBadChannels(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) -> None

  2. getBadChannels(self: _slsdet.CppDetectorApi, arg0: list[int] = []) -> list[list[int]]

getBit(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) list[int]
getBurstMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.burstMode]
getBurstPeriod(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getCDSGain(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getChipStatusRegister(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getChipVersion(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[float]
getClientVersion(self: _slsdet.CppDetectorApi) str
getClientZmqHwm(self: _slsdet.CppDetectorApi) int
getClientZmqIp(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getClientZmqPort(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getClockDivider(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getClockFrequency(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getClockPhase(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getClockPhaseinDegrees(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getCollectionMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.collectionMode]
getColumn(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getComparatorDisableTime(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getControlPort(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getCounterMask(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getCurrentSource(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[slsDetectorDefs::currentSrcParameters]
getDAC(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: bool = False, arg2: list[int] = []) list[int]
getDBITClock(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDBITPhase(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDBITPhaseInDegrees(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDBITPipeline(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDacIndex(self: _slsdet.CppDetectorApi, arg0: str) _slsdet.slsDetectorDefs.dacIndex
getDacList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.dacIndex]
getDacName(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex) str
getDacNames(self: _slsdet.CppDetectorApi) list[str]
getDataStream(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.portPosition, arg1: list[int] = []) list[bool]
getDefaultDac(*args, **kwargs)

Overloaded function.

  1. getDefaultDac(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: list[int] = []) -> list[int]

  2. getDefaultDac(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: _slsdet.slsDetectorDefs.detectorSettings, arg2: list[int] = []) -> list[int]

getDelayAfterTrigger(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getDelayAfterTriggerLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getDestinationUDPIP(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getDestinationUDPIP2(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getDestinationUDPList(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[sls::UdpDestination]
getDestinationUDPMAC(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::MacAddr]
getDestinationUDPMAC2(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::MacAddr]
getDestinationUDPPort(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDestinationUDPPort2(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDetectorLock(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getDetectorServerVersion(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getDetectorSize(self: _slsdet.CppDetectorApi) _slsdet.xy
getDetectorStatus(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.runStatus]
getDetectorType(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.detectorType]
getDigitalPulsing(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getDynamicRange(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getDynamicRangeList(self: _slsdet.CppDetectorApi) list[int]
getExptime(*args, **kwargs)

Overloaded function.

  1. getExptime(self: _slsdet.CppDetectorApi, arg0: list[int] = []) -> list[DurationWrapper]

  2. getExptime(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) -> list[DurationWrapper]

getExptimeForAllGates(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[Annotated[list[DurationWrapper], FixedSize(3)]]
getExptimeLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getExternalSampling(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getExternalSamplingSource(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getExternalSignalFlags(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[_slsdet.slsDetectorDefs.externalSignalFlag]
getFileFormat(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.fileFormat]
getFileNamePrefix(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getFileOverWrite(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getFilePath(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getFileWrite(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getFilterResistor(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getFirmwareVersion(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getFirstUDPDestination(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getFlipRows(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getFramesCaught(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[list[int]]
getFramesPerFile(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getFrontEndFirmwareVersion(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.fpgaPosition, arg1: list[int] = []) list[int]
getGainCaps(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getGainMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.gainMode]
getGainModeList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.gainMode]
getGapPixelsinCallback(self: _slsdet.CppDetectorApi) bool
getGateDelay(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[DurationWrapper]
getGateDelayForAllGates(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[Annotated[list[DurationWrapper], FixedSize(3)]]
getHardwareVersion(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getHighVoltage(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getHostname(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getImageTestMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getIndividualRxROIs(self: _slsdet.CppDetectorApi, arg0: list[int]) list[slsDetectorDefs::ROI]
getInitialChecks(self: _slsdet.CppDetectorApi) bool
getInjectChannel(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[Annotated[list[int], FixedSize(2)]]
getInterpolation(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getInterruptSubframe(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getKernelVersion(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getLEDEnable(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getLastClientIP(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getMaster(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getMasterFileWrite(self: _slsdet.CppDetectorApi) bool
getMaxADCPhaseShift(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getMaxClockPhaseShift(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getMaxDBITPhaseShift(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getMeasuredCurrent(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: list[int] = []) list[int]
getMeasuredPeriod(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getMeasuredPower(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: list[int] = []) list[int]
getMeasuredSubFramePeriod(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getMeasurementTime(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getModuleGeometry(self: _slsdet.CppDetectorApi) _slsdet.xy
getModuleId(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getModuleSize(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.xy]
getNextFrameNumber(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumMissingPackets(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[list[int]]
getNumberOfAdditionalStorageCells(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfAnalogSamples(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfBursts(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfBurstsLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfDigitalSamples(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfFilterCells(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfFrames(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfFramesFromStart(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfFramesLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfGates(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfTransceiverSamples(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfTriggers(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberOfTriggersLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberofUDPDestinations(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getNumberofUDPInterfaces(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getOnChipDAC(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: int, arg2: list[int] = []) list[int]
getOverFlowMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getPackageVersion(self: _slsdet.CppDetectorApi) str
getParallelMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getPartialFramesPadding(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getPartialReset(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getPatterFileName(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getPatternBitMask(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getPatternIOControl(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getPatternLoopAddresses(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[Annotated[list[int], FixedSize(2)]]
getPatternLoopCycles(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getPatternMask(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getPatternWaitAddr(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getPatternWaitTime(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getPatternWord(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
getPedestalMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[slsDetectorDefs::pedestalParameters]
getPeriod(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getPeriodLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getPolarity(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.polarity]
getPower(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: list[int] = []) list[int]
getPowerChip(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getPowerIndex(self: _slsdet.CppDetectorApi, arg0: str) _slsdet.slsDetectorDefs.dacIndex
getPowerList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.dacIndex]
getPowerName(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex) str
getPowerNames(self: _slsdet.CppDetectorApi) list[str]
getPumpProbe(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getQuad(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getROI(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[slsDetectorDefs::ROI]
getRUNClock(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRateCorrection(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getReadNRows(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getReadoutMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.readoutMode]
getReadoutSpeed(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.speedLevel]
getReadoutSpeedList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.speedLevel]
getReceiverStatus(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.runStatus]
getReceiverVersion(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getRow(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxArping(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getRxCurrentFrameIndex(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[list[int]]
getRxDbitList(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[list[int]]
getRxDbitOffset(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxFifoDepth(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxFrameDiscardPolicy(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.frameDiscardPolicy]
getRxHostname(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getRxLastClientIP(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getRxLock(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getRxPort(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxROI(self: _slsdet.CppDetectorApi) slsDetectorDefs::ROI
getRxRealUDPSocketBufferSize(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxSilentMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getRxThreadIds(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[Annotated[list[int], FixedSize(9)]]
getRxUDPSocketBufferSize(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxZmqDataStream(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getRxZmqFrequency(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxZmqHwm(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxZmqPort(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxZmqStartingFrame(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getRxZmqTimer(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getSYNCClock(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getScan(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[slsDetectorDefs::scanParameters]
getScanErrorMessage(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getSelectedUDPInterface(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getSerialNumber(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getSettings(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.detectorSettings]
getSettingsList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.detectorSettings]
getSettingsPath(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
getShmId(self: _slsdet.CppDetectorApi) int
getSignalIndex(self: _slsdet.CppDetectorApi, arg0: str) int
getSignalName(self: _slsdet.CppDetectorApi, arg0: int) str
getSignalNames(self: _slsdet.CppDetectorApi) list[str]
getSlowADC(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: list[int] = []) list[int]
getSlowADCIndex(self: _slsdet.CppDetectorApi, arg0: str) _slsdet.slsDetectorDefs.dacIndex
getSlowADCList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.dacIndex]
getSlowADCName(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex) str
getSlowADCNames(self: _slsdet.CppDetectorApi) list[str]
getSourceUDPIP(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getSourceUDPIP2(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::IpAddr]
getSourceUDPMAC(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::MacAddr]
getSourceUDPMAC2(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[sls::MacAddr]
getStopPort(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getStorageCellDelay(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getStorageCellStart(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getSubDeadTime(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getSubExptime(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[DurationWrapper]
getSynchronization(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getTemperature(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: list[int] = []) list[int]
getTemperatureControl(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getTemperatureEvent(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTemperatureList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.dacIndex]
getTenGiga(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getTenGigaADCEnableMask(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTenGigaFlowControl(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getThresholdEnergy(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getThresholdTemperature(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTimingInfoDecoder(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.timingInfoDecoder]
getTimingMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.timingMode]
getTimingModeList(self: _slsdet.CppDetectorApi) list[_slsdet.slsDetectorDefs.timingMode]
getTimingSource(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.timingSourceType]
getTop(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getTransceiverEnableMask(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTransmissionDelay(self: _slsdet.CppDetectorApi) int
getTransmissionDelayFrame(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTransmissionDelayLeft(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTransmissionDelayRight(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[int]
getTrimEnergies(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[list[int]]
getUpdateMode(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getUseReceiverFlag(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getUserDetails(self: _slsdet.CppDetectorApi) str
getVeto(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
getVetoAlgorithm(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.streamingInterface, arg1: list[int] = []) list[_slsdet.slsDetectorDefs.vetoAlgorithm]
getVetoPhoton(self: _slsdet.CppDetectorApi, arg0: int, arg1: str, arg2: list[int] = []) None
getVetoStream(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[_slsdet.slsDetectorDefs.streamingInterface]
property hardwareversion

Hardware version of detector.

[Eiger] Hardware version of front FPGA on detector.

property highvoltage

High voltage to the sensor in Voltage.

Note

[Gotthard] 0, 90, 110, 120, 150, 180, 200

[Eiger][Mythen3][Gotthard2] 0 - 200

[Jungfrau][Moench][Ctb] 0, 60 - 200

property hostname

Frees shared memory and sets hostname (or IP address) of all modules concatenated by + Virtual servers can already use the port in hostname separated by ‘:’ and ports incremented by 2 to accomodate the stop server as well.

Example

>>> d.hostname = 'beb031+beb032+'
>>> d.hostname = 'localhost:1912+localhost:1914+'
>>> d.hostname
['localhost']
property im_a

[Ctb] Measured current of power supply a in mA.

Setter

Not implemented

property im_b

[Ctb] Measured current of power supply b in mA.

Setter

Not implemented

property im_c

[Ctb] Measured current of power supply c in mA.

Setter

Not implemented

property im_d

[Ctb] Measured current of power supply d in mA.

Setter

Not implemented

property im_io

[Ctb] Measured current of power supply io in mA.

Setter

Not implemented

property initialchecks

Enable or disable intial compatibility and other checks at detector start up.

Note

It is enabled by default. Must come before ‘hostname’ command to take effect.

Can be used to reprogram fpga when current firmware is incompatible.

Advanced user function!

property interpolation

[Mythen3] Enable or disable interpolation. interpolation mode enables all counters and disables vth3. Disabling sets back counter mask and vth3.

property interruptsubframe

[Eiger] Enable last subframe interrupt at required exposure time. Disabling will wait for last sub frame to finish exposing. Default is disabled.

isVirtualDetectorServer(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[bool]
property kernelversion

Kernel version on the detector including time and date

Example

>>> d.kernelversion
'#37 PREEMPT Thu Oct 13 14:51:04 CEST 2016'
property lastclient

Get Client IP Address that last communicated with the detector.

property led

[Ctb] Switches on/off all LEDs. Default is enabled.

loadConfig(self: _slsdet.CppDetectorApi, arg0: str) None
loadDefaultPattern(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
loadParameters(*args, **kwargs)

Overloaded function.

  1. loadParameters(self: _slsdet.CppDetectorApi, arg0: str) -> None

  2. loadParameters(self: _slsdet.CppDetectorApi, arg0: list[str]) -> None

loadTrimbits(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
property lock

Lock detector to one client IP, 1 locks, 0 unlocks. Default is unlocked.

property master

[Eiger][Gotthard2][Jungfrau][Moench] Sets (half) module to master and other(s) to slaves.

[Gotthard][Gotthard2][Mythen3][Eiger][Jungfrau][Moench] Gets if the current (half) module is master.

property maxadcphaseshift

[Jungfrau][Moench][CTB] Absolute maximum Phase shift of ADC clock.

Setter

Not Implemented

property maxclkphaseshift

[Gotthard2][Mythen3] Absolute maximum Phase shift of clocks.

[Gotthard2] Clock index range: 0-5

[Mythen3] Clock index range: 0

Setter

Not Implemented

Example

>>> d.maxclkphaseshift
0: 80
1: 80
2: 160
3: 80
4: 80
property maxdbitphaseshift

[CTB][Jungfrau] Absolute maximum Phase shift of of the clock to latch digital bits.

Setter

Not Implemented

property measuredperiod

[Eiger] Measured frame period between last frame and previous one.

Note

Can be measured with minimum 2 frames in an acquisition.

setter

Not implemented

property measuredsubperiod

[Eiger] Measured sub frame period between last sub frame and previous one.

Setter

Not implemented

property module_geometry
property module_size
property nextframenumber

[Eiger][Jungfrau][Moench][CTB][Xilinx CTB][Gotthard2] Next frame number. Stopping acquisition might result in different frame numbers for different modules. So, after stopping, next frame number (max + 1) is set for all the modules afterwards.

property nmod

Number of modules in shared memory.

property numinterfaces

[Jungfrau][Moench][Gotthard2] Number of udp interfaces to stream data from detector. Default is 1.

Note

Also enables second interface in receiver for listening (Writes a file per interface if writing enabled).

Also restarts client and receiver zmq sockets if zmq streaming enabled.

[Gotthard2] second interface enabled to send veto information via 10Gbps for debugging. By default, if veto enabled, it is sent via 2.5 gbps interface.

property overflow

[Eiger] Enable or disable show overflow flag in 32 bit mode. Default is disabled.

property packageversion

Package version (git branch).

property parallel

[Eiger][Mythen3][Gotthard2][Moench] Enable or disable the parallel readout mode of detector.

Note

[Mythen3] If exposure time is too short, acquisition will return with an ERROR and take fewer frames than expected. [Mythen3][Eiger][Moench] Default: Non parallel [Gotthard2] Default: parallel. Non parallel mode works only in continuous mode.

property parameters

Sets detector measurement parameters to those contained in fname. Set up per measurement.

Note

Equivalent to config, but does not free shared memory.

getter

Not implemented

setter

loads parameters file

Example

>>> d.parameters = 'path/to/file.par'
property partialreset

[Eiger] Sets up detector to do partial or complete reset at start of acquisition. 0 complete reset, 1 partial reset. Default is complete reset.

Note

Advanced Function!

property patfname

[Ctb][Mythen3][Xilinx Ctb] Gets the pattern file name including path of the last pattern uploaded. Returns an empty if nothing was uploaded or via a server default file

property patioctrl

[Ctb] 64 bit mask defining input (0) and output (1) signals.

Example

>>> d.patioctrl = 0x8f0effff6dbffdbf
>>> hex(d.patioctrl)
'0x8f0effff6dbffdbf'
property patlimits

[Ctb][Mythen3][Xilinx Ctb] Limits (start and stop address) of complete pattern.

Example

>>> d.patlimits = [0x0, 0x18c]
>>> d.patlimits
[0, 396]
>>> [hex(l) for l in d.patlimits]
['0x0', '0x18c']
property patloop

[Ctb][Mythen3][Xilinx Ctb] Limits (start and stop address) of the loop provided.

Example

>>> d.patloop[0] = [5, 20]
>>> d.patloop[0]
[5, 20]
>>> d.patloop
0: [5, 20]
1: [20, 4]
2: [30, 5]
property patloop0

[Ctb][Mythen3][Xilinx Ctb] Limits (start and stop address) of loop 0.

Example

>>> d.patloop0 = [0x0, 0x18c]
>>> d.patloop0
[0, 396]
>>> [hex(l) for l in d.patloop0]
['0x0', '0x18c']
property patloop1

[Ctb][Mythen3][Xilinx Ctb] Limits (start and stop address) of loop 1.

Example

>>> d.patloop1 = [0x0, 0x18c]
>>> d.patloop1
[0, 396]
>>> [hex(l) for l in d.patloop1]
['0x0', '0x18c']
property patloop2

[Ctb][Mythen3][Xilinx Ctb] Limits (start and stop address) of loop 2.

Example

>>> d.patloop2 = [0x0, 0x18c]
>>> d.patloop2
[0, 396]
>>> [hex(l) for l in d.patloop2]
['0x0', '0x18c']
property patmask

[Ctb][Mythen3][Xilinx Ctb] Selects the bits that will have a pattern mask applied to the selected patmask for every pattern.

Example

>>> d.patmask = 0x8f0effff6dbffdbf
>>> hex(d.patmask)
'0x8f0effff6dbffdbf'
property patnloop

[Ctb][Mythen3][Xilinx Ctb] Number of cycles of the loop provided.

Example

>>> d.patnloop[0] = 5
>>> d.patnloop[0]
5
>>> d.patnloop
0: 5
1: 20
2: 30
property patnloop0

[Ctb][Mythen3][Xilinx Ctb] Number of cycles of loop 0.

property patnloop1

[Ctb][Mythen3][Xilinx Ctb] Number of cycles of loop 1.

property patnloop2

[Ctb][Mythen3][Xilinx Ctb] Number of cycles of loop 2.

property patsetbit

[Ctb][Mythen3][Xilinx Ctb] Sets the mask applied to every pattern to the selected bits.

Example

>>> d.patsetbit = 0x8f0effff6dbffdbf
>>> hex(d.patsetbit)
'0x8f0effff6dbffdbf'
property pattern

[Mythen3][Ctb][Xilinx Ctb] Loads ASCII pattern file directly to server (instead of executing line by line).

Getter

Not Implemented

Example

>>> d.pattern = '/tmp/pat.txt'
property patwait

[Ctb][Mythen3][Xilinx Ctb] Wait address of loop level provided.

Example

>>> d.patwait[0] = 5
>>> d.patwait[0]
5
>>> d.patwait
0: 5
1: 20
2: 30
property patwait0

[Ctb][Mythen3][Xilinx Ctb] Wait 0 address.

Example

>>> d.patwait0 = 0xaa
>>> d.patwait0
170
>>> hex(d.patwait0)
'0xaa'
property patwait1

[Ctb][Mythen3][Xilinx Ctb] Wait 1 address.

Example

>>> d.patwait1 = 0xaa
>>> d.patwait1
170
>>> hex(d.patwait1)
'0xaa'
property patwait2

[Ctb][Mythen3][Xilinx Ctb] Wait 2 address.

Example

>>> d.patwait2 = 0xaa
>>> d.patwait2
170
>>> hex(d.patwait2)
'0xaa'
property patwaittime

[Ctb][Mythen3][Xilinx Ctb] Wait time in clock cycles of loop level provided.

Example

>>> d.patwaittime[0] = 5
>>> d.patwaittime[0]
5
>>> d.patwaittime
0: 5
1: 20
2: 30
property patwaittime0

[Ctb][Mythen3][Xilinx Ctb] Wait 0 time in clock cycles.

property patwaittime1

[Ctb][Mythen3][Xilinx Ctb] Wait 1 time in clock cycles.

property patwaittime2

[Ctb][Mythen3][Xilinx Ctb] Wait 2 time in clock cycles.

property pedestalmode

[Jungfrau] Enables or disables pedestal mode. Pass in a pedestalParameters object see python/examples/use_pedestalmode.py

Note

The number of frames or triggers is overwritten by #pedestal_frames x pedestal_loops x 2.

In auto timing mode or in trigger mode with #frames > 1, #frames is overwritten and #triggers = 1, else #triggers is overwritten and #frames = 1.

One cannot set #frames, #triggers or timing mode in pedestal mode (exception thrown).

Disabling pedestal mode will set back the normal mode values of #frames and #triggers.”

property period

Period between frames, accepts either a value in seconds or datetime.timedelta

Getter

always returns in seconds. To get in DurationWrapper, use getPeriod

Example

>>> # setting directly in seconds
>>> d.period = 1.05
>>>
>>> # setting directly in seconds
>>> d.period = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.period = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.period = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.period = t
>>>
>>> # to get in seconds
>>> d.period
181.23
>>>
>>> d.getExptime()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property periodl

[Gotthard][Jungfrau][Moench][CTB][Mythen3][Gotthard2][Xilinx Ctb] Period left for current frame.

Note

[Gotthard2] only in continuous mode.

getter

always returns in seconds. To get in DurationWrapper, use getPeriodLeft

setter

Not Implemented

Example

>>> d.periodl
181.23
>>> d.getPeriodLeft()
[sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)]
property polarity

[Mythen3] Set positive or negative polarity. Enum: polarity

property port

Port number of the control server on detector for detector-client tcp interface.

Note

Default is 1952. Normally unchanged.

Set different ports for virtual servers on same pc.

property powerchip

[Jungfrau][Moench][Mythen3][Gotthard2][Xilinx Ctb] Power the chip.

Note

[Jungfrau][Moench] Default is disabled. Get will return power status. Can be off if temperature event occured (temperature over temp_threshold with temp_control enabled. Will configure chip (only chip v1.1).

[Mythen3][Gotthard2] Default is 1. If module not connected or wrong module, powerchip will fail. [Xilinx Ctb] Default is 0. Also configures the chip if powered on.

property powerlist

[Chiptestboard] List of names for every power for this board. 5 power supply

property powervalues

[Chiptestboard] Gets the power values for every power for this detector.

printRxConfiguration(self: _slsdet.CppDetectorApi, arg0: list[int] = []) list[str]
programFPGA(self: _slsdet.CppDetectorApi, arg0: str, arg1: bool, arg2: list[int] = []) None
pulseChip(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
pulsePixel(self: _slsdet.CppDetectorApi, arg0: int, arg1: _slsdet.xy, arg2: list[int] = []) None
pulsePixelNMove(self: _slsdet.CppDetectorApi, arg0: int, arg1: _slsdet.xy, arg2: list[int] = []) None
property pumpprobe

[Mythen3] Enable or disable pump probe mode. Pump probe mode only enables vth2. Disabling sets back to previous value

property quad

[Eiger] Sets detector size to a quad. 0 (disabled) is default. (Specific hardware required).

property ratecorr

[Eiger] Custom dead time correction constant in ns. 0 will unset rate correction.

Note

To set default rate correction from trimbit file, use setDefaultRateCorrection

Known Issue:

getter

Always give 0 due to the microseconds precision.

setter

Use scientific notation to set custom rate correction, since timedelta resolution is 1 microseconds.

Or use setDefaultRateCorrection to set the default one from trimbit file

Example

>>> d.ratecorr = 10e-9
>>> d.setDefaultRateCorrection()
>>> d.ratecorr = 0.0
readRegister(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) list[int]
property readnrows

[Eiger] Number of rows to read out per half module starting from the centre. [Jungfrau][Moench] Number of rows to read per module starting from the centre.

Note

[Eiger] Options: 1 - 256. 256 is default.

[Eiger]The permissible values depend on dynamic range and 10Gbe enabled.

[Jungfrau][Moench] Options: 8 - 512 (multiples of 8)

readout()

[Mythen3] Starts detector readout. Status changes to TRANSMITTING and automatically returns to idle at the end of readout.

property readoutspeed

[Eiger][Jungfrau|Gotthard2] Readout speed of chip. Enum: speedLevel

Note

[Jungfrau][Moench][Mythen3] FULL_SPEED, HALF_SPEED (Default), QUARTER_SPEED [Eiger] FULL_SPEED (Default), HALF_SPEED, QUARTER_SPEED [Moench] FULL_SPEED (Default), HALF_SPEED, QUARTER_SPEED [Gottthard2] G2_108MHZ (Default), G2_144MHZ [Jungfrau] FULL_SPEED option only available from v2.0 boards and is recommended to set number of interfaces to 2.

Also overwrites adcphase to recommended default.

property readoutspeedlist

List of readout speed levels implemented for this detector.

rebootController(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
reconfigureUDPDestination(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
property reg

Reads/writes to a 32 bit register.

Note

Advanced user Function!

Goes to stop server. Hence, can be called while calling blocking acquire().

[Eiger] Address is +0x100 for only left, +0x200 for only right.

registerAcquisitionFinishedCallback(self: _slsdet.CppDetectorApi, arg0: void (double, int, void*), arg1: capsule) None
registerDataCallback(self: _slsdet.CppDetectorApi, arg0: void (sls::detectorData*, unsigned long, unsigned int, void*), arg1: capsule) None
resetFPGA(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
resetTemperatureEvent(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
resetToDefaultDacs(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
resetdacs(use_hardware_values)
property romode

[CTB] Readout mode of detector. Enum: readoutMode

Note

[CTB] Options: ANALOG_ONLY, DIGITAL_ONLY, ANALOG_AND_DIGITAL, TRANSCEIVER_ONLY, DIGITAL_AND_TRANSCEIVER [CTB] Default: ANALOG_ONLY [Xilinx CTB] Options: TRANSCEIVER_ONLY [Xilinx CTB] Default: TRANSCEIVER_ONLY

Example

>>> d.romode = readoutMode.ANALOG_ONLY
>>> d.romode
readoutMode.ANALOG_ONLY
property row

Set Detector row (udp header) to value. Gui uses it to rearrange for complete image.

property runclk

[Ctb] Run clock in MHz.

property runtime

[Jungfrau][Moench][Mythen3][Gotthard2][CTB][Xilinx Ctb] Time from detector start up.

Note

[Gotthard2] not in burst and auto mode.

property rx_arping

Starts a thread in slsReceiver to arping the interface it is listening every minute. Useful in 10G mode.

property rx_dbitlist

[Ctb] List of digital signal bits read out.

Note

Each element in list can be 0 - 63 and must be non repetitive.

Example

>>> d.rxdbitlist = [0, 1, 61, 9]
>>> d.rxdbitlist
[0, 1, 61, 9]
>>> d.rxdbitlist = []
>>> d.rxdbitlist
[]
property rx_dbitoffset

[Ctb] Offset in bytes in digital data to skip in receiver.

property rx_discardpolicy

Frame discard policy of receiver. Enum: frameDiscardPolicy

Note

Options: NO_DISCARD, DISCARD_EMPTY_FRAMES, DISCARD_PARTIAL_FRAMES

Default: NO_DISCARD

DISCARD_PARTIAL_FRAMES is the fastest.

Example

>>> d.rx_discardpolicy = frameDiscardPolicy.NO_DISCARD
>>> d.rx_discardpolicy
frameDiscardPolicy.NO_DISCARD
property rx_fifodepth

Sets the number of frames in the receiver fifo depth (buffer between listener and writer threads).

property rx_frameindex

Current frame index received for each port in receiver during acquisition.

property rx_framescaught

Number of frames caught by each port in receiver.

property rx_framesperfile

Sets the number of frames per file in receiver in an acquisition.

Note

Default: depends on detector type.

0 is infinite or all frames in single file.

property rx_hostname

Sets receiver hostname or IP address. Used for TCP control communication between client and receiver to configure receiver. Also updates receiver with detector parameters.

Note

Also resets any prior receiver property (not on detector).

Can concatenate receiver hostnames for every module.

If port included, then its the receiver tcp port for every receiver hostname.

Example

>>> d.rx_hostname
'mpc1922'
>>> d.rx_hostname = 'mpc1922'
>>> d.rx_hostname = 'mpc1922:2000'
>>> d.rx_hostname = 'mpc1922:2000+mpc1922:2002'
>>> d.rx_hostname
'mpc1922'
>>> d.rx_tcpport
[2000, 2002]
property rx_jsonaddheader

Additional json header to be streamed out from receiver via zmq.

Note

Default is empty. Max 20 characters for each key/value

Use only if to be processed by an intermediate user process listening to receiver zmq packets, such as Moench

Empty value deletes header.

Example

>>> d.rx_jsonaddheader
{}
>>> d.rx_jsonaddheader = {"key1": "value1", "key2":"value2"}
>>> d.rx_jsonaddheader
{'emax': '30', 'emin': '50'}
property rx_jsonpara

Set the receiver additional json parameter.

Note

Use only if to be processed by an intermediate user process listening to receiver zmq packets, such as Moench

If not found, the pair is appended. Empty value deletes parameter. Max 20 characters for each key/value.

On setting the value is automatically, it is converted to a string.

Example

>>> d.rx_jsonpara['emin']
'4500'
>>> d.rx_jsonpara['emin'] = 5000
>>> d.rx_jsonpara
emax: 30
emin: 5000
property rx_lastclient

Client IP Address that last communicated with the receiver.

property rx_lock

Lock receiver to one client IP, 1 locks, 0 unlocks. Default is unlocked.

property rx_missingpackets

Gets the number of missing packets for each port in receiver. Negative number denotes extra packets.

property rx_padding

Partial frames padding enable in the receiver.

Note

Default: enabled

Disabling is fastest.

property rx_realudpsocksize

Gets actual udp socket buffer size. Double the size of rx_udpsocksize due to kernel bookkeeping.

property rx_silent

When enabled, switches off receiver text output during acquisition.

rx_start()

Starts receiver listener for detector data packets and create a data file (if file write enabled).

property rx_status

Gets receiver listener status. Enum: runStatus

Note

Options: IDLE, TRANSMITTING, RUNNING >>> d.rx_status runStatus.IDLE

rx_stop()

Stops receiver listener for detector data packets and closes current data file (if file write enabled).

property rx_tcpport

TCP port for client-receiver communication.

Note

Default is 1954.

Must be different if multiple receivers on same pc.

Must be first command to set a receiver parameter to be able to communicate.

Multi command will automatically increment port for individual modules, which must be set via setRxPort.

Example

>>> d.rx_tcpport
2010
>>> d.rx_tcpport
[2000, 2002]
property rx_threads

Get kernel thread ids from the receiver in order of [parent, tcp, listener 0, processor 0, streamer 0, listener 1, processor 1, streamer 1, arping].

Note

If no streamer yet or there is no second interface, it gives 0 in its place.

setter

Not Implemented

property rx_udpsocksize

INT_MAX/2.

Type

UDP socket buffer size in receiver. Tune rmem_default and rmem_max accordingly. Max size

property rx_version

Receiver version

property rx_zmqfreq

Frequency of frames streamed out from receiver via zmq.

Note

Default: 1, Means every frame is streamed out.

If 2, every second frame is streamed out.

If 0, streaming timer is the timeout, after which current frame is sent out. (default timeout is 200 ms). Usually used for gui purposes.

property rx_zmqhwm

Receiver’s zmq send high water mark. Default is the zmq library’s default (1000). This is a high number and can be set to 2 for gui purposes. One must also set the client’s receive high water mark to similar value. Final effect is sum of them. Also restarts receiver zmq streaming if enabled. Can set to -1 to set default value.

property rx_zmqport

Zmq port for data to be streamed out of the receiver.

Note

Also restarts receiver zmq streaming if enabled.

Default is 30001.

Must be different for every detector (and udp port).

Multi command will automatically increment for individual modules, use setRxZmqPort.

Example

>>> d.rx_zmqport
[30001, 30002, 30003, 300004]
>>> d.rx_zmqport = 30001
>>> d.rx_zmqport = [30001, 30005] #Set ports for the two first detectors
property rx_zmqstartfnum

The starting frame index to stream out.

Note

0 by default, which streams the first frame in an acquisition, and then depending on the rx zmq frequency/ timer.

property rx_zmqstream

Enable/ disable data streaming from receiver via zmq (eg. to GUI or to another process for further processing).

This creates/ destroys zmq streamer threads in receiver.

Switching to Gui automatically enables data streaming in receiver.

Switching back to command line acquire will require disabling data streaming in receiver for fast applications.

property samples

[CTB] Number of samples (only analog) expected.

savePattern(self: _slsdet.CppDetectorApi, arg0: str) None
saveTrimbits(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
property scan

Pass in a scanParameters object see python/examples/use_scan.py

property scanerrmsg

Gets Scan error message if scan ended in error for non blocking acquisitions.

selectUDPInterface(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
property selinterface

[Jungfrau][Moench] The udp interface to stream data from detector.

Note

Effective only when number of interfaces is 1. Default: 0 (outer). Inner is 1.

sendSoftwareTrigger(self: _slsdet.CppDetectorApi, arg0: bool = False, arg1: list[int] = []) None
property serialnumber

Jungfrau][Gotthard][Mythen3][Gotthard2][CTB][Moench] Serial number of detector

setADCClock(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setADCConfiguration(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: int, arg3: list[int] = []) None
setADCEnableMask(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setADCInvert(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setADCPhase(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setADCPhaseInDegrees(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setADCPipeline(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setADCVpp(self: _slsdet.CppDetectorApi, arg0: int, arg1: bool = False, arg2: list[int] = []) None
setAcquisitionIndex(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setActive(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setAdcName(self: _slsdet.CppDetectorApi, arg0: int, arg1: str) None
setAdcNames(self: _slsdet.CppDetectorApi, arg0: list[str]) None
setAdditionalJsonHeader(self: _slsdet.CppDetectorApi, arg0: dict[str, str], arg1: list[int] = []) None
setAdditionalJsonParameter(self: _slsdet.CppDetectorApi, arg0: str, arg1: str, arg2: list[int] = []) None
setAllTrimbits(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setAnalogPulsing(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setAutoComparatorDisable(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setBadChannels(*args, **kwargs)

Overloaded function.

  1. setBadChannels(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) -> None

  2. setBadChannels(self: _slsdet.CppDetectorApi, arg0: list[int], arg1: list[int] = []) -> None

  3. setBadChannels(self: _slsdet.CppDetectorApi, arg0: list[list[int]]) -> None

setBit(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: bool = False, arg3: list[int] = []) None
setBurstMode(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.burstMode, arg1: list[int] = []) None
setBurstPeriod(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setCDSGain(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setClientZmqHwm(self: _slsdet.CppDetectorApi, arg0: int) None
setClientZmqIp(self: _slsdet.CppDetectorApi, arg0: sls::IpAddr, arg1: list[int] = []) None
setClientZmqPort(self: _slsdet.CppDetectorApi, arg0: int, arg1: int = -1) None
setClockDivider(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setClockPhase(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setClockPhaseinDegrees(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setCollectionMode(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.collectionMode, arg1: list[int] = []) None
setColumn(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setComparatorDisableTime(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setControlPort(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setCounterMask(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setCurrentSource(self: _slsdet.CppDetectorApi, arg0: slsDetectorDefs::currentSrcParameters, arg1: list[int] = []) None
setDAC(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: int, arg2: bool = False, arg3: list[int] = []) None
setDBITClock(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setDBITPhase(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setDBITPhaseInDegrees(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setDBITPipeline(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setDacName(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: str) None
setDacNames(self: _slsdet.CppDetectorApi, arg0: list[str]) None
setDataStream(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.portPosition, arg1: bool, arg2: list[int] = []) None
setDefaultDac(*args, **kwargs)

Overloaded function.

  1. setDefaultDac(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: int, arg2: list[int] = []) -> None

  2. setDefaultDac(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: int, arg2: _slsdet.slsDetectorDefs.detectorSettings, arg3: list[int] = []) -> None

setDefaultRateCorrection(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
setDelayAfterTrigger(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setDestinationUDPIP(self: _slsdet.CppDetectorApi, arg0: sls::IpAddr, arg1: list[int] = []) None
setDestinationUDPIP2(self: _slsdet.CppDetectorApi, arg0: sls::IpAddr, arg1: list[int] = []) None
setDestinationUDPList(self: _slsdet.CppDetectorApi, arg0: sls::UdpDestination, arg1: int) None
setDestinationUDPMAC(self: _slsdet.CppDetectorApi, arg0: sls::MacAddr, arg1: list[int] = []) None
setDestinationUDPMAC2(self: _slsdet.CppDetectorApi, arg0: sls::MacAddr, arg1: list[int] = []) None
setDestinationUDPPort(self: _slsdet.CppDetectorApi, arg0: int, arg1: int = -1) None
setDestinationUDPPort2(self: _slsdet.CppDetectorApi, arg0: int, arg1: int = -1) None
setDetectorLock(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setDetectorSize(self: _slsdet.CppDetectorApi, arg0: _slsdet.xy) None
setDigitalIODelay(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setDigitalPulsing(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setDynamicRange(self: _slsdet.CppDetectorApi, arg0: int) None
setExptime(*args, **kwargs)

Overloaded function.

  1. setExptime(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) -> None

  2. setExptime(self: _slsdet.CppDetectorApi, arg0: int, arg1: DurationWrapper, arg2: list[int] = []) -> None

setExternalSampling(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setExternalSamplingSource(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setExternalSignalFlags(self: _slsdet.CppDetectorApi, arg0: int, arg1: _slsdet.slsDetectorDefs.externalSignalFlag, arg2: list[int] = []) None
setFileFormat(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.fileFormat, arg1: list[int] = []) None
setFileNamePrefix(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
setFileOverWrite(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setFilePath(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
setFileWrite(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setFilterResistor(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setFirstUDPDestination(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setFlipRows(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setFramesPerFile(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setGainCaps(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setGainMode(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.gainMode, arg1: list[int] = []) None
setGapPixelsinCallback(self: _slsdet.CppDetectorApi, arg0: bool) None
setGateDelay(self: _slsdet.CppDetectorApi, arg0: int, arg1: DurationWrapper, arg2: list[int] = []) None
setHighVoltage(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setHostname(self: _slsdet.CppDetectorApi, arg0: list[str]) None
setImageTestMode(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setInitialChecks(self: _slsdet.CppDetectorApi, arg0: bool) None
setInjectChannel(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setInterpolation(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setInterruptSubframe(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setLEDEnable(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setMaster(self: _slsdet.CppDetectorApi, arg0: bool, arg1: int) None
setMasterFileWrite(self: _slsdet.CppDetectorApi, arg0: bool) None
setNextFrameNumber(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setNumberOfAdditionalStorageCells(self: _slsdet.CppDetectorApi, arg0: int) None
setNumberOfAnalogSamples(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setNumberOfBursts(self: _slsdet.CppDetectorApi, arg0: int) None
setNumberOfDigitalSamples(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setNumberOfFilterCells(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setNumberOfFrames(self: _slsdet.CppDetectorApi, arg0: int) None
setNumberOfGates(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setNumberOfTransceiverSamples(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setNumberOfTriggers(self: _slsdet.CppDetectorApi, arg0: int) None
setNumberofUDPInterfaces(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setOnChipDAC(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: int, arg2: int, arg3: list[int] = []) None
setOverFlowMode(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setParallelMode(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setPartialFramesPadding(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setPartialReset(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setPattern(*args, **kwargs)

Overloaded function.

  1. setPattern(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) -> None

  2. setPattern(self: _slsdet.CppDetectorApi, arg0: sls::Pattern, arg1: list[int] = []) -> None

setPatternBitMask(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setPatternIOControl(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setPatternLoopAddresses(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: int, arg3: list[int] = []) None
setPatternLoopCycles(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setPatternMask(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setPatternWaitAddr(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setPatternWaitTime(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setPatternWord(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setPedestalMode(self: _slsdet.CppDetectorApi, arg0: slsDetectorDefs::pedestalParameters, arg1: list[int] = []) None
setPeriod(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setPolarity(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.polarity, arg1: list[int] = []) None
setPower(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: int, arg2: list[int] = []) None
setPowerChip(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setPowerName(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: str) None
setPowerNames(self: _slsdet.CppDetectorApi, arg0: list[str]) None
setPumpProbe(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setQuad(self: _slsdet.CppDetectorApi, arg0: bool) None
setROI(self: _slsdet.CppDetectorApi, arg0: slsDetectorDefs::ROI, arg1: int) None
setRUNClock(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRateCorrection(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setReadNRows(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setReadoutMode(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.readoutMode, arg1: list[int] = []) None
setReadoutSpeed(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.speedLevel, arg1: list[int] = []) None
setRow(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRxArping(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setRxDbitList(self: _slsdet.CppDetectorApi, arg0: list[int], arg1: list[int] = []) None
setRxDbitOffset(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRxFifoDepth(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRxFrameDiscardPolicy(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.frameDiscardPolicy, arg1: list[int] = []) None
setRxHostname(*args, **kwargs)

Overloaded function.

  1. setRxHostname(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) -> None

  2. setRxHostname(self: _slsdet.CppDetectorApi, arg0: list[str]) -> None

setRxLock(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setRxPort(self: _slsdet.CppDetectorApi, arg0: int, arg1: int = -1) None
setRxROI(self: _slsdet.CppDetectorApi, arg0: slsDetectorDefs::ROI) None
setRxSilentMode(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setRxUDPSocketBufferSize(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRxZmqDataStream(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setRxZmqFrequency(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRxZmqHwm(self: _slsdet.CppDetectorApi, arg0: int) None
setRxZmqPort(self: _slsdet.CppDetectorApi, arg0: int, arg1: int = -1) None
setRxZmqStartingFrame(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setRxZmqTimer(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setScan(self: _slsdet.CppDetectorApi, arg0: slsDetectorDefs::scanParameters) None
setSettings(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.detectorSettings, arg1: list[int] = []) None
setSettingsPath(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
setSignalName(self: _slsdet.CppDetectorApi, arg0: int, arg1: str) None
setSignalNames(self: _slsdet.CppDetectorApi, arg0: list[str]) None
setSlowADCName(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.dacIndex, arg1: str) None
setSlowADCNames(self: _slsdet.CppDetectorApi, arg0: list[str]) None
setSourceUDPIP(self: _slsdet.CppDetectorApi, arg0: sls::IpAddr, arg1: list[int] = []) None
setSourceUDPIP2(self: _slsdet.CppDetectorApi, arg0: sls::IpAddr, arg1: list[int] = []) None
setSourceUDPMAC(self: _slsdet.CppDetectorApi, arg0: sls::MacAddr, arg1: list[int] = []) None
setSourceUDPMAC2(self: _slsdet.CppDetectorApi, arg0: sls::MacAddr, arg1: list[int] = []) None
setStopPort(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setStorageCellDelay(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setStorageCellStart(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setSubDeadTime(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setSubExptime(self: _slsdet.CppDetectorApi, arg0: DurationWrapper, arg1: list[int] = []) None
setSynchronization(self: _slsdet.CppDetectorApi, arg0: bool) None
setTemperatureControl(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setTenGiga(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setTenGigaADCEnableMask(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setTenGigaFlowControl(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setThresholdEnergy(*args, **kwargs)

Overloaded function.

  1. setThresholdEnergy(self: _slsdet.CppDetectorApi, arg0: int, arg1: _slsdet.slsDetectorDefs.detectorSettings = <detectorSettings.STANDARD: 0>, arg2: bool = True, arg3: list[int] = []) -> None

  2. setThresholdEnergy(self: _slsdet.CppDetectorApi, arg0: Annotated[list[int], FixedSize(3)], arg1: _slsdet.slsDetectorDefs.detectorSettings = <detectorSettings.STANDARD: 0>, arg2: bool = True, arg3: list[int] = []) -> None

setThresholdTemperature(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setTimingInfoDecoder(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.timingInfoDecoder, arg1: list[int] = []) None
setTimingMode(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.timingMode, arg1: list[int] = []) None
setTimingSource(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.timingSourceType, arg1: list[int] = []) None
setTop(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setTransceiverEnableMask(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setTransmissionDelay(self: _slsdet.CppDetectorApi, arg0: int) None
setTransmissionDelayFrame(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setTransmissionDelayLeft(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setTransmissionDelayRight(self: _slsdet.CppDetectorApi, arg0: int, arg1: list[int] = []) None
setTrimEnergies(self: _slsdet.CppDetectorApi, arg0: list[int], arg1: list[int] = []) None
setUpdateMode(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setVeto(self: _slsdet.CppDetectorApi, arg0: bool, arg1: list[int] = []) None
setVetoAlgorithm(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.vetoAlgorithm, arg1: _slsdet.slsDetectorDefs.streamingInterface, arg2: list[int] = []) None
setVetoFile(self: _slsdet.CppDetectorApi, arg0: int, arg1: str, arg2: list[int] = []) None
setVetoPhoton(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: int, arg3: str, arg4: list[int] = []) None
setVetoReference(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
setVetoStream(self: _slsdet.CppDetectorApi, arg0: _slsdet.slsDetectorDefs.streamingInterface, arg1: list[int] = []) None
setVirtualDetectorServers(self: _slsdet.CppDetectorApi, arg0: int, arg1: int) None
property settings

Detector settings. Enum: detectorSettings

Note

[Eiger] Use threshold command to load settings [Jungfrau] GAIN0, HIGHGAIN0

[Gotthard] DYNAMICGAIN, HIGHGAIN, LOWGAIN, MEDIUMGAIN, VERYHIGHGAIN

[Gotthard2] DYNAMICGAIN, FIXGAIN1, FIXGAIN2

[Eiger] settings loaded from file found in settingspath [Moench] G1_HIGHGAIN, G1_LOWGAIN, G2_HIGHCAP_HIGHGAIN, G2_HIGHCAP_LOWGAIN, G2_LOWCAP_HIGHGAIN, G2_LOWCAP_LOWGAIN, G4_HIGHGAIN, G4_LOWGAIN

property settingslist

List of settings implemented for this detector.

property settingspath

[Eiger] Directory where settings files are loaded from/to.

property signallist

[Chiptestboard] List of names for every io signal for this board. 64 signals

size(self: _slsdet.CppDetectorApi) int
property slowadc

[Ctb] Slow ADC channel in uV of all channels or specific ones from 0-7.

Example

>>> d.slowadc
0: 0 uV
1: 0 uV
2: 0 uV
3: 0 uV
4: 0 uV
5: 0 uV
6: 0 uV
7: 0 uV
>>> d.slowadc[3]
0
property slowadclist

[Chiptestboard] List of names for every slowadc for this board. 8 slowadc

property slowadcvalues

[Chiptestboard] Gets the slow adc values for every slow adc for this detector.

start()

Start detector acquisition. Status changes to RUNNING or WAITING and automatically returns to idle at the end of acquisition.

startDetector(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
startDetectorReadout(self: _slsdet.CppDetectorApi) None
startPattern(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
startReceiver(self: _slsdet.CppDetectorApi) None
property status

Gets detector status. Enum: runStatus

Note

Options: IDLE, ERROR, WAITING, RUN_FINISHED, TRANSMITTING, RUNNING, STOPPED

Goes to stop server. >>> d.status runStatus.IDLE

stop()

Abort detector acquisition. Status changes to IDLE or STOPPED. Goes to stop server.

stopDetector(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
stopReceiver(self: _slsdet.CppDetectorApi) None
property stopport

Port number of the stop server on detector for detector-client tcp interface.

Note

Default is 1953. Normally unchanged.

property storagecell_delay

[Jungfrau] Additional time delay between 2 consecutive exposures in burst mode, accepts either a value in seconds, datetime.timedelta or DurationWrapper

Note

Only applicable for chipv1.0. For advanced users only

Value: 0-1638375 ns (resolution of 25ns)

getter

always returns in seconds. To get in DurationWrapper, use getStorageCellDelay

Example

>>> # setting directly in seconds
>>> d.storagecell_delay = 1.05
>>>
>>> # setting directly in seconds
>>> d.storagecell_delay = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.storagecell_delay = timedelta(seconds = 1, microseconds = 3)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.storagecell_delay = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.storagecell_delay = t
>>>
>>> # to get in seconds
>>> d.storagecell_delay
181.23
>>>
>>> d.getStorageCellDelay()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property storagecell_start

[Jungfrau] Storage cell that stores the first acquisition of the series.

Note

For advanced users only. Options 0-max. max is 15 (default) for chipv1.0 and 3 (default) for chipv1.1.

property subdeadtime

[Eiger] Dead time of EIGER subframes in 32 bit mode, accepts either a value in seconds, datetime.timedelta or DurationWrapper

Note

Subperiod = subexptime + subdeadtime.

getter

always returns in seconds. To get in DurationWrapper, use getSubDeadTime

Example

>>> # setting directly in seconds
>>> d.subdeadtime = 1.230203
>>>
>>> # setting directly in seconds
>>> d.subdeadtime = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.subdeadtime = timedelta(seconds = 1.23, microseconds = 203)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.subdeadtime = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.subdeadtime = t
>>>
>>> # to get in seconds
>>> d.subdeadtime
181.23
>>>
>>> d.getSubDeadTime()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property subexptime

[Eiger] Exposure time of EIGER subframes in 32 bit mode.

Note

Subperiod = subexptime + subdeadtime.

getter

always returns in seconds. To get in DurationWrapper, use getSubExptime

Example

>>> # setting directly in seconds
>>> d.subexptime = 1.230203
>>>
>>> # setting directly in seconds
>>> d.subexptime = 5e-07
>>>
>>> # using timedelta (up to microseconds precision)
>>> from datatime import timedelta
>>> d.subexptime = timedelta(seconds = 1.23, microseconds = 203)
>>>
>>> # using DurationWrapper to set in seconds
>>> from slsdet import DurationWrapper
>>> d.subexptime = DurationWrapper(1.2)
>>>
>>> # using DurationWrapper to set in ns
>>> t = DurationWrapper()
>>> t.set_count(500)
>>> d.subexptime = t
>>>
>>> # to get in seconds
>>> d.subexptime
181.23
>>>
>>> d.getSubExptime()
sls::DurationWrapper(total_seconds: 181.23 count: 181230000000)
property sync

[Jungfrau][Moench] Enables or disables synchronization between modules.

Note

Sync mode requires at least one master configured. Also requires flatband cabling between master and slave with termination board.

property syncclk

[Ctb] Sync clock in MHz.

Setter

Not implemented

property temp_control

[Jungfrau][Moench] Temperature control enable.

Note

Default is 0 (disabled).

If temperature crosses threshold temperature and temperature control is enabled, power to chip will be switched off and temperature event occurs.

To power on chip again, temperature has to be less than threshold temperature and temperature event has to be cleared/reset.

property temp_event

[Jungfrau][Moench] 1, if a temperature event occured.

Note

If temperature crosses threshold temperature and temperature control is enabled, power to chip will be switched off and temperature event occurs.

To power on chip again, temperature has to be less than threshold temperature and temperature event has to be cleared/reset.

setter

To clear the event, set it to 0.

property temp_threshold

[Jungfrau][Moench] Threshold temperature in degrees.

Note

If temperature crosses threshold temperature and temperature control is enabled, power to chip will be switched off and temperature event occurs.

To power on chip again, temperature has to be less than threshold temperature and temperature event has to be cleared/reset.

property templist

List of temperature enums (dacIndex) implemented for this detector.

property tempvalues

Gets the temp values for every temp for this detector.

property tengiga

[Eiger][Ctb][Mythen3] 10GbE Enable.

property threshold

[Eiger][Mythen3] Threshold in eV

To change settings as well or set threshold without trimbits, use setThresholdEnergy.

setter

It loads trim files from settingspath.

[Mythen3] An energy of -1 will pick up values from detector.

property timing

Set Timing Mode of detector. Enum: timingMode

Note

Default: AUTO_TIMING

[Jungfrau][Moench][Gotthard][Ctb][Gotthard2][Xilinx Ctb] AUTO_TIMING, TRIGGER_EXPOSURE

[Mythen3] AUTO_TIMING, TRIGGER_EXPOSURE, GATED, TRIGGER_GATED

[Eiger] AUTO_TIMING, TRIGGER_EXPOSURE, GATED, BURST_TRIGGER

property timing_info_decoder

[Jungfrau] [Jungfrau] Advanced Command and only for SWISSFEL and SHINE. Sets the bunch id or timing info decoder. Default is SWISSFEL. Enum: timingInfoDecoder

property timinglist

Gets the list of timing modes (timingMode) for this detector.

property timingsource

[Gotthard2] Timing source. Enum: timingSourceType

Note

Options: TIMING_INTERNAL, TIMING_EXTERNAL

Internal is crystaland external is system timing. Default is internal.

property top

[Eiger] Sets half module to top (1), else bottom.

Note

Advanced Function!

property transceiverenable

[CTB][Xilinx CTB] Transceiver Enable Mask. Enable for each 4 transceiver channel.

trigger()
property triggers

Number of triggers per aquire. Set timing mode to use triggers.

property triggersl

[Gotthard][Jungfrau][Moench][Mythen3][Gotthard2][CTB][Xilinx CTB] Number of triggers left in acquisition.

Note

Only when external trigger used.

setter

Not Implemented

property trimbits

[Eiger][Mythen3] Loads/Saves custom trimbit file to detector.

Note

If no extension specified, serial number of each module is attached.

setter

Loads the trimbit file to detector

getter

Saves the trimbits from the detector to file. Not implemented with ‘trimbits’. Use saveTrimbits().

Example

>>> d.trimbits = '/path_to_file/noise'
- 14:53:27.931 INFO: Settings file loaded: /path_to_file/noise.sn000
property trimen

[Eiger] List of trim energies, where corresponding default trim files exist in corresponding trim folders.

Example

>>> d.trimen
[]
>>> d.trimen = [4500, 5400, 6400]
>>> d.trimen
[4500, 5400, 6400]
property trimval

[Eiger][Mythen3] Set all trimbits to this value. Returns -1 if all trimbits are different values.

property tsamples

[CTB][Xilinx CTB] Number of transceiver samples expected.

property txdelay

[Eiger][Jungfrau][Moench][Mythen3] Set transmission delay for all modules in the detector using the step size provided.

Note

Sets up the following for every module:

[Eiger] txdelay_left to (2 * mod_index * n_delay),

[Eiger] txdelay_right to ((2 * mod_index + 1) * n_delay) and

[Eiger] txdelay_frame to (2 *num_modules * n_delay)

[Jungfrau][Moench][Mythen3] txdelay_frame to (num_modules * n_delay)

Please refer txdelay_left, txdelay_right and txdelay_frame for details.

property txdelay_frame

[Eiger][Jungfrau][Moench][Mythen3] Transmission delay of first udp packet being streamed out of the module.

Note

[Jungfrau][Moench] [0-31] Each value represents 1 ms.

[Eiger] Additional delay to txdelay_left and txdelay_right. Each value represents 10ns. Typical value is 50000.

[Mythen3] [0-16777215] Each value represents 8 ns (125 MHz clock), max is 134 ms.

property txdelay_left

[Eiger] Transmission delay of first packet in an image being streamed out of the module’s left UDP port.

Note

Each value represents 10ns. Typical value is 50000.

property txdelay_right

[Eiger] Transmission delay of first packet in an image being streamed out of the module’s right UDP port.

Note

Each value represents 10ns. Typical value is 50000.

property type

Returns detector type. Enum: detectorType [EIGER, JUNGFRAU, GOTTHARD, MOENCH, MYTHEN3, GOTTHARD2, CHIPTESTBOARD]

Setter

Not implemented

property udp_dstip

Ip address of the receiver (destination) udp interface.

Note

If ‘auto’ used, then ip is set to ip of rx_hostname.

To set IPs for individual modules, use setDestinationUDPIP.

Example

>>> d.udp_dstip = '192.168.1.110'
>>> d.udp_dstip
192.168.1.110
property udp_dstip2

[Jungfrau][Moench][Gotthard2] Ip address of the receiver (destination) udp interface 2.

Note

[Jungfrau][Moench] bottom half

[Gotthard2] veto debugging

If ‘auto’ used, then ip is set to ip of rx_hostname.

To set IPs for individual modules, use setDestinationUDPIP2.

Example

>>> d.udp_dstip2 = '10.1.1.185'
>>> d.udp_dstip2
10.1.1.185
property udp_dstmac

Mac address of the receiver (destination) udp interface.

Note

Not mandatory to set as udp_dstip retrieves it from slsReceiver process but must be set if you use a custom receiver (not slsReceiver).

To set MACs for individual modules, use setDestinationUDPMAC. Use router mac if router between detector and receiver.

Example

>>> d.udp_dstmac = '00:1b:31:01:8a:de'
d.udp_dstmac
00:1b:31:01:8a:de
property udp_dstmac2

[Jungfrau][Moench][Gotthard2] Mac address of the receiver (destination) udp interface 2.

Note

Not mandatory to set as udp_dstip2 retrieves it from slsReceiver process but must be set if you use a custom receiver (not slsReceiver).

To set MACs for individual modules, use setDestinationUDPMAC2.

[Jungfrau][Moench] bottom half

[Gotthard2] veto debugging

Use router mac if router between detector and receiver.

Example

>>> d.udp_dstmac2 = '00:1b:31:01:8a:de'
d.udp_dstmac2
00:1b:31:01:8a:de
property udp_dstport

Port number of the receiver (destination) udp interface.

Note

Default is 50001.

Ports for each module is calculated (incremented by 1 if no 2nd interface)

To set ports for individual modules, use setDestinationUDPPort.

property udp_dstport2

Port number of the receiver (destination) udp interface.

Note

Default is 50002.

[Eiger] right half

[Jungfrau][Moench] bottom half

[Gotthard2] veto debugging

Ports for each module is calculated (incremented by 2)

To set ports for individual modules, use setDestinationUDPPort2.

property udp_srcip

Ip address of the detector (source) udp interface.

Note

Must be same subnet as destination udp ip.

[Eiger] Set only for 10G. For 1G, detector will replace with its own DHCP IP address.

To set IPs for individual modules, use setSourceUDPIP.

Example

>>> d.udp_srcip = '192.168.1.127'
>>> d.udp_srcip
192.168.1.127
property udp_srcip2

[Jungfrau][Moench][Gotthard2] Ip address of the detector (source) udp interface 2.

Note

[Jungfrau][Moench] bottom half

[Gotthard2] veto debugging

Must be same subnet as destination udp ip2.

To set IPs for individual modules, use setSourceUDPIP2.

Example

>>> d.udp_srcip2 = '192.168.1.127'
>>> d.udp_srcip2
192.168.1.127
property udp_srcmac

Mac address of the receiver (source) udp interface.

Note

[Eiger] Do not set as detector will replace with its own DHCP Mac (1G) or DHCP Mac + 1 (10G).

To set MACs for individual modules, use setSourceUDPMAC.

Example

>>> d.udp_srcmac = '00:1b:31:01:8a:de'
d.udp_srcmac
00:1b:31:01:8a:de
property udp_srcmac2

[Jungfrau][Moench][Gotthard2] Mac address of the receiver (source) udp interface 2.

Note

[Jungfrau][Moench] bottom half

[Gotthard2] veto debugging

To set MACs for individual modules, use setSourceUDPMAC2.

Example

>>> d.udp_srcmac2 = '00:1b:31:01:8a:de'
d.udp_srcmac2
00:1b:31:01:8a:de
updateDetectorServer(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
updateFirmwareAndServer(self: _slsdet.CppDetectorApi, arg0: str, arg1: str, arg2: list[int] = []) None
updateKernel(self: _slsdet.CppDetectorApi, arg0: str, arg1: list[int] = []) None
property use_receiver
property user

Retrieve user details from shared memory (hostname, type, PID, User, Date)

property v_a

[Ctb][Xilinx Ctb] Power supply a in mV.

property v_b

[Ctb][Xilinx Ctb] Power supply b in mV.

property v_c

[Ctb][Xilinx Ctb] Power supply c in mV.

property v_d

[Ctb][Xilinx Ctb] Power supply d in mV.

property v_io

[Ctb][Xilinx Ctb] Power supply io in mV. Minimum 1200 mV.

Note

Must be the first power regulator to be set after fpga reset (on-board detector server start up).

property v_limit

[Ctb][Xilinx Ctb] Soft limit for power supplies (ctb only) and DACS in mV.

validateUDPConfiguration(self: _slsdet.CppDetectorApi, arg0: list[int] = []) None
property versions
property veto

[Gotthard2] Enable or disable veto data from chip.

Note

Default is 0.

property vetoalg

[Gotthard2] Algorithm used for veto. Enum: vetoAlgorithm, streamingInterface

Note

Options: (vetoAlgorithm): ALG_HITS (default), ALG_RAW (streamingInterface): ETHERNET_10GB, LOW_LATENCY_LINK

Example

>>> d.vetoalg = defs.ALG_HITS, defs.ETHERNET_10GB
property vetofile

[Gotthard2] Set veto reference for each 128 channels for specific chip.

The file should have 128 rows of gain index and 12 bit value in dec.

Example

d.vetofile = -1, ‘/path/to/file.txt’ #set for all chips d.vetofile = 3, ‘/path/to/file.txt’ # set for chip 3

property vetophoton

[Gotthard2] Set veto reference for 128 channels for chip ichip according to reference file and #photons and energy in keV.

Note

Arguments: (chip_index, n_photons, photon_energy, fname)

getter

Not Implemented

Example

>>> d.vetophoton = (2, 24, 2560, '/tmp/bla.txt')
property vetoref

[Gotthard2] Set veto reference for all 128 channels for all chips.

Example

>>> d.vetoref = chip, value
property vetostream

[Gotthard2] Enabling/ disabling veto interface

Note

Default: both off Options: NONE, LOW_LATENCY_LINK, 10GBE (debugging) Debugging interface also enables second interface in receiver (separate file), which also restarts zmq streaming if enabled.

property virtual

Setup with n virtual servers running on localhost starting with control port p

Note

Every virtual server will have a stop port (control port + 1)

Example

>>> d.virtual = n, p
property vthreshold

[Eiger][Mythen3] Detector threshold voltage for single photon counters in dac units.

Note

[Eiger] Sets vcmp_ll, vcmp_lr, vcmp_rl, vcmp_rr and vcp to the same value.

[Mythen3] Sets vth1, vth2 and vth3 to the same value for enabled counters.

writeAdcRegister(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: list[int] = []) None
writeRegister(self: _slsdet.CppDetectorApi, arg0: int, arg1: int, arg2: bool = False, arg3: list[int] = []) None
property zmqhwm

Client’s zmq receive high water mark. Default is the zmq library’s default (1000), can also be set here using -1. This is a high number and can be set to 2 for gui purposes. One must also set the receiver’s send high water mark to similar value. Final effect is sum of them.

Setting it via command line is useful only before zmq enabled (before opening gui).

property zmqip

Ip Address to listen to zmq data streamed out from receiver or intermediate process.

Note

Also restarts client zmq streaming if enabled.

Default is from rx_hostname.

Modified only when using an intermediate process after receiver.

Example

>>> d.zmqip
192.168.0.101
>>> d.zmqip = '192.168.0.101'
property zmqport

Port number to listen to zmq data streamed out from receiver or intermediate process.

Note

Also restarts client zmq streaming if enabled.

Default connects to receiver zmq streaming out port (30001).

Must be different for every detector (and udp port).

Multi command will automatically increment for individual modules, use setClientZmqPort.

Example

>>> d.zmqport
[30001, 30003]
>>> d.zmqport = 30002
>>> d.zmqport = [30002, 30004] #Set ports for the two first detectors