DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
opmonlib
include
opmonlib
details
Utils.hxx
Go to the documentation of this file.
1
template
<
class
M>
2
M
dunedaq::opmonlib::from_entry
(
const
dunedaq::opmon::OpMonEntry
& e ) {
3
4
M ret;
5
6
if
( ret.GetTypeName() != e.
measurement
() ) {
7
throw
opmonlib::NameMismatch(
ERS_HERE
, ret.GetTypeName(), e.
measurement
());
8
}
9
10
from_entry
(ret, e);
11
12
return
ret;
13
}
14
15
16
template
<
class
T>
17
void
dunedaq::opmonlib::set_value
(google::protobuf::Message & m,
const
std::string & name, T value) {
18
19
const
auto
* descriptor_p = m.GetDescriptor();
20
const
auto
& des = *descriptor_p;
21
22
auto
field_p = des.FindFieldByName(name);
23
if
( ! field_p ) {
24
throw
MissingField(
ERS_HERE
, name, m.GetTypeName());
25
}
26
27
const
auto
* reflection_p = m.GetReflection();
28
const
auto
& ref = *reflection_p;
29
30
set_value
( ref, m, field_p, value );
31
32
}
33
34
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:141
dunedaq::opmon::OpMonEntry
Definition
opmon_entry.pb.h:693
dunedaq::opmon::OpMonEntry::measurement
const std::string & measurement() const
Definition
opmon_entry.pb.h:1749
dunedaq::opmonlib::set_value
void set_value(google::protobuf::Message &m, const std::string &name, T value)
Definition
Utils.hxx:17
dunedaq::opmonlib::from_entry
M from_entry(const dunedaq::opmon::OpMonEntry &)
Definition
Utils.hxx:2
Generated on
for DUNE-DAQ by
1.17.0