artdaq  v3_07_01
art::ArtdaqOutput Class Referenceabstract

This is the base class for artdaq OutputModules, providing the serialization interface for art Events. More...

#include <artdaq/ArtModules/ArtdaqOutput.hh>

Inheritance diagram for art::ArtdaqOutput:
art::RootNetOutput art::TransferOutput

Public Member Functions

 ArtdaqOutput (fhicl::ParameterSet const &ps)
 ArtdaqOutput Constructor More...
 
virtual ~ArtdaqOutput ()=default
 Destructor More...
 

Protected Member Functions

virtual void openFile (FileBlock const &)
 Perform actions necessary for opening files. No-op, but derived classes may override More...
 
virtual void closeFile ()
 Perform actions necessary for closing files. No-op, but derived classes may override More...
 
virtual void respondToCloseInputFile (FileBlock const &)
 Perform actions nesessary after closing the input file. No-op, but derived classes may override More...
 
virtual void respondToCloseOutputFiles (FileBlock const &)
 Perform actions necessary after closing the output file(s). No-op, but derived classes may override More...
 
virtual void endJob ()
 Perform End-of-Job actions. No-op, but derived classes may override More...
 
virtual void beginRun (RunPrincipal const &rp) final
 Perform Begin Run actions. Derived classes should implement beginRun_ instead. More...
 
virtual void beginRun_ (RunPrincipal const &)
 Perform Begin Run actions. No-op, but derived classes may override More...
 
virtual void beginSubRun (SubRunPrincipal const &srp) final
 Perform Begin SubRun actions. Derived classes should implement beginSubRun_ instead. More...
 
virtual void beginSubRun_ (SubRunPrincipal const &)
 Perform Begin SubRun actions. No-op, but derived classes may override More...
 
virtual void event (EventPrincipal const &ep) final
 Perform actions for each event. Derived classes should implement event_ instead. More...
 
virtual void event_ (EventPrincipal const &)
 Perform actions for each event. No-op, but derived classes may override More...
 
virtual void write (EventPrincipal &ep) final
 Write an EventPrincipal to TBufferFile and send More...
 
virtual void writeRun (RunPrincipal &rp) final
 Write a RunPrincipal to TBufferFile and send More...
 
virtual void writeSubRun (SubRunPrincipal &srp) final
 Write a SubRunPrincipal to TBufferFile and send More...
 
void writeDataProducts (TBufferFile &msg, const Principal &principal, std::vector< BranchKey * > &bkv)
 Extract the data products from a Principal and write them to the TBufferFile More...
 
void extractProducts_ (Principal const &principal)
 Extract the list of Products from the given Principal More...
 
void send_init_message (History const &history)
 Send an init message downstream. Use the given History for initializing downstream art processes. More...
 
virtual void SendMessage (artdaq::Fragment::sequence_id_t sequenceId, artdaq::Fragment::type_t messageType, TBufferFile &msg)=0
 Send the serialized art Event downstream. Artdaq output modules should define this function. More...
 

Detailed Description

This is the base class for artdaq OutputModules, providing the serialization interface for art Events.

Definition at line 99 of file ArtdaqOutput.hh.

Constructor & Destructor Documentation

art::ArtdaqOutput::ArtdaqOutput ( fhicl::ParameterSet const &  ps)
inlineexplicit

ArtdaqOutput Constructor

Parameters
psParameterSet used to configure art::OutputModule

Definition at line 106 of file ArtdaqOutput.hh.

virtual art::ArtdaqOutput::~ArtdaqOutput ( )
virtualdefault

Destructor

Member Function Documentation

virtual void art::ArtdaqOutput::beginRun ( RunPrincipal const &  rp)
inlinefinalprotectedvirtual

Perform Begin Run actions. Derived classes should implement beginRun_ instead.

Parameters
rpRunPrincipal of new run

Definition at line 163 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::beginRun_ ( RunPrincipal const &  )
inlineprotectedvirtual

Perform Begin Run actions. No-op, but derived classes may override

Definition at line 171 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::beginSubRun ( SubRunPrincipal const &  srp)
inlinefinalprotectedvirtual

Perform Begin SubRun actions. Derived classes should implement beginSubRun_ instead.

Parameters
srpSubRunPrincipal of new subrun

Definition at line 177 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::beginSubRun_ ( SubRunPrincipal const &  )
inlineprotectedvirtual

Perform Begin SubRun actions. No-op, but derived classes may override

Definition at line 185 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::closeFile ( )
inlineprotectedvirtual

Perform actions necessary for closing files. No-op, but derived classes may override

Definition at line 131 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::endJob ( )
inlineprotectedvirtual

Perform End-of-Job actions. No-op, but derived classes may override

Definition at line 154 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::event ( EventPrincipal const &  ep)
inlinefinalprotectedvirtual

Perform actions for each event. Derived classes should implement event_ instead.

Parameters
epEventPrincipal of event

Definition at line 191 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::event_ ( EventPrincipal const &  )
inlineprotectedvirtual

Perform actions for each event. No-op, but derived classes may override

Definition at line 199 of file ArtdaqOutput.hh.

void art::ArtdaqOutput::extractProducts_ ( Principal const &  principal)
protected

Extract the list of Products from the given Principal

Parameters
principalPrincipal to extract products from

Definition at line 810 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::openFile ( FileBlock const &  )
inlineprotectedvirtual

Perform actions necessary for opening files. No-op, but derived classes may override

Definition at line 123 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::respondToCloseInputFile ( FileBlock const &  )
inlineprotectedvirtual

Perform actions nesessary after closing the input file. No-op, but derived classes may override

Definition at line 136 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::respondToCloseOutputFiles ( FileBlock const &  )
inlineprotectedvirtual

Perform actions necessary after closing the output file(s). No-op, but derived classes may override

Definition at line 145 of file ArtdaqOutput.hh.

void art::ArtdaqOutput::send_init_message ( History const &  history)
protected

Send an init message downstream. Use the given History for initializing downstream art processes.

Parameters
historyHistory to use for downstream art processes

Definition at line 252 of file ArtdaqOutput.hh.

virtual void art::ArtdaqOutput::SendMessage ( artdaq::Fragment::sequence_id_t  sequenceId,
artdaq::Fragment::type_t  messageType,
TBufferFile &  msg 
)
protectedpure virtual

Send the serialized art Event downstream. Artdaq output modules should define this function.

Parameters
sequenceIdSequence ID to use for event (event number)
messageTypeMessage Type (Fragment::DataFragmentType for events, other System types for control messages)
msgSerialized art Event

Implemented in art::RootNetOutput, and art::TransferOutput.

void art::ArtdaqOutput::write ( EventPrincipal &  ep)
finalprotectedvirtual

Write an EventPrincipal to TBufferFile and send

Parameters
epEventPrincipal to write

Definition at line 542 of file ArtdaqOutput.hh.

void art::ArtdaqOutput::writeDataProducts ( TBufferFile &  msg,
const Principal &  principal,
std::vector< BranchKey * > &  bkv 
)
protected

Extract the data products from a Principal and write them to the TBufferFile

Parameters
msgOutput TBufferFile
principalPrincipal from which to extract products
bkvBranch Keys for data products

Definition at line 407 of file ArtdaqOutput.hh.

void art::ArtdaqOutput::writeRun ( RunPrincipal &  rp)
finalprotectedvirtual

Write a RunPrincipal to TBufferFile and send

Parameters
rpRunPrincipal to write

Definition at line 643 of file ArtdaqOutput.hh.

void art::ArtdaqOutput::writeSubRun ( SubRunPrincipal &  srp)
finalprotectedvirtual

Write a SubRunPrincipal to TBufferFile and send

Parameters
srpSubRunPrincipal to write

Definition at line 704 of file ArtdaqOutput.hh.


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