LCOV - code coverage report
Current view: top level - artdaq/Application - DataLoggerCore.hh (source / functions) Coverage Total Hit
Test: artdaq.info.cleaned Lines: 0.0 % 5 0
Test Date: 2025-09-04 00:45:34 Functions: 0.0 % 4 0

            Line data    Source code
       1              : #ifndef artdaq_Application_MPI2_DataLoggerCore_hh
       2              : #define artdaq_Application_MPI2_DataLoggerCore_hh
       3              : 
       4              : #include "artdaq/Application/DataReceiverCore.hh"
       5              : 
       6              : namespace artdaq {
       7              : class DataLoggerCore;
       8              : }
       9              : 
      10              : /**
      11              :  * \brief DataLoggerCore implements the state machine for the DataLogger artdaq application.
      12              :  * DataLoggerCore processes incoming events in one of three roles: Data Logger, Online Monitor, or Dispatcher.
      13              :  */
      14              : class artdaq::DataLoggerCore : public DataReceiverCore
      15              : {
      16              : public:
      17              :         /**
      18              :          * \brief DataLoggerCore Constructor.
      19              :          */
      20            0 :         DataLoggerCore() = default;
      21              : 
      22              :         /**
      23              :          * \brief Copy Constructor is deleted
      24              :          */
      25              :         DataLoggerCore(DataLoggerCore const&) = delete;
      26              : 
      27              :         /**
      28              :          * Destructor.
      29              :          */
      30            0 :         ~DataLoggerCore()
      31            0 :         {
      32            0 :                 TLOG(TLVL_DEBUG + 32) << "Destructor";
      33            0 :         }
      34              : 
      35              :         /**
      36              :          * \brief Copy Assignment operator is deleted
      37              :          * \return DataLoggerCore copy
      38              :          */
      39              :         DataLoggerCore& operator=(DataLoggerCore const&) = delete;
      40              :         DataLoggerCore(DataLoggerCore&&) = delete;             ///< Move Constructor is deleted
      41              :         DataLoggerCore& operator=(DataLoggerCore&&) = delete;  ///< Move Assignment Operator is deleted
      42              : 
      43              :         /**
      44              :          * \brief Processes the initialize request.
      45              :          * \param pset ParameterSet used to configure the DataLoggerCore
      46              :          * \return Whether the initialize attempt succeeded
      47              :          *
      48              :          * \verbatim
      49              :          * DataLoggerCore accepts the following Parameters:
      50              :          * "daq" (REQUIRED): FHiCL table containing DAQ configuration
      51              :          *   "DataLogger" (REQUIRED): FHiCL table containing DataLogger paramters
      52              :          *     "expected_events_per_bunch" (REQUIRED): Number of events to collect before sending them to art
      53              :          *     "enq_timeout" (Default: 5.0): Maximum amount of time to wait while enqueueing events to the ConcurrentQueue
      54              :          *     "is_data_logger": True if the DataLogger is a Data Logger
      55              :          *     "is_online_monitor": True if the DataLogger is an Online Monitor. is_data_logger takes precedence
      56              :          *     "is_dispatcher": True if the DataLogger is a Dispatcher. is_data_logger and is_online_monitor take precedence
      57              :          *       NOTE: At least ONE of these three parameters must be specified.
      58              :          *     "inrun_recv_timeout_usec" (Default: 100000): Amount of time to wait for new events while running
      59              :          *     "endrun_recv_timeout_usec" (Default: 20000000): Amount of time to wait for additional events at EndOfRun
      60              :          *     "pause_recv_timeout_usec" (Default: 3000000): Amount of time to wait for additional events at PauseRun
      61              :          *     "onmon_event_prescale" (Default: 1): Only send 1/N events to art for online monitoring (requires is_data_logger: true)
      62              :          *     "verbose" (Default: true): Whether to print transition messages
      63              :          *   "metrics": FHiCL table containing configuration for MetricManager
      64              :          * "outputs" (REQUIRED): FHiCL table containing output parameters
      65              :          *   "normalOutput" (REQUIRED): FHiCL table containing default output parameters
      66              :          *     "fileName" (Default: ""): Name template of the output file. Used to determine output directory
      67              :          * \endverbatim
      68              :          *  Note that the "DataLogger" ParameterSet is also used to configure the EventStore. See that class' documentation for more information.
      69              :          */
      70              :         bool initialize(fhicl::ParameterSet const& pset) override;
      71              : };
      72              : 
      73              : #endif
      74              : 
      75              : //  LocalWords:  ds
        

Generated by: LCOV version 2.0-1