ChimeraTK-ApplicationCore
04.01.00
|
InvalidityTracer application module. More...
Namespaces | |
Model | |
Utilities | |
Classes | |
class | Accessor |
class | AccessorTypeTag |
class | AggregatableMessage |
Specialised ScalarOutput for sending event messages which can be aggregated by the EventMessageAggregator. More... | |
class | AnyType |
Pseudo type to identify nodes which can have arbitrary types. More... | |
class | Application |
class | ApplicationModule |
struct | Array |
class | ArrayAccessor |
Accessor for array variables (i.e. More... | |
struct | ArrayFunctorFill |
Functor to fill variableMap for arrays. More... | |
struct | ArrayOutput |
Convenience class for output array accessors (always UpdateMode::push) More... | |
struct | ArrayOutputPushRB |
Convenience class for output array accessors with return channel ("read
back") (always UpdateMode::push) More... | |
struct | ArrayOutputRB |
Deprecated, do not use. More... | |
struct | ArrayPipe |
Generic module to pipe through a scalar value without altering it. More... | |
struct | ArrayPollInput |
Convenience class for input array accessors with UpdateMode::poll. More... | |
struct | ArrayPushInput |
Convenience class for input array accessors with UpdateMode::push. More... | |
struct | ArrayPushInputWB |
Convenience class for input array accessors with return channel ("write
back") and UpdateMode::push. More... | |
class | ConfigParser |
struct | ConfigReader |
Generic module to read an XML config file and provide the defined values as constant variables. More... | |
class | ConnectionMaker |
class | ConstantAccessor |
Implementation of the NDRegisterAccessor which delivers always the same value and ignors any write operations. More... | |
struct | ConstMultiplier |
class | ConsumingFanOut |
FanOut implementation which acts as a read-only (i.e. More... | |
struct | DataLossCounter |
Module which gathers statistics on data loss inside the application. More... | |
class | DebugPrintAccessorDecorator |
Decorator of the NDRegisterAccessor which facilitates tests of the application. More... | |
class | DeviceManager |
Implements access to a ChimeraTK::Device. More... | |
class | DeviceModule |
struct | Divider |
class | EntityOwner |
Base class for owners of other EntityOwners (e.g. More... | |
class | EventMessageAggregator |
Module to aggregate messages from AggregatableMessage outputs. More... | |
struct | ExactMonitor |
Module for status monitoring of an exact value. More... | |
class | ExceptionHandlingDecorator |
Decorator of the NDRegisterAccessor which facilitates tests of the application. More... | |
class | FanOut |
Base class for several implementations which distribute values from one feeder to multiple consumers. More... | |
class | FanOutBase |
Type independent base. More... | |
class | FeedingFanOut |
NDRegisterAccessor implementation which distributes values written to this accessor out to any number of slaves. More... | |
struct | FixedLimitValue |
struct | FunctorFill |
Functor to fill variableMap. More... | |
struct | FunctorGetTypeForName |
struct | FunctorSetValues |
Functor to set values to the scalar accessors. More... | |
struct | FunctorSetValuesArray |
Functor to set values to the array accessors. More... | |
class | InternalModule |
Base class for internal modules which are created by the variable connection code (e.g. More... | |
struct | InvalidityTracer |
class | InversionOfControlAccessor |
Adds features required for inversion of control to an accessor. More... | |
struct | LimitValue |
struct | LimitValueModuleBase |
class | Logger |
struct | MaxMonitor |
Module for status monitoring depending on a maximum threshold value. More... | |
class | MetaDataPropagatingRegisterDecorator |
NDRegisterAccessorDecorator which propagates meta data attached to input process variables through the owning ApplicationModule. More... | |
class | MetaDataPropagationFlagProvider |
A mix-in helper class so you can set the flags without knowing the user data type. More... | |
struct | MinMonitor |
Module for status monitoring depending on a minimum threshold value. More... | |
class | Module |
Base class for ApplicationModule and DeviceModule, to have a common interface for these module types. More... | |
class | ModuleGroup |
class | ModuleTree |
struct | MonitorBase |
struct | Multiplier |
class | NetworkVisitor |
struct | PeriodicTrigger |
Simple periodic trigger that fires a variable once per second. More... | |
class | PushableStream |
A helper class to replace the output stream temporarily. More... | |
struct | PyApplicationCoreUnload |
class | PyApplicationModule |
class | PyArrayAccessor |
Helper class acting as a ArrayAccessor with a variant UserType. More... | |
class | PyConfigReader |
class | PyDataConsistencyGroup |
class | PyLogger |
class | PyLoggerStreamProxy |
PyLoggerStreamProxy. More... | |
class | PyModuleGroup |
class | PyOwnedObject |
Base class used for all objects in the Python world which can be owned by another object. More... | |
class | PyOwningObject |
Base class used for all objects in the Python world which can own other objects and can be owned themselves by one other object. More... | |
class | PyReadAnyGroup |
class | PyScalarAccessor |
class | PythonApplicationModuleTrampoline |
class | PythonModuleManager |
This class loads and unloads the Python modules as specified in the ConfigReader XML file, and creates the Python interpreter instance if necessary. More... | |
class | PyTransferElement |
class | PyTransferElementBase |
class | PyVariableGroup |
struct | RangeMonitor |
Module for status monitoring depending on range of threshold values. More... | |
struct | ReadSplitArrayModule |
Split an array of the data type TYPE into nGroups with each nElemsPerGroup elements. More... | |
struct | RecoveryHelper |
A Helper struct to store an accessor and a version number. More... | |
class | ScalarAccessor |
Accessor for scalar variables (i.e. More... | |
struct | ScalarOutput |
Convenience class for output scalar accessors (always UpdateMode::push) More... | |
struct | ScalarOutputPushRB |
Convenience class for output scalar accessors with return channel ("read back") (always UpdateMode::push) More... | |
struct | ScalarPipe |
Generic module to pipe through a scalar value without altering it. More... | |
struct | ScalarPollInput |
Convenience class for input scalar accessors with UpdateMode::poll. More... | |
struct | ScalarPushInput |
Convenience class for input scalar accessors with UpdateMode::push. More... | |
struct | ScalarPushInputWB |
Convenience class for input scalar accessors with return channel ("write back") and UpdateMode::push. More... | |
struct | ScriptedInitHandler |
Initialisation handler which calls an external application (usually a script), captures its output (both stdout and stderr) and publishes it in a control system variable. More... | |
class | SetDMapFilePath |
Helper class to set the DMAP file path. More... | |
struct | StatusAccessor |
Special StatusAccessor - used to avoid code duplication in StatusOutput, StatusPushInput and StatusPollInput. More... | |
struct | StatusAggregator |
The StatusAggregator collects results of multiple StatusMonitor instances and aggregates them into a single status, which can take the same values as the result of the individual monitors. More... | |
struct | StatusOutput |
Special ScalarOutput which represents a status which can be aggregated by the StatusAggregator. More... | |
struct | StatusPollInput |
Special StatusPollInput which reads from a StatusOutput and also handles the type conversion. More... | |
struct | StatusPushInput |
Special StatusPushInput which reads from a StatusOutput and also handles the type conversion. More... | |
struct | StatusWithMessage |
A VariableGroup for error status and message reporting. More... | |
struct | StatusWithMessageInput |
This is for consistent readout of StatusWithMessage - ApplicationCore version. More... | |
class | TestFacility |
Helper class to facilitate tests of applications based on ApplicationCore. More... | |
class | ThreadedFanOut |
FanOut implementation with an internal thread which waits for new data which is read from the given feeding implementation and distributed to any number of slaves. More... | |
class | ThreadedFanOutWithReturn |
Same as ThreadedFanOut but with return channel. More... | |
class | TriggerFanOut |
InternalModule which waits for a trigger, then reads a number of variables and distributes each of them to any number of slaves. More... | |
struct | UserInputValidator |
Class to realise the validation of user input values. More... | |
struct | Variable |
struct | VariableDirection |
Struct to define the direction of variables. More... | |
class | VariableGroup |
class | VariableNetworkNode |
Class describing a node of a variable network. More... | |
struct | VariableNetworkNode_data |
We use a pimpl pattern so copied instances of VariableNetworkNode refer to the same instance of the data structure and thus stay consistent all the time. More... | |
class | VariableNetworkNodeDumpingVisitor |
The VariableNetworkNodeDumpingVisitor class. More... | |
class | VersionInfoProvider |
This module can be added to applications to provide version information from the CMakeLists.txt file in a standardized manner. More... | |
class | Visitor |
class | Visitor< T > |
class | Visitor< T, Types... > |
class | VoidAccessor |
Accessor for void variables (i.e. More... | |
struct | VoidInput |
Convenience class for input accessors. More... | |
struct | VoidOutput |
Convenience class for output void (always UpdateMode::push) More... | |
struct | WriteSplitArrayModule |
Split an array of the data type TYPE into nGroups with each nElemsPerGroup elements. More... | |
class | XMLGenerator |
Generate XML representation of variables. More... | |
Typedefs | |
using | TAGS = const std::unordered_set< std::string > |
Convenience type definition which can optionally be used as a shortcut for the type which defines a list of tags. More... | |
template<typename UserType > | |
using | ConsumerImplementationPairs = std::list< std::pair< boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType > >, VariableNetworkNode > > |
using | VariableList = std::vector< Variable > |
using | ArrayList = std::vector< Array > |
Enumerations | |
enum | UpdateMode { UpdateMode::poll, UpdateMode::push, UpdateMode::invalid } |
Enum to define the update mode of variables. More... | |
enum | NodeType { NodeType::Device, NodeType::ControlSystem, NodeType::Application, NodeType::TriggerReceiver, NodeType::TriggerProvider, NodeType::Constant, NodeType::invalid } |
Enum to define types of VariableNetworkNode. More... | |
enum | LifeCycleState { LifeCycleState::initialisation, LifeCycleState::run, LifeCycleState::shutdown } |
Enum to define the life-cycle states of an Application. More... | |
Functions | |
DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (DebugPrintAccessorDecorator) | |
std::string | negateTag (const std::string &tag) |
negate tag using prefix '!' More... | |
DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (ExceptionHandlingDecorator) | |
Logger::StreamProxy | logger (Logger::Severity severity, std::string context) |
Convenience function to obtain the logger stream. More... | |
DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (MetaDataPropagatingRegisterDecorator) | |
PYBIND11_MODULE (PyApplicationCore, m) | |
INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (DebugPrintAccessorDecorator) | |
INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES (ExceptionHandlingDecorator) | |
Variables | |
constexpr auto | explicitDataValidityTag = "_ChimeraTK_NodeHasExplicitDataValidity" |
Special tag to designate that a not should not automatically take over DataValidity of its owning module. More... | |
InvalidityTracer application module.
General notes:
Generic modules for status monitoring.
This module can be instantiated in any application for the purpose of debugging unexpected stats of DataValidity::faulty.
Provide an aggregateable StatusOutputs which can have one of the four states: OFF, OK, WARNING, FAULT.
Multiple StatusOutputs can be aggregated using the StatusAggregator. StatusOutputs are typically provided by StatusMonitors, but also custom ApplicationModules can provide them.
For convenience, also StatusPushInputs and StatusPollInput are provided for use in custom ApplicationModules.
Each module monitors an input variable and depending upon the conditions reports four different states.
using ChimeraTK::ArrayList = typedef std::vector<Array> |
Definition at line 39 of file ConfigReader.cc.
using ChimeraTK::ConsumerImplementationPairs = typedef std::list<std::pair<boost::shared_ptr<ChimeraTK::NDRegisterAccessor<UserType> >, VariableNetworkNode> > |
using ChimeraTK::TAGS = typedef const std::unordered_set<std::string> |
Convenience type definition which can optionally be used as a shortcut for the type which defines a list of tags.
Definition at line 27 of file EntityOwner.h.
using ChimeraTK::VariableList = typedef std::vector<Variable> |
Definition at line 38 of file ConfigReader.cc.
|
strong |
Enum to define the life-cycle states of an Application.
Enumerator | |
---|---|
initialisation | Initialisation phase including ApplicationModule::prepare(). Single threaded operation. All devices are closed. |
run | Actual run phase with full multi threading. The state is entered right before the threads are launched, so there is no guarantee that the application threads have already reached a certain point. Devices will be opened after this point. |
shutdown | The application is in the process of shutting down. |
|
strong |
Enum to define types of VariableNetworkNode.
Enumerator | |
---|---|
Device | |
ControlSystem | |
Application | |
TriggerReceiver | |
TriggerProvider | |
Constant | |
invalid |
|
strong |
ChimeraTK::DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | DebugPrintAccessorDecorator | ) |
ChimeraTK::DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | ExceptionHandlingDecorator | ) |
ChimeraTK::DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | MetaDataPropagatingRegisterDecorator | ) |
ChimeraTK::INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | DebugPrintAccessorDecorator | ) |
ChimeraTK::INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES | ( | ExceptionHandlingDecorator | ) |
|
inline |
std::string ChimeraTK::negateTag | ( | const std::string & | tag | ) |
negate tag using prefix '!'
Definition at line 147 of file EntityOwner.cc.
ChimeraTK::PYBIND11_MODULE | ( | PyApplicationCore | , |
m | |||
) |
logic_error exception
DataType (with internal enum)
DataValidity
VersionNumber
TransferElementID
Define base classes so we can specify them in the derived class definitions, otherwise pybind11 seems to complain about not mentioning all base classes
PyTransferElementBase - a common base class for PyScalarAccessor and PyArrayAccessor
ReadAnyGroup
DataConsistencyGroup and DataConsistencyGroup::MatchingMode
Scalar accessors
Array accessors
Definition at line 73 of file PythonBindings.cc.
|
constexpr |
Special tag to designate that a not should not automatically take over DataValidity of its owning module.
Use e.g. for a StatusOutput which should indicate errors.
Definition at line 184 of file VariableNetworkNode.h.