LCOV - code coverage report
Current view: top level - hsilibs/plugins - HSIDataHandlerModule.cpp (source / functions) Coverage Total Hit
Test: code.result Lines: 0.0 % 56 0
Test Date: 2026-10-11 15:05:20 Functions: 0.0 % 23 0

            Line data    Source code
       1              : /**
       2              :  * @file HSIDataHandlerModule.cpp HSIDataHandlerModule class implementation
       3              :  *
       4              :  * This is part of the DUNE DAQ , copyright 2020.
       5              :  * Licensing/copyright details are in the COPYING file that you should have
       6              :  * received with this code.
       7              :  */
       8              : 
       9              : #include "HSIDataHandlerModule.hpp"
      10              : 
      11              : #include "HSIFrameProcessor.hpp"
      12              : #include "hsilibs/Types.hpp"
      13              : 
      14              : #include "datahandlinglibs/ReadoutLogging.hpp"
      15              : #include "datahandlinglibs/concepts/DataHandlingConcept.hpp"
      16              : #include "datahandlinglibs/models/BinarySearchQueueModel.hpp"
      17              : #include "datahandlinglibs/models/DataHandlingModel.hpp"
      18              : #include "datahandlinglibs/models/DefaultRequestHandlerModel.hpp"
      19              : 
      20              : #include "appfwk/cmd/Nljs.hpp"
      21              : #include "logging/Logging.hpp"
      22              : #include "rcif/cmd/Nljs.hpp"
      23              : 
      24              : #include <memory>
      25              : #include <sstream>
      26              : #include <string>
      27              : #include <vector>
      28              : 
      29              : using namespace dunedaq::datahandlinglibs::logging;
      30              : 
      31              : namespace dunedaq {
      32              : namespace hsilibs {
      33              : 
      34            0 : HSIDataHandlerModule::HSIDataHandlerModule(const std::string& name)
      35              :   : DAQModule(name)
      36            0 :   , m_configured(false)
      37            0 :   , m_readout_impl(nullptr)
      38            0 :   , m_run_marker{ false }
      39              : {
      40            0 :   register_command("conf", &HSIDataHandlerModule::do_conf);
      41            0 :   register_command("scrap", &HSIDataHandlerModule::do_scrap);
      42            0 :   register_command("start", &HSIDataHandlerModule::do_start);
      43            0 :   register_command("stop_trigger_sources", &HSIDataHandlerModule::do_stop);
      44            0 :   register_command("record", &HSIDataHandlerModule::do_record);
      45            0 : }
      46              : 
      47              : void
      48            0 : HSIDataHandlerModule::init(std::shared_ptr<appfwk::ConfigurationManager> mcfg)
      49              : {
      50              : 
      51            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering init() method";
      52              : 
      53            0 :   namespace rol = dunedaq::datahandlinglibs;
      54              : 
      55            0 :   m_readout_impl = std::make_unique<rol::DataHandlingModel<
      56              :     hsilibs::HSI_FRAME_STRUCT,
      57              :     rol::DefaultRequestHandlerModel<hsilibs::HSI_FRAME_STRUCT, rol::BinarySearchQueueModel<hsilibs::HSI_FRAME_STRUCT>>,
      58              :     rol::BinarySearchQueueModel<hsilibs::HSI_FRAME_STRUCT>,
      59            0 :     hsilibs::HSIFrameProcessor>>(m_run_marker);
      60            0 :   m_readout_impl->init(mcfg->get_dal<appmodel::DataHandlerModule>(get_name()));
      61              : 
      62            0 :   if (m_readout_impl == nullptr) {
      63            0 :     TLOG() << get_name() << "Initialize HSIDataHandlerModule FAILED! ";
      64            0 :     throw datahandlinglibs::FailedReadoutInitialization(ERS_HERE, get_name(), "OKS Config"); // 4 json ident
      65              :   }
      66              : 
      67            0 :   register_node("data_handler", m_readout_impl);
      68              : 
      69            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting init() method";
      70            0 : }
      71              : 
      72              : void
      73            0 : HSIDataHandlerModule::do_conf(const CommandData_t& args)
      74              : {
      75            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_conf() method";
      76            0 :   m_readout_impl->conf(args);
      77            0 :   m_configured = true;
      78            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_conf() method";
      79            0 : }
      80              : 
      81              : void
      82            0 : HSIDataHandlerModule::do_scrap(const CommandData_t& args)
      83              : {
      84            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_scrap() method";
      85            0 :   m_readout_impl->scrap(args);
      86            0 :   m_configured = false;
      87            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_scrap() method";
      88            0 : }
      89              : void
      90            0 : HSIDataHandlerModule::do_start(const CommandData_t& args)
      91              : {
      92            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_start() method";
      93            0 :   m_run_marker.store(true);
      94            0 :   m_readout_impl->start(args);
      95              : 
      96            0 :   rcif::cmd::StartParams start_params = args.get<rcif::cmd::StartParams>();
      97            0 :   m_run_number = start_params.run;
      98            0 :   TLOG() << get_name() << " successfully started for run number " << m_run_number;
      99              : 
     100            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_start() method";
     101            0 : }
     102              : 
     103              : void
     104            0 : HSIDataHandlerModule::do_stop(const CommandData_t& args)
     105              : {
     106            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_stop() method";
     107            0 :   m_run_marker.store(false);
     108            0 :   m_readout_impl->stop(args);
     109            0 :   TLOG() << get_name() << " successfully stopped for run number " << m_run_number;
     110            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_stop() method";
     111            0 : }
     112              : 
     113              : void
     114            0 : HSIDataHandlerModule::do_record(const CommandData_t& args)
     115              : {
     116            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_issue_recording() method";
     117            0 :   m_readout_impl->record(args);
     118            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_issue_recording() method";
     119            0 : }
     120              : 
     121              : } // namespace hsilibs
     122              : } // namespace dunedaq
     123              : 
     124            0 : DEFINE_DUNE_DAQ_MODULE(dunedaq::hsilibs::HSIDataHandlerModule)
        

Generated by: LCOV version 2.0-1