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: 2025-12-21 13:07:08 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 "hsilibs/Types.hpp"
      12              : #include "HSIFrameProcessor.hpp"
      13              : 
      14              : #include "datahandlinglibs/concepts/DataHandlingConcept.hpp"
      15              : #include "datahandlinglibs/models/DataHandlingModel.hpp"
      16              : #include "datahandlinglibs/models/BinarySearchQueueModel.hpp"
      17              : #include "datahandlinglibs/models/DefaultRequestHandlerModel.hpp"
      18              : #include "datahandlinglibs/ReadoutLogging.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              :   {
      64            0 :     TLOG() << get_name() << "Initialize HSIDataHandlerModule FAILED! ";
      65            0 :     throw datahandlinglibs::FailedReadoutInitialization(ERS_HERE, get_name(), "OKS Config"); // 4 json ident
      66              :   }
      67              : 
      68            0 :   register_node( "data_handler", m_readout_impl);
      69              :   
      70            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting init() method";
      71            0 : }
      72              : 
      73              : void
      74            0 : HSIDataHandlerModule::do_conf(const CommandData_t& args)
      75              : {
      76            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_conf() method";
      77            0 :   m_readout_impl->conf(args);
      78            0 :   m_configured = true;
      79            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_conf() method";
      80            0 : }
      81              : 
      82              : void
      83            0 : HSIDataHandlerModule::do_scrap(const CommandData_t& args)
      84              : {
      85            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_scrap() method";
      86            0 :   m_readout_impl->scrap(args);
      87            0 :   m_configured = false;
      88            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_scrap() method";
      89            0 : }
      90              : void
      91            0 : HSIDataHandlerModule::do_start(const CommandData_t& args)
      92              : {
      93            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_start() method";
      94            0 :   m_run_marker.store(true);
      95            0 :   m_readout_impl->start(args);
      96              : 
      97            0 :   rcif::cmd::StartParams start_params = args.get<rcif::cmd::StartParams>();
      98            0 :   m_run_number = start_params.run;
      99            0 :   TLOG() << get_name() << " successfully started for run number " << m_run_number;
     100              : 
     101            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_start() method";
     102            0 : }
     103              : 
     104              : void
     105            0 : HSIDataHandlerModule::do_stop(const CommandData_t& args)
     106              : {
     107            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_stop() method";
     108            0 :   m_run_marker.store(false);
     109            0 :   m_readout_impl->stop(args);
     110            0 :   TLOG() << get_name() << " successfully stopped for run number " << m_run_number;
     111            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_stop() method";
     112            0 : }
     113              : 
     114              : void
     115            0 : HSIDataHandlerModule::do_record(const CommandData_t& args)
     116              : {
     117            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Entering do_issue_recording() method";
     118            0 :   m_readout_impl->record(args);
     119            0 :   TLOG_DEBUG(TLVL_ENTER_EXIT_METHODS) << get_name() << ": Exiting do_issue_recording() method";
     120            0 : }
     121              : 
     122              : } // namespace hsilibs
     123              : } // namespace dunedaq
     124              : 
     125            0 : DEFINE_DUNE_DAQ_MODULE(dunedaq::hsilibs::HSIDataHandlerModule)
        

Generated by: LCOV version 2.0-1