DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
RawDataHandlerBase.hxx
Go to the documentation of this file.
1namespace dunedaq {
2namespace datahandlinglibs {
3
5 : m_configured(false)
6 , m_name(name)
7 , m_readout_impl(nullptr)
8 , m_run_marker{ false }
9{
10 /*
11 register_command("conf", &RawDataHandlerBase::do_conf);
12 register_command("scrap", &RawDataHandlerBase::do_scrap);
13 register_command("start", &RawDataHandlerBase::do_start);
14 register_command("stop_trigger_sources", &RawDataHandlerBase::do_stop);
15 register_command("record", &RawDataHandlerBase::do_record);
16 */
17}
18
19void
20RawDataHandlerBase::init(std::shared_ptr<appfwk::ConfigurationManager> cfg)
21{
22
24 << get_dlh_name() << ": Entering init() method";
26 if (modconf == nullptr) {
27 throw dunedaq::datahandlinglibs::FailedReadoutInitialization(ERS_HERE, get_dlh_name(), "not a DataHandlerModule");
28 }
30 if (m_readout_impl == nullptr) {
31 TLOG() << get_dlh_name() << "Initialize readout implementation FAILED! "
32 << "Failed to find specialization for given queue setup!";
33 throw dunedaq::datahandlinglibs::FailedReadoutInitialization(ERS_HERE, get_dlh_name(), ""); // 4 json ident
34 }
36 << get_dlh_name() << ": Exiting init() method";
37}
38
39// void
40// RawDataHandlerBase::get_info(opmonlib::InfoCollector& ci, int level)
41// {
42// m_readout_impl->get_info(ci, level);
43// }
44
45void
46RawDataHandlerBase::do_conf(const appfwk::DAQModule::CommandData_t& args)
47{
49 << get_dlh_name() << ": Entering do_conf() method";
50 m_readout_impl->conf(args);
51 m_configured = true;
53 << get_dlh_name() << ": Exiting do_conf() method";
54}
55
56void
57RawDataHandlerBase::do_scrap(const appfwk::DAQModule::CommandData_t& args)
58{
60 << get_dlh_name() << ": Entering do_scrap() method";
61 m_readout_impl->scrap(args);
62 m_configured = false;
64 << get_dlh_name() << ": Exiting do_scrap() method";
65}
66void
67RawDataHandlerBase::do_start(const appfwk::DAQModule::CommandData_t& args)
68{
70 << get_dlh_name() << ": Entering do_start() method";
71 m_run_marker.store(true);
72 m_readout_impl->start(args);
73 rcif::cmd::StartParams start_params = args.get<rcif::cmd::StartParams>();
74 m_run_number = start_params.run;
75 TLOG() << get_dlh_name() << " successfully started for run number " << m_run_number;
77 << get_dlh_name() << ": Exiting do_start() method";
78}
79
80void
81RawDataHandlerBase::do_stop(const appfwk::DAQModule::CommandData_t& args)
82{
84 << get_dlh_name() << ": Entering do_stop() method";
85 m_run_marker.store(false);
86 m_readout_impl->stop(args);
87 TLOG() << get_dlh_name() << " successfully stopped for run number " << m_run_number;
89 << get_dlh_name() << ": Exiting do_stop() method";
90}
91
92void
93RawDataHandlerBase::do_record(const appfwk::DAQModule::CommandData_t& args)
94{
96 << get_dlh_name() << ": Entering do_issue_recording() method";
97 m_readout_impl->record(args);
99 << get_dlh_name() << ": Exiting do_issue_recording() method";
100}
101
102} // namespace datahandlinglibs
103} // namespace dunedaq
#define ERS_HERE
virtual std::shared_ptr< dunedaq::datahandlinglibs::DataHandlingConcept > create_readout(const appmodel::DataHandlerModule *modconf, std::atomic< bool > &run_marker)=0
void do_conf(const appfwk::DAQModule::CommandData_t &)
RawDataHandlerBase(const std::string &name)
RawDataHandlerBase Constructor.
void init(std::shared_ptr< appfwk::ConfigurationManager > cfg)
void do_stop(const appfwk::DAQModule::CommandData_t &)
void do_start(const appfwk::DAQModule::CommandData_t &)
void do_scrap(const appfwk::DAQModule::CommandData_t &)
void do_record(const appfwk::DAQModule::CommandData_t &)
std::shared_ptr< datahandlinglibs::DataHandlingConcept > m_readout_impl
#define TLOG_DEBUG(lvl,...)
Definition Logging.hpp:116
#define TLOG(...)
Definition macro.hpp:21
The DUNE-DAQ namespace.