3#ifndef _RandomTCMakerConf_0_dunedaq__appmodel_0_appmodel_H_
4#define _RandomTCMakerConf_0_dunedaq__appmodel_0_appmodel_H_
43 virtual
void init(
bool init_children);
61 virtual
void print(
unsigned int offset,
bool print_header,
std::ostream& s) const;
111 std::lock_guard scoped_lock(
m_mutex);
126 std::lock_guard scoped_lock(
m_mutex);
143 std::lock_guard scoped_lock(
m_mutex);
159 std::lock_guard scoped_lock(
m_mutex);
170 struct Time_distribution {
171 inline static const std::string
KUniform =
"kUniform";
172 inline static const std::string
KPoisson =
"kPoisson";
185 std::lock_guard scoped_lock(
m_mutex);
201 std::lock_guard scoped_lock(
m_mutex);
225 std::lock_guard scoped_lock(
m_mutex);
230 std::ostringstream text;
231 text <<
"relationship \"" <<
s_tc_readout <<
"\" of object " <<
this <<
" is not set";
254 return obj.print_object(s);
void set_trigger_rate_hz(float value)
Set "trigger_rate_hz" attribute value. Trigger rate (in Hz) for the RandomTCMaker to produce the TCs.
void set_tc_readout(const dunedaq::appmodel::TCReadoutMap *value)
Set "tc_readout" relationship value. Configuration for the TC output type and the TC window size.
static const std::string & s_class_name
const std::string & get_time_distribution() const
Get "time_distribution" attribute value. Type of distribution used for random timestamps (uniform or ...
static const std::string & __get_trigger_rate_hz_str() noexcept
const dunedaq::appmodel::TCReadoutMap * get_tc_readout() const
Get "tc_readout" relationship value. Configuration for the TC output type and the TC window size.
std::string m_template_for
static const std::string & __get_template_for_str() noexcept
static const std::string s_tc_readout
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...
static const std::string s_time_distribution
void set_time_distribution(const std::string &value)
Set "time_distribution" attribute value. Type of distribution used for random timestamps (uniform or ...
friend class conffwk::DalFactory
static const std::string & __get_tc_readout_str() noexcept
void set_template_for(const std::string &value)
Set "template_for" attribute value.
friend class conffwk::DalObject
const dunedaq::appmodel::TCReadoutMap * m_tc_readout
static const std::string s_template_for
static const std::string s_trigger_rate_hz
virtual ~RandomTCMakerConf() noexcept
float get_trigger_rate_hz() const
Get "trigger_rate_hz" attribute value. Trigger rate (in Hz) for the RandomTCMaker to produce the TCs.
std::string m_time_distribution
static const std::string & __get_time_distribution_str() noexcept
const std::string & get_template_for() const
Get "template_for" attribute value.
RandomTCMakerConf(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
virtual void init(bool init_children)
void set_by_val(const std::string &name, T value)
Set attribute value.
void set_class(const std::string &name, const std::string &value)
Set attribute class value.
void set_enum(const std::string &name, const std::string &value)
Set attribute enumeration 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< constRandomTCMakerConf * >::const_iterator RandomTCMakerConfIterator
static const std::string KUniform
static const std::string KPoisson