EPICS base calcout record

The calcout record is part of EPICS base: https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Calcout

Ophyd support for the EPICS calcout record

https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Calcout

Public Structures

UserCalcoutDevice(*args, **kwargs)

EPICS synApps XXX IOC setup of user calcouts: $(P):userCalcOut$(N)

UserCalcoutN(*args, **kwargs)

Single instance of the userCalcoutN database.

CalcoutRecord(*args, **kwargs)

EPICS base calcout record support in ophyd

CalcoutRecordChannel(*args, **kwargs)

channel of a calcout record: A-L

setup_gaussian_calcout(calcout, ref_signal)

setup calcout for noisy Gaussian

setup_incrementer_calcout(calcout[, scan, limit])

setup calcout record as an incrementer

setup_lorentzian_calcout(calcout, ref_signal)

setup calcout record for noisy Lorentzian

class apstools.synApps.calcout.CalcoutRecord(*args: Any, **kwargs: Any)[source]

EPICS base calcout record support in ophyd

reset()

set all fields to default values

See

https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Calcout

reset()[source]

set all fields to default values

class apstools.synApps.calcout.CalcoutRecordChannel(*args: Any, **kwargs: Any)[source]

channel of a calcout record: A-L

reset()

set all fields to default values

reset()[source]

set all fields to default values

class apstools.synApps.calcout.UserCalcoutDevice(*args: Any, **kwargs: Any)[source]

EPICS synApps XXX IOC setup of user calcouts: $(P):userCalcOut$(N)

reset()

set all fields to default values

calcout1

alias of apstools.synApps.calcout.UserCalcoutN

calcout10

alias of apstools.synApps.calcout.UserCalcoutN

calcout2

alias of apstools.synApps.calcout.UserCalcoutN

calcout3

alias of apstools.synApps.calcout.UserCalcoutN

calcout4

alias of apstools.synApps.calcout.UserCalcoutN

calcout5

alias of apstools.synApps.calcout.UserCalcoutN

calcout6

alias of apstools.synApps.calcout.UserCalcoutN

calcout7

alias of apstools.synApps.calcout.UserCalcoutN

calcout8

alias of apstools.synApps.calcout.UserCalcoutN

calcout9

alias of apstools.synApps.calcout.UserCalcoutN

reset()[source]

set all fields to default values

class apstools.synApps.calcout.UserCalcoutN(*args: Any, **kwargs: Any)[source]

Single instance of the userCalcoutN database.

apstools.synApps.calcout.setup_gaussian_calcout(calcout, ref_signal, center=0, width=1, scale=1, noise=0.05)[source]

setup calcout for noisy Gaussian

calculation:

D*(0.95+E*RNDM)/exp(((A-B)/C)^2)

PARAMETERS

calcout

object : instance of CalcoutRecord

ref_signal

object : instance of EpicsSignal used as A

center

float : EPICS record field B, default = 0

width

float : EPICS record field C, default = 1

scale

float : EPICS record field D, default = 1

noise

float : EPICS record field E, default = 0.05

apstools.synApps.calcout.setup_incrementer_calcout(calcout, scan=None, limit=100000)[source]

setup calcout record as an incrementer

PARAMETERS

calcout

object : instance of CalcoutRecord

scan

text or int or None : any of the EPICS record .SCAN values, or the index number of the value, set to default if None, default: .1 second

limit

int or None : set the incrementer back to zero when this number is reached (or passed), default: 100000

apstools.synApps.calcout.setup_lorentzian_calcout(calcout, ref_signal, center=0, width=1, scale=1, noise=0.05)[source]

setup calcout record for noisy Lorentzian

calculation:

D*(0.95+E*RNDM)/(1+((A-B)/C)^2)

PARAMETERS

calcout

object : instance of CalcoutRecord

ref_signal

object : instance of EpicsSignal used as A

center

float : EPICS record field B, default = 0

width

float : EPICS record field C, default = 1

scale

float : EPICS record field D, default = 1

noise

float : EPICS record field E, default = 0.05