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 UserCalcoutN

calcout10#

alias of UserCalcoutN

calcout2#

alias of UserCalcoutN

calcout3#

alias of UserCalcoutN

calcout4#

alias of UserCalcoutN

calcout5#

alias of UserCalcoutN

calcout6#

alias of UserCalcoutN

calcout7#

alias of UserCalcoutN

calcout8#

alias of UserCalcoutN

calcout9#

alias of 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