MarlinMT  0.1.0
marlinmt::ReaderListener Class Reference

ReaderListener class. More...

#include <ReaderListener.h>

Inherits LCReaderListener.

Public Types

using EventFunction = std::function< void(std::shared_ptr< EventStore >)>
 
using RunHeaderFunction = std::function< void(std::shared_ptr< RunHeader >)>
 

Public Member Functions

 ReaderListener ()=default
 
 ~ReaderListener ()=default
 
 ReaderListener (const ReaderListener &)=delete
 
ReaderListeneroperator= (const ReaderListener &)=delete
 
void onEventRead (EventFunction func)
 Set the callback function to process on event read. More...
 
void onRunHeaderRead (RunHeaderFunction func)
 Set the callback function to process on run info read. More...
 

Protected Member Functions

void processEvent (std::shared_ptr< EVENT::LCEvent > event) override
 
void processRunHeader (std::shared_ptr< EVENT::LCRunHeader > rhdr) override
 

Private Attributes

EventFunction _onEventRead {nullptr}
 Callback function on event read. More...
 
RunHeaderFunction _onRunHeaderRead {nullptr}
 Callback function on run info read. More...
 

Detailed Description

ReaderListener class.

Simple implementation of a reader listener. Callback functions can be set using lambda function, std::function objects or resulting call of std::bind call.

Example with lambda functions:

ReaderListener listener ;
listener.onEventRead( [](std::shared_ptr<EventStore> event){
std::cout << "Read event uid " << event->uid() << std::endl ;
}) ;
listener.onRunHeaderRead( [](std::shared_ptr<RunHeader> rhdr){
std::cout << "Read run info no " << rhdr->runNumber() << std::endl ;
}) ;

Example with std::bind and custom class method:

using namespace std::placeholders ;
UserClass user ;
ReaderListener listener ;
listener.onEventRead( std::bind(&UserClass::processEvent, &user, _1) ) ;
listener.onRunHeaderRead( std::bind(&UserClass::processRunHeader, &user, _1) ) ;

Definition at line 47 of file ReaderListener.h.

Member Typedef Documentation

◆ EventFunction

using marlinmt::ReaderListener::EventFunction = std::function<void(std::shared_ptr<EventStore>)>

Definition at line 49 of file ReaderListener.h.

◆ RunHeaderFunction

using marlinmt::ReaderListener::RunHeaderFunction = std::function<void(std::shared_ptr<RunHeader>)>

Definition at line 50 of file ReaderListener.h.

Constructor & Destructor Documentation

◆ ReaderListener() [1/2]

marlinmt::ReaderListener::ReaderListener ( )
default

◆ ~ReaderListener()

marlinmt::ReaderListener::~ReaderListener ( )
default

◆ ReaderListener() [2/2]

marlinmt::ReaderListener::ReaderListener ( const ReaderListener )
delete

Member Function Documentation

◆ onEventRead()

void marlinmt::ReaderListener::onEventRead ( EventFunction  func)

Set the callback function to process on event read.

Definition at line 14 of file ReaderListener.cc.

References _onEventRead.

Referenced by marlinmt::LCIOFileSource::initialize().

◆ onRunHeaderRead()

void marlinmt::ReaderListener::onRunHeaderRead ( RunHeaderFunction  func)

Set the callback function to process on run info read.

Definition at line 20 of file ReaderListener.cc.

References _onRunHeaderRead.

Referenced by marlinmt::LCIOFileSource::initialize().

◆ operator=()

ReaderListener& marlinmt::ReaderListener::operator= ( const ReaderListener )
delete

◆ processEvent()

void marlinmt::ReaderListener::processEvent ( std::shared_ptr< EVENT::LCEvent >  event)
overrideprotected

Definition at line 26 of file ReaderListener.cc.

References _onEventRead, and jenkins_hash().

◆ processRunHeader()

void marlinmt::ReaderListener::processRunHeader ( std::shared_ptr< EVENT::LCRunHeader >  rhdr)
overrideprotected

Definition at line 44 of file ReaderListener.cc.

References _onRunHeaderRead.

Member Data Documentation

◆ _onEventRead

EventFunction marlinmt::ReaderListener::_onEventRead {nullptr}
private

Callback function on event read.

Definition at line 74 of file ReaderListener.h.

Referenced by onEventRead(), and processEvent().

◆ _onRunHeaderRead

RunHeaderFunction marlinmt::ReaderListener::_onRunHeaderRead {nullptr}
private

Callback function on run info read.

Definition at line 76 of file ReaderListener.h.

Referenced by onRunHeaderRead(), and processRunHeader().


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