mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 19:30:03 +02:00
45 lines
1.2 KiB
Python
Executable File
45 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Testing setting dynamic range for Eiger.
|
|
If the detector is not Eiger the tests are skipped
|
|
"""
|
|
import pytest
|
|
import config_test
|
|
from fixtures import detector, eiger, jungfrau, eigertest, jungfrautest
|
|
from sls_detector.errors import DetectorValueError
|
|
|
|
|
|
@eigertest
|
|
def test_set_dynamic_range_and_make_acq(eiger):
|
|
eiger.exposure_time = 0.5
|
|
eiger.n_frames = 2
|
|
for dr in [4, 8, 16, 32]:
|
|
eiger.dynamic_range = dr
|
|
assert eiger.dynamic_range == dr
|
|
eiger.acq()
|
|
assert eiger.frames_caught == 2
|
|
|
|
|
|
@eigertest
|
|
def test_set_dynamic_range_raises(eiger):
|
|
with pytest.raises(DetectorValueError):
|
|
eiger.dynamic_range = 1
|
|
with pytest.raises(DetectorValueError):
|
|
eiger.dynamic_range = 75
|
|
with pytest.raises(DetectorValueError):
|
|
eiger.dynamic_range = -3
|
|
with pytest.raises(DetectorValueError):
|
|
eiger.dynamic_range = 12
|
|
|
|
@eigertest
|
|
def test_set_dynamic_range_reduces_speed(eiger):
|
|
eiger.readout_clock = 'Full Speed'
|
|
eiger.dynamic_range = 32
|
|
assert eiger.dynamic_range == 32
|
|
assert eiger.readout_clock == 'Quarter Speed'
|
|
|
|
eiger.dynamic_range = 16
|
|
assert eiger.dynamic_range == 16
|
|
assert eiger.readout_clock == 'Half Speed'
|