pflib v3.9.5-8-gf71a60f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
DecodeAndWrite Class Referenceabstract

Consume an event packet, decode it, and then do something else. More...

#include <daq_run.h>

Inheritance diagram for DecodeAndWrite:
[legend]
Collaboration diagram for DecodeAndWrite:
[legend]

Public Member Functions

 DecodeAndWrite (int n_links)
 
virtual void consume (std::vector< uint32_t > &event) final
 Decode the input event packet into our pflib::packing::MultiSampleECONDEventPacket and then call write_event on it.
 
virtual void write_event (const pflib::packing::MultiSampleECONDEventPacket &ep)=0
 pure virtual function for writing out decoded event
 
- Public Member Functions inherited from DAQRunConsumer
virtual void start_run ()
 
virtual void end_run ()
 

Protected Attributes

mutable::pflib::logging::logger the_log_
 logging for warning messages on empty events
 

Private Attributes

pflib::packing::MultiSampleECONDEventPacket ep_
 event packet for decoding
 

Detailed Description

Consume an event packet, decode it, and then do something else.

This class holds the event packet for the user so that other code just needs to write functions that define how the decoded data should be written out.

Constructor & Destructor Documentation

◆ DecodeAndWrite()

DecodeAndWrite::DecodeAndWrite ( int n_links)
explicit
Parameters
[in]n_linksnumber of links is necessary for the ECOND event packet There are 2 output links for each ROC (no matter the setup), so you can use tgt->nrocs()*2 as a sensible default for this value.

Member Function Documentation

◆ consume()

void DecodeAndWrite::consume ( std::vector< uint32_t > & event)
finalvirtual

Decode the input event packet into our pflib::packing::MultiSampleECONDEventPacket and then call write_event on it.

Implements DAQRunConsumer.

◆ write_event()

virtual void DecodeAndWrite::write_event ( const pflib::packing::MultiSampleECONDEventPacket & ep)
pure virtual

pure virtual function for writing out decoded event

Implemented in DecodeAndBuffer, and DecodeAndWriteToCSV.


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