DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
opmonlib
src
OpMonFacility.cpp
Go to the documentation of this file.
1
8
9
#include "
opmonlib/OpMonFacility.hpp
"
10
#include "
logging/Logging.hpp
"
11
12
using namespace
dunedaq::opmonlib
;
13
14
std::shared_ptr<OpMonFacility>
15
dunedaq::opmonlib::makeOpMonFacility
(std::string
const
& facility,
OptionalOrigin
o)
16
{
17
18
TLOG
() <<
"FACILITY = "
<< facility;
19
20
const
std::string hook =
"://"
;
21
auto
sep = facility.find(hook);
22
std::string scheme;
23
if
(sep == std::string::npos) {
// simple path
24
scheme =
"stdout"
;
25
}
else
{
// with scheme
26
scheme = facility.substr(0, sep);
27
}
28
29
std::string plugin_name = scheme +
"OpMonFacility"
;
30
static
cet::BasicPluginFactory bpf(
"duneOpMonFacility"
,
"make"
);
31
std::shared_ptr<OpMonFacility> os_ptr;
32
33
try
{
34
os_ptr = bpf.makePlugin<std::shared_ptr<OpMonFacility>>(plugin_name, facility, o);
35
}
catch
(
const
ers::Issue
& iexpt) {
36
throw
OpMonFacilityCreationFailed(
ERS_HERE
, plugin_name, iexpt);
37
}
catch
(
const
cet::exception& cexpt) {
38
throw
OpMonFacilityCreationFailedWithCause(
ERS_HERE
, plugin_name, cexpt.what());
39
}
catch
(...) {
// NOLINT JCF Jan-27-2021 violates letter of the law but not the spirit
40
throw
OpMonFacilityCreationFailed(
ERS_HERE
, plugin_name);
41
}
42
return
os_ptr;
43
}
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:127
OpMonFacility.hpp
ers::Issue
Base class for any user define issue.
Definition
Issue.hpp:76
Logging.hpp
TLOG
#define TLOG(...)
Definition
macro.hpp:21
dunedaq::opmonlib
Definition
BackendOpMonFacility.hpp:11
dunedaq::opmonlib::makeOpMonFacility
std::shared_ptr< OpMonFacility > makeOpMonFacility(std::string const &facility, OptionalOrigin=OptionalOrigin())
Definition
OpMonFacility.cpp:15
dunedaq::opmonlib::OptionalOrigin
std::optional< dunedaq::opmon::OpMonId > OptionalOrigin
Definition
OpMonFacility.hpp:86
Generated on
for DUNE-DAQ by
1.18.0