artdaq::FragmentGenerator Class Reference

Base class for all FragmentGenerators. More...

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

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

List of all members.

Public Member Functions

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

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:
output New 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:

Generated on 6 Feb 2018 for artdaq_core by  doxygen 1.6.1