3#ifndef _CTBMisc_0_dunedaq__appmodel_0_appmodel_H_
4#define _CTBMisc_0_dunedaq__appmodel_0_appmodel_H_
25 class CTBRandomTrigger;
36#include "nlohmann/json.hpp"
52 virtual
void init(
bool init_children);
70 virtual
void print(
unsigned int offset,
bool print_header,
std::ostream& s) const;
117 std::lock_guard scoped_lock(
m_mutex);
132 std::lock_guard scoped_lock(
m_mutex);
141 inline static const std::string
s_pulser =
"pulser";
142 inline static const std::string
s_timing =
"timing";
161 std::lock_guard scoped_lock(
m_mutex);
166 std::ostringstream text;
167 text <<
"relationship \"" <<
s_pulser <<
"\" of object " <<
this <<
" is not set";
192 std::lock_guard scoped_lock(
m_mutex);
197 std::ostringstream text;
198 text <<
"relationship \"" <<
s_timing <<
"\" of object " <<
this <<
" is not set";
223 std::lock_guard scoped_lock(
m_mutex);
228 std::ostringstream text;
229 text <<
"relationship \"" <<
s_randomtrigger_1 <<
"\" of object " <<
this <<
" is not set";
254 std::lock_guard scoped_lock(
m_mutex);
259 std::ostringstream text;
260 text <<
"relationship \"" <<
s_randomtrigger_2 <<
"\" of object " <<
this <<
" is not set";
291 return obj.print_object(s);
const dunedaq::appmodel::CTBTiming * m_timing
static const std::string s_pulser
static const std::string & __get_pulser_str() noexcept
static const std::string s_timing
virtual void init(bool init_children)
static const std::string s_randomtrigger_1
static const std::string & s_class_name
static const std::string & __get_randomtrigger_1_str() noexcept
static const std::string & __get_randomtrigger_2_str() noexcept
void set_randomtrigger_2(const dunedaq::appmodel::CTBRandomTrigger *value)
Set "randomtrigger_2" relationship value.
static const std::string & __get_timing_str() noexcept
virtual std::vector< const Resource * > contained_resources() const override
nlohmann::json get_ctb_json(const dunedaq::confmodel::Session &session) const
const dunedaq::appmodel::CTBPulser * m_pulser
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...
const dunedaq::appmodel::CTBTiming * get_timing() const
Get "timing" relationship value.
static const std::string & __get_ch_status_str() noexcept
bool get_ch_status() const
Get "ch_status" attribute value.
friend class conffwk::DalFactory
void set_ch_status(bool value)
Set "ch_status" attribute value.
virtual ~CTBMisc() noexcept
const dunedaq::appmodel::CTBRandomTrigger * m_randomtrigger_2
const dunedaq::appmodel::CTBRandomTrigger * get_randomtrigger_2() const
Get "randomtrigger_2" relationship value.
void set_timing(const dunedaq::appmodel::CTBTiming *value)
Set "timing" relationship value.
const dunedaq::appmodel::CTBRandomTrigger * get_randomtrigger_1() const
Get "randomtrigger_1" relationship value.
const dunedaq::appmodel::CTBRandomTrigger * m_randomtrigger_1
friend class conffwk::DalObject
static const std::string s_randomtrigger_2
CTBMisc(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
static const std::string s_ch_status
const dunedaq::appmodel::CTBPulser * get_pulser() const
Get "pulser" relationship value.
void set_randomtrigger_1(const dunedaq::appmodel::CTBRandomTrigger *value)
Set "randomtrigger_1" relationship value.
void set_pulser(const dunedaq::appmodel::CTBPulser *value)
Set "pulser" relationship value.
void set_by_val(const std::string &name, T value)
Set attribute value.
The base class for any generated DAL object.
std::mutex m_mutex
Used to protect changes of DAL object.
ConfigObject p_obj
Config object used by given template object.
void check_init() const
Check and initialize object if necessary.
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
Generic configuration exception.
std::ostream & operator<<(std::ostream &s, const AVXAbsRunSumProcessor &obj)
std::vector< constCTBMisc * >::const_iterator CTBMiscIterator