DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::appmodel::CTBoardConf Class Reference

#include <CTBoardConf.hpp>

Inheritance diagram for dunedaq::appmodel::CTBoardConf:
[legend]
Collaboration diagram for dunedaq::appmodel::CTBoardConf:
[legend]

Public Member Functions

virtual void print (unsigned int offset, bool print_header, std::ostream &s) const
 Print details of the CTBoardConf object.
 
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 pointers.
 
const dunedaq::appmodel::CTBSocketsget_sockets () const
 Get "sockets" relationship value.
 
void set_sockets (const dunedaq::appmodel::CTBSockets *value)
 Set "sockets" relationship value.
 
const dunedaq::appmodel::CTBSubsystemget_beam () const
 Get "beam" relationship value.
 
void set_beam (const dunedaq::appmodel::CTBSubsystem *value)
 Set "beam" relationship value.
 
const dunedaq::appmodel::CTBCRTSubsystemget_CRT () const
 Get "CRT" relationship value.
 
void set_CRT (const dunedaq::appmodel::CTBCRTSubsystem *value)
 Set "CRT" relationship value.
 
const dunedaq::appmodel::CTBPDSSubsystemget_pds () const
 Get "pds" relationship value.
 
void set_pds (const dunedaq::appmodel::CTBPDSSubsystem *value)
 Set "pds" relationship value.
 
const dunedaq::confmodel::GeoIdget_geo_id () const
 Get "geo_id" relationship value.
 
void set_geo_id (const dunedaq::confmodel::GeoId *value)
 Set "geo_id" relationship value.
 
nlohmann::json get_ctb_json (const dunedaq::confmodel::Session &session, std::optional< std::string > socket_host=std::nullopt) const
 
std::vector< const CTBHLT * > get_HLTs () const
 
std::vector< const CTBCountLLT * > get_CRT_LLTs () const
 
std::vector< const CTBLLT * > get_beam_LLTs () const
 
const CTBMiscget_misc () const
 
virtual void print (unsigned int offset, bool print_header, std::ostream &s) const
 Print details of the CTBoardConf object.
 
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 pointers.
 
const dunedaq::appmodel::CTBSocketsget_sockets () const
 Get "sockets" relationship value.
 
void set_sockets (const dunedaq::appmodel::CTBSockets *value)
 Set "sockets" relationship value.
 
const dunedaq::appmodel::CTBSubsystemget_beam () const
 Get "beam" relationship value.
 
void set_beam (const dunedaq::appmodel::CTBSubsystem *value)
 Set "beam" relationship value.
 
const dunedaq::appmodel::CTBCRTSubsystemget_CRT () const
 Get "CRT" relationship value.
 
void set_CRT (const dunedaq::appmodel::CTBCRTSubsystem *value)
 Set "CRT" relationship value.
 
const dunedaq::appmodel::CTBPDSSubsystemget_pds () const
 Get "pds" relationship value.
 
void set_pds (const dunedaq::appmodel::CTBPDSSubsystem *value)
 Set "pds" relationship value.
 
const dunedaq::confmodel::GeoIdget_geo_id () const
 Get "geo_id" relationship value.
 
void set_geo_id (const dunedaq::confmodel::GeoId *value)
 Set "geo_id" relationship value.
 
nlohmann::json get_ctb_json (const dunedaq::confmodel::Session &session, std::optional< std::string > socket_host=std::nullopt) const
 
std::vector< const CTBHLT * > get_HLTs () const
 
std::vector< const CTBCountLLT * > get_CRT_LLTs () const
 
std::vector< const CTBLLT * > get_beam_LLTs () const
 
const CTBMiscget_misc () const
 
- Public Member Functions inherited from dunedaq::confmodel::ResourceSetAND
- Public Member Functions inherited from dunedaq::confmodel::ResourceSet
const std::vector< const dunedaq::confmodel::ResourceBase * > & get_contains () const
 Get "contains" relationship value. A resource set is a container of resources to easily implement group operations (add/remove, enable/disable).
 
void set_contains (const std::vector< const dunedaq::confmodel::ResourceBase * > &value)
 Set "contains" relationship value. A resource set is a container of resources to easily implement group operations (add/remove, enable/disable).
 
const std::vector< const dunedaq::confmodel::ResourceBase * > & get_contains () const
 Get "contains" relationship value. A resource set is a container of resources to easily implement group operations (add/remove, enable/disable).
 
void set_contains (const std::vector< const dunedaq::confmodel::ResourceBase * > &value)
 Set "contains" relationship value. A resource set is a container of resources to easily implement group operations (add/remove, enable/disable).
 
- Public Member Functions inherited from dunedaq::confmodel::ResourceBase
- Public Member Functions inherited from dunedaq::confmodel::Component
void get_parents (const dunedaq::confmodel::Session &session, std::list< std::vector< const dunedaq::confmodel::Component * > > &parents) const
 
bool disabled (const dunedaq::confmodel::Session &session) const
 
void get_parents (const dunedaq::confmodel::Session &session, std::list< std::vector< const dunedaq::confmodel::Component * > > &parents) const
 
bool disabled (const dunedaq::confmodel::Session &session) const
 
- Public Member Functions inherited from dunedaq::conffwk::DalObject
const std::string & UID () const noexcept
 
const std::string & class_name () const noexcept
 
bool castable (const std::string &target) const noexcept
 
bool castable (const std::string *target) const noexcept
 
template<class TARGET >
const TARGET * cast () const noexcept
 Casts object to different class.
 
std::string full_name () const noexcept
 
const ConfigObjectconfig_object () const
 
DalRegistryregistry () const noexcept
 
Configurationconfiguration () const noexcept
 
void unread ()
 
void set (const ConfigObject &o) noexcept
 
void move (const std::string &at)
 
void rename (const std::string &new_id)
 
void p_hdr (std::ostream &s, unsigned int indent, const std::string &cl, const char *nm=nullptr) const
 print object headers
 
std::ostream & print_object (std::ostream &s) const
 print object details
 
void throw_init_ex (dunedaq::conffwk::Exception &ex)
 throw object initialisation exception (i.e.
 

Static Public Member Functions

static const std::string & __get_sockets_str () noexcept
 
static const std::string & __get_beam_str () noexcept
 
static const std::string & __get_CRT_str () noexcept
 
static const std::string & __get_pds_str () noexcept
 
static const std::string & __get_geo_id_str () noexcept
 
static const std::string & __get_sockets_str () noexcept
 
static const std::string & __get_beam_str () noexcept
 
static const std::string & __get_CRT_str () noexcept
 
static const std::string & __get_pds_str () noexcept
 
static const std::string & __get_geo_id_str () noexcept
 
- Static Public Member Functions inherited from dunedaq::confmodel::ResourceSet
static const std::string & __get_contains_str () noexcept
 
static const std::string & __get_contains_str () noexcept
 
- Static Public Member Functions inherited from dunedaq::conffwk::DalObject
static void p_null (std::ostream &s)
 print "(null)"
 
static void p_rm (std::ostream &s)
 print "(deleted object)"
 
static void p_error (std::ostream &s, dunedaq::conffwk::Exception &ex)
 print error text
 
static void throw_get_ex (const std::string &what, const std::string &class_name, const DalObject *obj)
 throw exception in generated get method (i.e.
 
static bool is_null (const DalObject *ref) noexcept
 check a pointer on DAL object is null
 

Static Public Attributes

static const std::string & s_class_name
 
static const std::string s_sockets = "sockets"
 
static const std::string s_beam = "beam"
 
static const std::string s_CRT = "CRT"
 
static const std::string s_pds = "pds"
 
static const std::string s_geo_id = "geo_id"
 
- Static Public Attributes inherited from dunedaq::confmodel::ResourceSetAND
static const std::string & s_class_name
 
- Static Public Attributes inherited from dunedaq::confmodel::ResourceSet
static const std::string & s_class_name
 
static const std::string s_contains = "contains"
 
- Static Public Attributes inherited from dunedaq::confmodel::ResourceBase
static const std::string & s_class_name
 
- Static Public Attributes inherited from dunedaq::confmodel::Component
static const std::string & s_class_name
 

Protected Member Functions

 CTBoardConf (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~CTBoardConf () noexcept
 
virtual void init (bool init_children)
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
 CTBoardConf (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~CTBoardConf () noexcept
 
virtual void init (bool init_children)
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
- Protected Member Functions inherited from dunedaq::confmodel::ResourceSetAND
 ResourceSetAND (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~ResourceSetAND () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
 ResourceSetAND (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~ResourceSetAND () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
- Protected Member Functions inherited from dunedaq::confmodel::ResourceSet
 ResourceSet (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~ResourceSet () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
 ResourceSet (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~ResourceSet () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
- Protected Member Functions inherited from dunedaq::confmodel::ResourceBase
 ResourceBase (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~ResourceBase () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
 ResourceBase (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~ResourceBase () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
- Protected Member Functions inherited from dunedaq::confmodel::Component
 Component (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~Component () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
 Component (conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
 
virtual ~Component () noexcept
 
bool get (const std::string &name, std::vector< const dunedaq::conffwk::DalObject * > &vec, bool upcast_unregistered, bool first_call) const
 
- Protected Member Functions inherited from dunedaq::conffwk::DalObject
 DalObject (DalRegistry &db, const ConfigObject &o) noexcept
 
virtual ~DalObject ()
 
void clear () noexcept
 
void check () const
 
bool is_deleted () const
 
void increment_created () noexcept
 
void increment_read () noexcept
 
void check_init () const
 Check and initialize object if necessary.
 
template<typename T >
void _set_object (const std::string &name, const T *value)
 Helper method for generated set single-value relationship methods.
 
template<typename T >
void _set_objects (const std::string &name, const std::vector< const T * > &value)
 Helper method for generated set multi-value relationship methods.
 
bool get_rel_objects (const std::string &name, bool upcast_unregistered, std::vector< const DalObject * > &objs) const
 Read relationship values as DAL objects using DAL factory.
 
bool get_algo_objects (const std::string &name, std::vector< const DalObject * > &objs) const
 Run algorithm and return result as DAL objects using DAL factory.
 

Private Attributes

const dunedaq::appmodel::CTBSocketsm_sockets
 
const dunedaq::appmodel::CTBSubsystemm_beam
 
const dunedaq::appmodel::CTBCRTSubsystemm_CRT
 
const dunedaq::appmodel::CTBPDSSubsystemm_pds
 
const dunedaq::confmodel::GeoIdm_geo_id
 

Friends

class conffwk::Configuration
 
class conffwk::DalObject
 
class conffwk::DalFactory
 
class conffwk::DalRegistry
 

Additional Inherited Members

- Protected Attributes inherited from dunedaq::conffwk::DalObject
std::mutex m_mutex
 Used to protect changes of DAL object.
 
bool p_was_read
 is true, if the object was read
 
DalRegistryp_registry
 Configuration object.
 
ConfigObject p_obj
 Config object used by given template object.
 
std::string p_UID
 Is used for template objects (see dqm_conffwk)
 

Detailed Description

Definition at line 48 of file CTBoardConf.hpp.

Constructor & Destructor Documentation

◆ CTBoardConf() [1/2]

dunedaq::appmodel::CTBoardConf::CTBoardConf ( conffwk::DalRegistry & db,
const conffwk::ConfigObject & obj )
protectednoexcept

Definition at line 35 of file CTBoardConf.cpp.

35 :
38 m_sockets (nullptr),
39 m_beam (nullptr),
40 m_CRT (nullptr),
41 m_pds (nullptr),
42 m_geo_id (nullptr)
43
44 {
45 ;
46 }
const dunedaq::appmodel::CTBSubsystem * m_beam
const dunedaq::appmodel::CTBCRTSubsystem * m_CRT
const dunedaq::appmodel::CTBPDSSubsystem * m_pds
const dunedaq::confmodel::GeoId * m_geo_id
const dunedaq::appmodel::CTBSockets * m_sockets
The base class for any generated DAL object.
Definition DalObject.hpp:45

◆ ~CTBoardConf() [1/2]

dunedaq::appmodel::CTBoardConf::~CTBoardConf ( )
protectedvirtualnoexcept

Definition at line 97 of file CTBoardConf.cpp.

98 {
99 }

◆ CTBoardConf() [2/2]

dunedaq::appmodel::CTBoardConf::CTBoardConf ( conffwk::DalRegistry & db,
const conffwk::ConfigObject & obj )
protectednoexcept

◆ ~CTBoardConf() [2/2]

virtual dunedaq::appmodel::CTBoardConf::~CTBoardConf ( )
protectedvirtualnoexcept

Member Function Documentation

◆ __get_beam_str() [1/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_beam_str ( )
inlinestaticnoexcept

Definition at line 117 of file CTBoardConf.hpp.

117{ return s_beam; }
static const std::string s_beam

◆ __get_beam_str() [2/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_beam_str ( )
inlinestaticnoexcept

Definition at line 117 of file CTBoardConf.hpp.

117{ return s_beam; }

◆ __get_CRT_str() [1/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_CRT_str ( )
inlinestaticnoexcept

Definition at line 118 of file CTBoardConf.hpp.

118{ return s_CRT; }
static const std::string s_CRT

◆ __get_CRT_str() [2/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_CRT_str ( )
inlinestaticnoexcept

Definition at line 118 of file CTBoardConf.hpp.

118{ return s_CRT; }

◆ __get_geo_id_str() [1/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_geo_id_str ( )
inlinestaticnoexcept

Definition at line 120 of file CTBoardConf.hpp.

120{ return s_geo_id; }
static const std::string s_geo_id

◆ __get_geo_id_str() [2/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_geo_id_str ( )
inlinestaticnoexcept

Definition at line 120 of file CTBoardConf.hpp.

120{ return s_geo_id; }

◆ __get_pds_str() [1/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_pds_str ( )
inlinestaticnoexcept

Definition at line 119 of file CTBoardConf.hpp.

119{ return s_pds; }
static const std::string s_pds

◆ __get_pds_str() [2/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_pds_str ( )
inlinestaticnoexcept

Definition at line 119 of file CTBoardConf.hpp.

119{ return s_pds; }

◆ __get_sockets_str() [1/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_sockets_str ( )
inlinestaticnoexcept

Definition at line 116 of file CTBoardConf.hpp.

116{ return s_sockets; }
static const std::string s_sockets

◆ __get_sockets_str() [2/2]

static const std::string & dunedaq::appmodel::CTBoardConf::__get_sockets_str ( )
inlinestaticnoexcept

Definition at line 116 of file CTBoardConf.hpp.

116{ return s_sockets; }

◆ get() [1/4]

std::vector< const dunedaq::conffwk::DalObject * > dunedaq::appmodel::CTBoardConf::get ( const std::string & name,
bool upcast_unregistered = true ) const
virtual

Get values of relationships and results of some algorithms as a vector of dunedaq::conffwk::DalObject pointers.

Parameters are:

Parameters
namename of the relationship or algorithm
Returns
value of relationship or result of algorithm
Exceptions
std::exceptionif there is no relationship or algorithm with such name in this and base classes

Reimplemented from dunedaq::confmodel::ResourceSetAND.

Definition at line 101 of file CTBoardConf.cpp.

102 {
103 std::vector<const dunedaq::conffwk::DalObject *> vec;
104
105 if (!get(name, vec, upcast_unregistered, true))
106 throw_get_ex(name, s_class_name, this);
107
108 return vec;
109 }
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_class_name
static void throw_get_ex(const std::string &what, const std::string &class_name, const DalObject *obj)
throw exception in generated get method (i.e.
Definition DalObject.cpp:82

◆ get() [2/4]

virtual std::vector< const dunedaq::conffwk::DalObject * > dunedaq::appmodel::CTBoardConf::get ( const std::string & name,
bool upcast_unregistered = true ) const
virtual

Get values of relationships and results of some algorithms as a vector of dunedaq::conffwk::DalObject pointers.

Parameters are:

Parameters
namename of the relationship or algorithm
Returns
value of relationship or result of algorithm
Exceptions
std::exceptionif there is no relationship or algorithm with such name in this and base classes

Reimplemented from dunedaq::confmodel::ResourceSetAND.

◆ get() [3/4]

bool dunedaq::appmodel::CTBoardConf::get ( const std::string & name,
std::vector< const dunedaq::conffwk::DalObject * > & vec,
bool upcast_unregistered,
bool first_call ) const
protected

Definition at line 111 of file CTBoardConf.cpp.

112 {
113 if (first_call)
114 {
115 std::lock_guard scoped_lock(m_mutex);
116
117 check();
118 check_init();
119
120 if (get_rel_objects(name, upcast_unregistered, vec))
121 return true;
122 }
123
124 if (ResourceSetAND::get(name, vec, upcast_unregistered, false)) return true;
125
126 if (first_call)
127 return get_algo_objects(name, vec);
128
129 return false;
130 }
bool get_rel_objects(const std::string &name, bool upcast_unregistered, std::vector< const DalObject * > &objs) const
Read relationship values as DAL objects using DAL factory.
Definition DalObject.cpp:8
std::mutex m_mutex
Used to protect changes of DAL object.
bool get_algo_objects(const std::string &name, std::vector< const DalObject * > &objs) const
Run algorithm and return result as DAL objects using DAL factory.
Definition DalObject.cpp:25
void check_init() const
Check and initialize object if necessary.

◆ get() [4/4]

bool dunedaq::appmodel::CTBoardConf::get ( const std::string & name,
std::vector< const dunedaq::conffwk::DalObject * > & vec,
bool upcast_unregistered,
bool first_call ) const
protected

◆ get_beam() [1/2]

const dunedaq::appmodel::CTBSubsystem * dunedaq::appmodel::CTBoardConf::get_beam ( ) const
inline

Get "beam" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 161 of file CTBoardConf.hpp.

162 {
163 std::lock_guard scoped_lock(m_mutex);
164 check();
165 check_init();
166 if (!m_beam)
167 {
168 std::ostringstream text;
169 text << "relationship \"" << s_beam << "\" of object " << this << " is not set";
170 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
171 }
172 return m_beam;
173 }
#define ERS_HERE
Generic configuration exception.

◆ get_beam() [2/2]

const dunedaq::appmodel::CTBSubsystem * dunedaq::appmodel::CTBoardConf::get_beam ( ) const
inline

Get "beam" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 161 of file CTBoardConf.hpp.

162 {
163 std::lock_guard scoped_lock(m_mutex);
164 check();
165 check_init();
166 if (!m_beam)
167 {
168 std::ostringstream text;
169 text << "relationship \"" << s_beam << "\" of object " << this << " is not set";
170 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
171 }
172 return m_beam;
173 }

◆ get_beam_LLTs() [1/2]

std::vector< const CTBLLT * > CTBoardConf::get_beam_LLTs ( ) const

Definition at line 267 of file CTBApplication.cpp.

267 {
268
269 std::vector<const CTBLLT*> ret;
270
271 auto vec = get_contains();
272
273 for ( auto & t : vec ) {
274 auto llt = t->cast<CTBLLT>();
275 auto count_llt = t->cast<CTBCountLLT>();
276 if ( (!count_llt) && (llt) ) {
277 ret.push_back(llt);
278 }
279 }
280
281 return ret;
282}
const TARGET * cast() const noexcept
Casts object to different class.
const std::vector< const dunedaq::confmodel::ResourceBase * > & get_contains() const
Get "contains" relationship value. A resource set is a container of resources to easily implement gro...

◆ get_beam_LLTs() [2/2]

std::vector< const CTBLLT * > dunedaq::appmodel::CTBoardConf::get_beam_LLTs ( ) const

◆ get_CRT() [1/2]

const dunedaq::appmodel::CTBCRTSubsystem * dunedaq::appmodel::CTBoardConf::get_CRT ( ) const
inline

Get "CRT" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 192 of file CTBoardConf.hpp.

193 {
194 std::lock_guard scoped_lock(m_mutex);
195 check();
196 check_init();
197 if (!m_CRT)
198 {
199 std::ostringstream text;
200 text << "relationship \"" << s_CRT << "\" of object " << this << " is not set";
201 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
202 }
203 return m_CRT;
204 }

◆ get_CRT() [2/2]

const dunedaq::appmodel::CTBCRTSubsystem * dunedaq::appmodel::CTBoardConf::get_CRT ( ) const
inline

Get "CRT" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 192 of file CTBoardConf.hpp.

193 {
194 std::lock_guard scoped_lock(m_mutex);
195 check();
196 check_init();
197 if (!m_CRT)
198 {
199 std::ostringstream text;
200 text << "relationship \"" << s_CRT << "\" of object " << this << " is not set";
201 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
202 }
203 return m_CRT;
204 }

◆ get_CRT_LLTs() [1/2]

std::vector< const CTBCountLLT * > CTBoardConf::get_CRT_LLTs ( ) const

Definition at line 250 of file CTBApplication.cpp.

250 {
251
252 std::vector<const CTBCountLLT*> ret;
253
254 auto vec = get_contains();
255
256 for ( auto & t : vec ) {
257 auto llt = t->cast<CTBCountLLT>();
258 if ( llt ) {
259 ret.push_back(llt);
260 }
261 }
262
263 return ret;
264}

◆ get_CRT_LLTs() [2/2]

std::vector< const CTBCountLLT * > dunedaq::appmodel::CTBoardConf::get_CRT_LLTs ( ) const

◆ get_ctb_json() [1/2]

nlohmann::json CTBoardConf::get_ctb_json ( const dunedaq::confmodel::Session & session,
std::optional< std::string > socket_host = std::nullopt ) const

create the json configuration for the board

Definition at line 285 of file CTBApplication.cpp.

285 {
286
287 nlohmann::json json;
288 json["sockets"] = get_sockets() -> get_ctb_json( socket_host );
289 json["misc"] = get_misc().get_ctb_json(session);
290
291 nlohmann::json hlt;
292
293 // constant block that we don't even want to configure
294 auto & mask = hlt["command_mask"];
295 mask["C"]="0x0";
296 mask["D"]="0x0";
297 mask["E"]="0x0";
298 mask["F"]="0x0";
299
300 auto hlts = get_HLTs();
301
302 std::list<nlohmann::json> json_hlts;
303 for ( const auto & hlt : hlts ) {
304 json_hlts.push_back(hlt->get_ctb_json(session));
305 }
306
307 hlt["trigger"] = nlohmann::json(json_hlts);
308
309 json["HLT"] = hlt;
310
311 // --------------------------
312 // Subsystems
313 // --------------------------
314
315 auto & subsystems = json["subsystems"];
316
317 // ---- Beam ----
318
319 auto & beam_block = subsystems["beam"] = get_beam() -> to_json(false, true);
320 std::list<nlohmann::json> json_beam_llts;
321 auto beam_llts = get_beam_LLTs();
322 for ( const auto & llt : beam_llts ) {
323 json_beam_llts.push_back(llt->get_ctb_json(session));
324 }
325
326 beam_block["triggers"] = nlohmann::json(json_beam_llts);
327
328 // ---- CRT ----
329
330 auto & crt_block = subsystems["crt"] = get_CRT() -> to_json(false, true);
331 std::list<nlohmann::json> json_crt_llts;
332 auto crt_llts = get_CRT_LLTs();
333 for ( const auto & llt : crt_llts ) {
334 json_crt_llts.push_back(llt->get_ctb_json(session));
335 }
336 crt_block["triggers"] = nlohmann::json(json_crt_llts);
337
338 // ---- PDS ----
339
340 subsystems["pds"] = get_pds() -> to_json(false, true);
341
342 nlohmann::json ret;
343 ret["ctb"] = json;
344
345 return ret;
346
347}
nlohmann::json get_ctb_json(const dunedaq::confmodel::Session &session) const
std::vector< const CTBLLT * > get_beam_LLTs() const
nlohmann::json get_ctb_json(const dunedaq::confmodel::Session &session, std::optional< std::string > socket_host=std::nullopt) const
const dunedaq::appmodel::CTBSubsystem * get_beam() const
Get "beam" relationship value.
const dunedaq::appmodel::CTBCRTSubsystem * get_CRT() const
Get "CRT" relationship value.
const dunedaq::appmodel::CTBSockets * get_sockets() const
Get "sockets" relationship value.
std::vector< const CTBCountLLT * > get_CRT_LLTs() const
std::vector< const CTBHLT * > get_HLTs() const
const dunedaq::appmodel::CTBPDSSubsystem * get_pds() const
Get "pds" relationship value.
const CTBMisc & get_misc() const
void to_json(data_t &j, const EndpointLocation &obj)
Definition Nljs.hpp:20

◆ get_ctb_json() [2/2]

nlohmann::json dunedaq::appmodel::CTBoardConf::get_ctb_json ( const dunedaq::confmodel::Session & session,
std::optional< std::string > socket_host = std::nullopt ) const

create the json configuration for the board

◆ get_geo_id() [1/2]

const dunedaq::confmodel::GeoId * dunedaq::appmodel::CTBoardConf::get_geo_id ( ) const
inline

Get "geo_id" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 254 of file CTBoardConf.hpp.

255 {
256 std::lock_guard scoped_lock(m_mutex);
257 check();
258 check_init();
259 if (!m_geo_id)
260 {
261 std::ostringstream text;
262 text << "relationship \"" << s_geo_id << "\" of object " << this << " is not set";
263 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
264 }
265 return m_geo_id;
266 }

◆ get_geo_id() [2/2]

const dunedaq::confmodel::GeoId * dunedaq::appmodel::CTBoardConf::get_geo_id ( ) const
inline

Get "geo_id" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 254 of file CTBoardConf.hpp.

255 {
256 std::lock_guard scoped_lock(m_mutex);
257 check();
258 check_init();
259 if (!m_geo_id)
260 {
261 std::ostringstream text;
262 text << "relationship \"" << s_geo_id << "\" of object " << this << " is not set";
263 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
264 }
265 return m_geo_id;
266 }

◆ get_HLTs() [1/2]

std::vector< const CTBHLT * > CTBoardConf::get_HLTs ( ) const

Definition at line 233 of file CTBApplication.cpp.

233 {
234
235 std::vector<const CTBHLT*> ret;
236
237 auto vec = get_contains();
238
239 for ( auto & t : vec ) {
240 auto hlt = t->cast<CTBHLT>();
241 if ( hlt ) {
242 ret.push_back(hlt);
243 }
244 }
245
246 return ret;
247}

◆ get_HLTs() [2/2]

std::vector< const CTBHLT * > dunedaq::appmodel::CTBoardConf::get_HLTs ( ) const

◆ get_misc() [1/2]

const CTBMisc & CTBoardConf::get_misc ( ) const

Definition at line 218 of file CTBApplication.cpp.

218 {
219
220 auto vec = get_contains();
221 for ( auto & t : vec) {
222 auto misc = t->cast<CTBMisc>();
223 if ( misc ) {
224 return *misc;
225 }
226 }
227
228 throw BadConf(ERS_HERE, "Missing Misc");
229
230}

◆ get_misc() [2/2]

const CTBMisc & dunedaq::appmodel::CTBoardConf::get_misc ( ) const

◆ get_pds() [1/2]

const dunedaq::appmodel::CTBPDSSubsystem * dunedaq::appmodel::CTBoardConf::get_pds ( ) const
inline

Get "pds" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 223 of file CTBoardConf.hpp.

224 {
225 std::lock_guard scoped_lock(m_mutex);
226 check();
227 check_init();
228 if (!m_pds)
229 {
230 std::ostringstream text;
231 text << "relationship \"" << s_pds << "\" of object " << this << " is not set";
232 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
233 }
234 return m_pds;
235 }

◆ get_pds() [2/2]

const dunedaq::appmodel::CTBPDSSubsystem * dunedaq::appmodel::CTBoardConf::get_pds ( ) const
inline

Get "pds" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 223 of file CTBoardConf.hpp.

224 {
225 std::lock_guard scoped_lock(m_mutex);
226 check();
227 check_init();
228 if (!m_pds)
229 {
230 std::ostringstream text;
231 text << "relationship \"" << s_pds << "\" of object " << this << " is not set";
232 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
233 }
234 return m_pds;
235 }

◆ get_sockets() [1/2]

const dunedaq::appmodel::CTBSockets * dunedaq::appmodel::CTBoardConf::get_sockets ( ) const
inline

Get "sockets" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 130 of file CTBoardConf.hpp.

131 {
132 std::lock_guard scoped_lock(m_mutex);
133 check();
134 check_init();
135 if (!m_sockets)
136 {
137 std::ostringstream text;
138 text << "relationship \"" << s_sockets << "\" of object " << this << " is not set";
139 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
140 }
141 return m_sockets;
142 }

◆ get_sockets() [2/2]

const dunedaq::appmodel::CTBSockets * dunedaq::appmodel::CTBoardConf::get_sockets ( ) const
inline

Get "sockets" relationship value.

Returns
the relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 130 of file CTBoardConf.hpp.

131 {
132 std::lock_guard scoped_lock(m_mutex);
133 check();
134 check_init();
135 if (!m_sockets)
136 {
137 std::ostringstream text;
138 text << "relationship \"" << s_sockets << "\" of object " << this << " is not set";
139 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
140 }
141 return m_sockets;
142 }

◆ init() [1/2]

void dunedaq::appmodel::CTBoardConf::init ( bool init_children)
protectedvirtual

Initialize object (method generated by genconffwk)

Parameters
init_childrenif true, initialize referenced objects

Reimplemented from dunedaq::confmodel::ResourceSetAND.

Definition at line 79 of file CTBoardConf.cpp.

80 {
81 ResourceSetAND::init(init_children);
82
83 TLOG_DEBUG(5) << "read object " << this << " (class " << s_class_name << ')';
84
85 try {
91 }
92 catch (dunedaq::conffwk::Exception & ex) {
93 throw_init_ex(ex);
94 }
95 }
void throw_init_ex(dunedaq::conffwk::Exception &ex)
throw object initialisation exception (i.e.
Definition DalObject.cpp:74
DalRegistry & p_registry
Configuration object.
ConfigObject p_obj
Config object used by given template object.
const T * _ref(ConfigObject &obj, const std::string &name, bool read_children)
Get signle value of object's relation and instantiate result with it (multi-thread safe).
#define TLOG_DEBUG(lvl,...)
Definition Logging.hpp:112

◆ init() [2/2]

virtual void dunedaq::appmodel::CTBoardConf::init ( bool init_children)
protectedvirtual

Initialize object (method generated by genconffwk)

Parameters
init_childrenif true, initialize referenced objects

Reimplemented from dunedaq::confmodel::ResourceSetAND.

◆ print() [1/2]

void dunedaq::appmodel::CTBoardConf::print ( unsigned int offset,
bool print_header,
std::ostream & s ) const
virtual

Print details of the CTBoardConf object.

Parameters are:

Parameters
offsetnumber of spaces to shift object right (useful to print nested objects)
print_headerif false, do not print object header (to print attributes of base classes)
soutput stream

Reimplemented from dunedaq::confmodel::ResourceSetAND.

Definition at line 49 of file CTBoardConf.cpp.

50 {
51 check_init();
52
53 try {
54 const std::string str(indent+2, ' ');
55
56 if (print_header)
57 p_hdr(s, indent, s_class_name, "dunedaq::appmodel");
58
59
60 // print direct super-classes
61
63
64
65 // print direct relationships
66
72 }
73 catch (dunedaq::conffwk::Exception & ex) {
75 }
76 }
void p_hdr(std::ostream &s, unsigned int indent, const std::string &cl, const char *nm=nullptr) const
print object headers
Definition DalObject.cpp:65
static void p_error(std::ostream &s, dunedaq::conffwk::Exception &ex)
print error text
Definition DalObject.cpp:59
virtual void print(unsigned int offset, bool print_header, std::ostream &s) const
Print details of the ResourceSetAND object.
void p_sv_rel(std::ostream &s, const std::string &str, const std::string &name, const DalObject *obj)
print weak single-value relationship

◆ print() [2/2]

virtual void dunedaq::appmodel::CTBoardConf::print ( unsigned int offset,
bool print_header,
std::ostream & s ) const
virtual

Print details of the CTBoardConf object.

Parameters are:

Parameters
offsetnumber of spaces to shift object right (useful to print nested objects)
print_headerif false, do not print object header (to print attributes of base classes)
soutput stream

Reimplemented from dunedaq::confmodel::ResourceSetAND.

◆ set_beam() [1/2]

void dunedaq::appmodel::CTBoardConf::set_beam ( const dunedaq::appmodel::CTBSubsystem * value)

Set "beam" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 137 of file CTBoardConf.cpp.

138 {
139 _set_object(s_beam, value);
140 }
void _set_object(const std::string &name, const T *value)
Helper method for generated set single-value relationship methods.

◆ set_beam() [2/2]

void dunedaq::appmodel::CTBoardConf::set_beam ( const dunedaq::appmodel::CTBSubsystem * value)

Set "beam" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

◆ set_CRT() [1/2]

void dunedaq::appmodel::CTBoardConf::set_CRT ( const dunedaq::appmodel::CTBCRTSubsystem * value)

Set "CRT" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 142 of file CTBoardConf.cpp.

143 {
144 _set_object(s_CRT, value);
145 }

◆ set_CRT() [2/2]

void dunedaq::appmodel::CTBoardConf::set_CRT ( const dunedaq::appmodel::CTBCRTSubsystem * value)

Set "CRT" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

◆ set_geo_id() [1/2]

void dunedaq::appmodel::CTBoardConf::set_geo_id ( const dunedaq::confmodel::GeoId * value)

Set "geo_id" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 152 of file CTBoardConf.cpp.

153 {
154 _set_object(s_geo_id, value);
155 }

◆ set_geo_id() [2/2]

void dunedaq::appmodel::CTBoardConf::set_geo_id ( const dunedaq::confmodel::GeoId * value)

Set "geo_id" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

◆ set_pds() [1/2]

void dunedaq::appmodel::CTBoardConf::set_pds ( const dunedaq::appmodel::CTBPDSSubsystem * value)

Set "pds" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 147 of file CTBoardConf.cpp.

148 {
149 _set_object(s_pds, value);
150 }

◆ set_pds() [2/2]

void dunedaq::appmodel::CTBoardConf::set_pds ( const dunedaq::appmodel::CTBPDSSubsystem * value)

Set "pds" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

◆ set_sockets() [1/2]

void dunedaq::appmodel::CTBoardConf::set_sockets ( const dunedaq::appmodel::CTBSockets * value)

Set "sockets" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Definition at line 132 of file CTBoardConf.cpp.

133 {
134 _set_object(s_sockets, value);
135 }

◆ set_sockets() [2/2]

void dunedaq::appmodel::CTBoardConf::set_sockets ( const dunedaq::appmodel::CTBSockets * value)

Set "sockets" relationship value.

Parameters
valuenew relationship value
Exceptions
dunedaq::conffwk::Generic,dunedaq::conffwk::DeletedObject

Friends And Related Symbol Documentation

◆ conffwk::Configuration

Definition at line 50 of file CTBoardConf.hpp.

◆ conffwk::DalFactory

conffwk::DalFactory
friend

Definition at line 52 of file CTBoardConf.hpp.

◆ conffwk::DalObject

Definition at line 51 of file CTBoardConf.hpp.

◆ conffwk::DalRegistry

Definition at line 53 of file CTBoardConf.hpp.

Member Data Documentation

◆ m_beam

const dunedaq::appmodel::CTBSubsystem * dunedaq::appmodel::CTBoardConf::m_beam
private

Definition at line 100 of file CTBoardConf.hpp.

◆ m_CRT

const dunedaq::appmodel::CTBCRTSubsystem * dunedaq::appmodel::CTBoardConf::m_CRT
private

Definition at line 101 of file CTBoardConf.hpp.

◆ m_geo_id

const dunedaq::confmodel::GeoId * dunedaq::appmodel::CTBoardConf::m_geo_id
private

Definition at line 103 of file CTBoardConf.hpp.

◆ m_pds

const dunedaq::appmodel::CTBPDSSubsystem * dunedaq::appmodel::CTBoardConf::m_pds
private

Definition at line 102 of file CTBoardConf.hpp.

◆ m_sockets

const dunedaq::appmodel::CTBSockets * dunedaq::appmodel::CTBoardConf::m_sockets
private

Definition at line 99 of file CTBoardConf.hpp.

◆ s_beam

static const std::string dunedaq::appmodel::CTBoardConf::s_beam = "beam"
inlinestatic

Definition at line 111 of file CTBoardConf.hpp.

◆ s_class_name

static const std::string & dunedaq::appmodel::CTBoardConf::s_class_name
static

The name of the configuration class.

Definition at line 65 of file CTBoardConf.hpp.

◆ s_CRT

static const std::string dunedaq::appmodel::CTBoardConf::s_CRT = "CRT"
inlinestatic

Definition at line 112 of file CTBoardConf.hpp.

◆ s_geo_id

static const std::string dunedaq::appmodel::CTBoardConf::s_geo_id = "geo_id"
inlinestatic

Definition at line 114 of file CTBoardConf.hpp.

◆ s_pds

static const std::string dunedaq::appmodel::CTBoardConf::s_pds = "pds"
inlinestatic

Definition at line 113 of file CTBoardConf.hpp.

◆ s_sockets

static const std::string dunedaq::appmodel::CTBoardConf::s_sockets = "sockets"
inlinestatic

Definition at line 110 of file CTBoardConf.hpp.


The documentation for this class was generated from the following files: