ChimeraTK-DeviceAccess 03.31.00
Loading...
Searching...
No Matches
LNMVariable.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2// SPDX-License-Identifier: LGPL-3.0-or-later
3#pragma once
4
5#include "TransferElement.h"
6
7#include <boost/shared_ptr.hpp>
8
9#include <mutex>
10
11namespace ChimeraTK {
12
13 namespace LNMBackend {
14 class MathPlugin;
15 }
16
17 struct LNMVariable {
22 template<typename T>
23 struct ValueTable {
24 std::vector<T> latestValue;
32 std::map<TransferElementID, cppext::future_queue<QueuedValue>> subscriptions;
33 };
35
37 std::mutex valueTable_mutex;
38
40 std::set<LNMBackend::MathPlugin*> usingFormulas;
41
44
46 bool isConstant{false};
47 };
48
49} /* namespace ChimeraTK */
A class to describe which of the supported data types is used.
Map of UserType to a class template with the UserType as template argument.
Class for generating and holding version numbers without exposing a numeric representation.
This header collects some conversion routines which should be useful both for ApplicationCore Python ...
DataValidity
The current state of the data.
Hold values of CONSTANT or VARIABLE types in a type-dependent table.
Definition LNMVariable.h:23
std::map< TransferElementID, cppext::future_queue< QueuedValue > > subscriptions
Definition LNMVariable.h:32
TemplateUserTypeMap< ValueTable > valueTable
Definition LNMVariable.h:34
bool isConstant
flag whether this variable is actaully a constant
Definition LNMVariable.h:46
std::mutex valueTable_mutex
Mutex one needs to hold while accessing valueTable.
Definition LNMVariable.h:37
ChimeraTK::DataType valueType
type of the variable
Definition LNMVariable.h:43
std::set< LNMBackend::MathPlugin * > usingFormulas
formulas which need updates after variable was written
Definition LNMVariable.h:40