Source code for blissoda.bm08.exafs_plotter
from typing import Any
from typing import Dict
from typing import Optional
from ..exafs import scan_utils
from ..exafs.processor import ExafsProcessor
[docs]
class Bm08ExafsProcessor(ExafsProcessor):
def __init__(
self,
config: Optional[Dict[str, Any]] = None,
defaults: Optional[Dict[str, Any]] = None,
) -> None:
if defaults is None:
defaults = {}
defaults.setdefault(
"workflow", "/home/opd08/ewoks/resources/dau_bm08/online_exafs_plots.ows"
)
defaults.setdefault("queue", "online")
defaults.setdefault("_scan_type", "Kscan")
counters = defaults.setdefault("_counters", dict())
counters.setdefault(
"Kscan",
{
"mu_name": "I1_eh2",
"mon_name": "I0_eh2",
"min_log": True,
"energy_name": "energy",
"energy_unit": "keV",
},
)
super().__init__(config=config, defaults=defaults)
def _scan_type_from_scan(self, scan: scan_utils.ScanType) -> Optional[str]:
scan_parameters = scan.scan_info.get("scan_parameters", {})
return scan_parameters.get("scan_type")
def _multi_xas_scan(self, scan: scan_utils.ScanType) -> bool:
return False
def _multi_xas_subscan_size(self, scan: scan_utils.ScanType) -> int:
raise NotImplementedError