Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

det = Detector('tmoopal')
dgram[0].tmoopal[0].cfgscan.user.blacklevel (maybe cfgscan is similar to raw/fex: optionally present)
val = det.cfgscan.user.blacklevel(evt or step)
jumping works
"cfgscan" would be a detector base-class attribute only if being scanned
(no attribute if not being scanned!)

Implementation

1) Detectors, scan and epics, own EnvStore and their variables (e.g. motor1) an be accessed by det('motor1').

2) Detectors with cfgscan (configs[0].detName[0].cfgscan) also own EnvStore and the corresponding values (segment dependent) can be accessed by det.cfgscan.user.black_level(evt) for example.

This is done by EnvStore going through configs in __init__. Scan and epics EnvStores are hard-coded and any other detectors, if they have cfgscan in DrpClass level will also be there.

DetectorImpl uses EnvStore to decide if this detector should be added with hierarchical attributes so 2) can be achieved.