artdaq_core  v3_04_09
artdaq::FragmentGenerator Class Referenceabstract

Base class for all FragmentGenerators. More...

#include <artdaq-core/Generators/FragmentGenerator.hh>

Inheritance diagram for artdaq::FragmentGenerator:
artdaqtest::FragmentGeneratorTest

Public Member Functions

 FragmentGenerator ()=default
 Default Constructor.
 
virtual ~FragmentGenerator ()=default
 Default Destructor.
 
virtual bool getNext (FragmentPtrs &output)=0
 Obtain the next collection of Fragments. More...
 
virtual std::vector
< Fragment::fragment_id_t
fragmentIDs ()=0
 Which fragment IDs does this FragmentGenerator generate? More...
 

Detailed Description

Base class for all FragmentGenerators.

FragmentGenerator is an abstract class that defines the interface for obtaining events in artdaq. Subclasses are to override the (private) virtual functions; users of FragmentGenerator are to invoke the public (non-virtual) functions.

Definition at line 25 of file FragmentGenerator.hh.

Member Function Documentation

virtual std::vector<Fragment::fragment_id_t> artdaq::FragmentGenerator::fragmentIDs ( )
pure virtual

Which fragment IDs does this FragmentGenerator generate?

Returns
A std::vector of fragment_id_t

Each FragmentGenerator is responsible for one or more Fragment IDs. Fragment IDs should be unique in an event, and consistent for a given piece of hardware.

Implemented in artdaqtest::FragmentGeneratorTest.

virtual bool artdaq::FragmentGenerator::getNext ( FragmentPtrs output)
pure virtual

Obtain the next collection of Fragments.

Parameters
outputNew FragmentPtr objects will be added to this FragmentPtrs object.
Returns
False indicates end-of-data

Obtain the next collection of Fragments. Return false to indicate end-of-data. Fragments may or may not be in the same event; Fragments may or may not have the same FragmentID. Fragments will all be part of the same Run and SubRun.

Implemented in artdaqtest::FragmentGeneratorTest.


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