DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
build
appmodel
codegen
include
appmodel
HermesModule.hpp
Go to the documentation of this file.
1
// *** this file is generated by oksdalgen, do not modify it ***
2
3
#ifndef _HermesModule_0_dunedaq__appmodel_0_appmodel_H_
4
#define _HermesModule_0_dunedaq__appmodel_0_appmodel_H_
5
6
#include <stdint.h>
// to define 64 bits types
7
#include <iostream>
8
#include <sstream>
9
#include <string>
10
#include <map>
11
#include <vector>
12
13
#include "
conffwk/Configuration.hpp
"
14
#include "
conffwk/DalObject.hpp
"
15
16
// include files for classes used in inheritance hierarchy
17
18
#include "
confmodel/DaqModule.hpp
"
19
#include "
appmodel/IpbusDevice.hpp
"
20
21
// forward declaration for classes used in relationships and algorithms
22
23
namespace
dunedaq
{
24
namespace
appmodel
{
25
class
HermesDataSender
;
26
}
27
namespace
confmodel
{
28
class
NetworkInterface
;
29
}
30
}
31
32
33
namespace
dunedaq
{
34
namespace
appmodel
{
35
36
class
HermesModule
:
public
dunedaq::confmodel::DaqModule
,
public
dunedaq::appmodel::IpbusDevice
{
37
38
friend
class
conffwk::Configuration
;
39
friend
class
conffwk::DalObject
;
40
friend
class
conffwk::DalFactory
;
41
friend
class
conffwk::DalRegistry
;
42
43
protected
:
44
45
HermesModule
(
conffwk::DalRegistry
& db,
const
conffwk::ConfigObject
&
obj
)
noexcept
;
46
virtual
~HermesModule
() noexcept;
47
virtual
void
init
(
bool
init_children);
48
49
public:
50
52
53
static const
std
::
string
&
s_class_name
;
54
55
64
65
virtual
void
print
(
unsigned
int
offset
,
bool
print_header,
std
::ostream& s) const;
66
67
76
77
virtual
std
::vector<const
dunedaq
::
conffwk
::
DalObject
*>
get
(const
std
::
string
& name,
bool
upcast_unregistered = true) const;
78
79
80
protected:
81
82
bool
get
(const
std
::
string
& name,
std
::vector<const
dunedaq
::
conffwk
::
DalObject
*>& vec,
bool
upcast_unregistered,
bool
first_call) const;
83
84
85
private:
86
87
std
::vector<const
dunedaq
::
appmodel
::
HermesDataSender
*>
m_links
;
88
const
dunedaq
::
confmodel
::NetworkInterface*
m_destination
;
89
90
91
public:
92
93
// relationship names
94
95
inline static const
std
::
string
s_links
=
"links"
;
96
inline static const
std
::
string
s_destination
=
"destination"
;
97
98
static const
std
::
string
&
__get_links_str
() noexcept {
return
s_links
; }
99
static
const
std::string&
__get_destination_str
() noexcept {
return
s_destination
; }
100
101
107
108
const
std::vector<const dunedaq::appmodel::HermesDataSender*>&
109
get_links
()
const
110
{
111
std::lock_guard scoped_lock(
m_mutex
);
112
check
();
113
check_init
();
114
if
(
m_links
.empty())
115
{
116
std::ostringstream text;
117
text <<
"relationship \""
<<
s_links
<<
"\" of object "
<<
this
<<
" is empty"
;
118
throw
dunedaq::conffwk::Generic(
ERS_HERE
, text.str().c_str());
119
}
120
return
m_links
;
121
}
122
123
129
130
void
131
set_links
(
const
std::vector<const dunedaq::appmodel::HermesDataSender*>& value);
132
138
139
const
dunedaq::confmodel::NetworkInterface
*
140
get_destination
()
const
141
{
142
std::lock_guard scoped_lock(
m_mutex
);
143
check
();
144
check_init
();
145
if
(!
m_destination
)
146
{
147
std::ostringstream text;
148
text <<
"relationship \""
<<
s_destination
<<
"\" of object "
<<
this
<<
" is not set"
;
149
throw
dunedaq::conffwk::Generic(
ERS_HERE
, text.str().c_str());
150
}
151
return
m_destination
;
152
}
153
154
160
161
void
162
set_destination
(
const
dunedaq::confmodel::NetworkInterface
* value);
163
164
};
165
166
// out stream operator
167
168
inline
std::ostream&
operator<<
(std::ostream& s,
const
HermesModule
&
obj
)
169
{
170
return
obj
.print_object(s);
171
}
172
173
typedef
std::vector<const HermesModule*>::const_iterator
HermesModuleIterator
;
174
175
}
176
}
177
178
#endif
DalObject.hpp
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:141
dunedaq::appmodel::HermesDataSender
Definition
HermesDataSender.hpp:23
dunedaq::appmodel::HermesModule
Definition
HermesModule.hpp:36
dunedaq::appmodel::HermesModule::get_destination
const dunedaq::confmodel::NetworkInterface * get_destination() const
Get "destination" relationship value.
Definition
HermesModule.hpp:140
dunedaq::appmodel::HermesModule::get_links
const std::vector< const dunedaq::appmodel::HermesDataSender * > & get_links() const
Get "links" relationship value.
Definition
HermesModule.hpp:109
dunedaq::appmodel::HermesModule::s_links
static const std::string s_links
Definition
HermesModule.hpp:95
dunedaq::appmodel::HermesModule::set_links
void set_links(const std::vector< const dunedaq::appmodel::HermesDataSender * > &value)
Set "links" relationship value.
Definition
HermesModule.cpp:123
dunedaq::appmodel::HermesModule::init
virtual void init(bool init_children)
Definition
HermesModule.cpp:71
dunedaq::appmodel::HermesModule::HermesModule
HermesModule(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
Definition
HermesModule.cpp:32
dunedaq::appmodel::HermesModule::print
virtual void print(unsigned int offset, bool print_header, std::ostream &s) const
Print details of the HermesModule object.
Definition
HermesModule.cpp:43
dunedaq::appmodel::HermesModule::DalFactory
friend class conffwk::DalFactory
Definition
HermesModule.hpp:40
dunedaq::appmodel::HermesModule::get
virtual std::vector< const dunedaq::conffwk::DalObject * > get(const std::string &name, bool upcast_unregistered=true) const
Get values of relationships and results of some algorithms as a vector of dunedaq::conffwk::DalObject...
Definition
HermesModule.cpp:91
dunedaq::appmodel::HermesModule::s_destination
static const std::string s_destination
Definition
HermesModule.hpp:96
dunedaq::appmodel::HermesModule::~HermesModule
virtual ~HermesModule() noexcept
Definition
HermesModule.cpp:87
dunedaq::appmodel::HermesModule::m_destination
const dunedaq::confmodel::NetworkInterface * m_destination
Definition
HermesModule.hpp:88
dunedaq::appmodel::HermesModule::m_links
std::vector< const dunedaq::appmodel::HermesDataSender * > m_links
Definition
HermesModule.hpp:87
dunedaq::appmodel::HermesModule::DalObject
friend class conffwk::DalObject
Definition
HermesModule.hpp:39
dunedaq::appmodel::HermesModule::set_destination
void set_destination(const dunedaq::confmodel::NetworkInterface *value)
Set "destination" relationship value.
Definition
HermesModule.cpp:128
dunedaq::appmodel::HermesModule::s_class_name
static const std::string & s_class_name
Definition
HermesModule.hpp:53
dunedaq::appmodel::HermesModule::__get_destination_str
static const std::string & __get_destination_str() noexcept
Definition
HermesModule.hpp:99
dunedaq::appmodel::HermesModule::__get_links_str
static const std::string & __get_links_str() noexcept
Definition
HermesModule.hpp:98
dunedaq::appmodel::IpbusDevice
Definition
IpbusDevice.hpp:29
dunedaq::conffwk::DalObject
The base class for any generated DAL object.
Definition
DalObject.hpp:52
dunedaq::conffwk::DalObject::m_mutex
std::mutex m_mutex
Used to protect changes of DAL object.
Definition
DalObject.hpp:115
dunedaq::conffwk::DalObject::check
void check() const
Definition
DalObject.hpp:94
dunedaq::conffwk::DalObject::check_init
void check_init() const
Check and initialize object if necessary.
Definition
DalObject.hpp:412
dunedaq::conffwk::DalRegistry
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
Definition
DalRegistry.hpp:19
dunedaq::confmodel::DaqModule
Definition
DaqModule.hpp:34
dunedaq::confmodel::NetworkInterface
Definition
NetworkInterface.hpp:20
Configuration.hpp
conffwk entry point
offset
double offset
Definition
conversions-impl.hh:28
IpbusDevice.hpp
DaqModule.hpp
conffwk.ConfigObject
Definition
ConfigObject.py:1
conffwk.Configuration
Definition
Configuration.py:1
conffwk
Definition
__init__.py:1
dunedaq::appmodel
Definition
CardControllerWrapper.hpp:21
dunedaq::appmodel::HermesModuleIterator
std::vector< constHermesModule * >::const_iterator HermesModuleIterator
Definition
HermesModule.hpp:173
dunedaq::appmodel::operator<<
std::ostream & operator<<(std::ostream &s, const AVXAbsRunSumProcessor &obj)
Definition
AVXAbsRunSumProcessor.hpp:80
dunedaq::confmodel
Definition
DisabledResources.hpp:10
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::obj
msgpack::object obj
Definition
Serialization.hpp:257
std
Definition
SchemaUtils.hpp:118
Generated on
for DUNE-DAQ by
1.17.0